Ваши комментарии

Поставьте 0 в 

Настройка -> 5. Настройки таблиц и форм печати -> 2. Настройки для квитков -> Печатать квитки в Excel


Стоило вообще ради этого огород городить (копировать печатные формы)?  :)

Достаточно указать 2,7,15,16,14 в настройке Печатать таблицу по расчету НДФЛ 

и поставочный квиток "Расчетный листок (Общий) " распечатает тоже самое..

При отладке в процессе печати сообщения об ошибках были

Этот код должен был сделать процесс Excel видимым, если код был с самого начала...

  catch(...)
{
xls.Visible = true;
throw;
}


На нем у клиента КЗ периодически вылетает.

1)Поменьше пользуйтесь глобальными переменными

2)Проверьте, что у вас во всех массивах char хватает длины под хранение строки..

3)Попробуйте распечатать в режиме отладки.. (ctrl+alt+shift+f1)

Советую вам перейти на работу с функциями "обертками" - они более удобны + печать будет работать и для Excel и для OpenOffice/

Доступные функции перечислены в \Script\ofis_com.S

Пример использования:

Было:

SetupExcel()
{
  xls = CreateObject("Excel.Application");
//  GetCurrentDirectory(len,Dir);
  GetCommonZPL(Dir,len);
  nm = "tablbank\\CHIBSUM.xls";
  WorkDir = Dir + "\\";
  xls.Caption = OemToAnsi("Реестр");
  xls.Workbooks.Add(WorkDir+nm);
  wb = xls.Workbooks(1);
  wsh = wb.Worksheets.Item(1);

  return 0;
}

Стало:

SetupExcel()
{ char Dir[256]; GetCommonZPL(Dir,255); string nm =Dir+"\\tablbank\\CHIBSUM.xls";
tPrepereOfficeForWork();
tOpenXlsObjects(nm ,OemToAnsi("Реестр"));
tGetWshByIndex(1);
tWshSelect();
}

Было:

WriteToCell("BB61",ItogWsh);

Стало:

tWriteStringToCell("BB61",ItogWsh);

Было:

  wsh.Cells(1,1).Select();
cwsh = wb.Worksheets.Count();
wb.Worksheets.Item(cwsh).Visible = false;
wb.Worksheets.Item(1).Select();
wb.Worksheets.Item(1).Range("A1").Select();
xls.Visible = true;

Стало:

cwsh=tGetWshCount();
tGetWshByIndex(cwsh);
tWshVisible(false);
tGetWshByIndex(1);
tWshCellSelect(1,1);
tEndXlsWork(1);

1)+2)+3)

Значит квиток1.txt  - "битый"

Скопируйте саму форму квитка ( файл form0XX) из которой вы получили квиток1.txt

Вот готовая форма ( по вашему файлу квиток1.txt), которая в поставке печатает

form001

Если и она у вас не распечатает квиток- выложите сохраненку ЛС с настройками 

Добрый день.

Сегодня делал клиенту Excel-евскую форму справки

Видимо не доделали..

Поставочные формы выгружают excel

В процессе печати сообщений с ошибками не было?

Выложите свой скрипт..

Вы же видите, что блокнот открыл файл в "кривой" кодировке.

Откройте файл в редакторе, который умеет менять кодировку.

Например far, notepad++

Если у вас есть уже настроенный квиток и вы его хотите скопировать в другую базу - просто возьмите нужную форму квитка в каталоге T_KVITOK

1)кажется  что нет

2)в сетке для каждой категории можно завести отдельную строку... и в каждой строке задать свой коэф. для указанного месяца.

А вы где взяли квиток 1.txt?

Там текст в UFT кодировке, а КЗ работает с 866

Файл в нужной кодировке:

квиток 1.txt

Печатает так:

Я правильно понял, что "итог по таблице" посчитан верно 15767,82

Что означает "или настроить правильно"?

Если хотите убрать эту строку из печатной формы, то вам надо в печатной форме найти строку 

    #КОДВ=ПЕЧ_ТАБЛ(ИТОГ_ВЕДОМОСТИ) 

и закомментировать ее

Добрый день.

Что мы упустили ?

Вероятно квитки разные...

Для "скриптовых"  есть настройка 

Настройка -> 5. Настройки таблиц и форм печати -> 2. Настройки для квитков -> Печатать таблицу по расчету НДФЛ



 на рабочей версии клиента выходит так :

Не уловил разницы.. 

Что не так на версии клиента - суммы же вышли и за год и за текущий месяц.

Сервис поддержки клиентов работает на платформе UserEcho