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

В любом постоянно загруженном модуле.

Например в SCRIPT\user\USFUNCRW.S

Добрый день.

1)Любой отчет как правило формируется за календарный год. Т.е. в данном случае вам нужно сформировать отчет за 2017 г, потом отчет для 2018г и т.д.

2)Чтобы увеличить диапазон рабочего периода - нужно  поставить 120 в настройку 

"Число прошлых месяцев, доступных в ЛС" (Настройка -> 6. Общие настройки системы -> 5. Специальные настройки системы.)

Добрый день.

Стандартный подход:

1)Для каждого банка завести отдельное поле в к.ч. под номер счета

2)В работе с кассой добавить диалог для выбора банка

3)Сформированные ведомости передаете в нужный банк..

З.ы. Вариант с "зарплатным проектом" не позволяет завести несколько карт для разных банков

Добрый день.

Достаточно организовать цикл по месяцам..

         for (int mes=BegMonPer.GetAbs(); mes<=EndMonPer.GetAbs(); mes++)  
{
if (atoi(SUM_STR)==1)
TmpSum+=CollectSumm(iKod,0,mes,CL_MV | CL_EXACT);
else
TmpSum+=CollectSumm(iKod,mes,0,CL_M | CL_EXACT);

}//по месяцам периода

если заморочка с алиментами при этом остается - то да , еще один вид

Добавил в поставочный алгоритм расчет ставки через ras_normzar

В параметрах алгоритма нужно указать 

//-- параметр 1 - рассчитывать ставку через ras_normzar
//-- параметр 2 - столбец для расчета ставки через ras_normzar

ALGSYS.S

funcrw1.S

Добрый день

Почему именно свод, в не таблица/отчет за год?

Возможно-ли создать некую таблицу(справочник) которую читать в скрипте и по ключу(значению в колонке) получать данные для печати

Можно.

Например так:

double mrot=0.; //сумма мрот
Value_For_Table_Cod(86,0, data, mrot);

или

char key[256];sprintf(key,"%02d",osnCode);
char value[256];
GetValueClassifIfExist("TABLSET2\\Tabl13.sum",to_string(key),value,200,"Name","OsnCode");

или

GetManagers()
{
  var mapManagers = CreateObject("MapString");  mapManagers.Clear();
  char dir[256];  GetCommonZPL(dir,255);//определяем путь до сетевого ЗПЛ -справочник берем из него
  string filePath =dir+"\\TABLSET2\\Tabl7.sum";   // путь до справочника
  var tabl = CreateObject("CurPrnTbl"); tabl.InitialNameFile(to_string(filePath));
  // цикл по записям таблицы
  for (int zap=0; zap < tabl.Count_Rcr(); zap++)
  {
    int tn=atoi(tabl.TextS("FCtn",zap));
    if (!tn) 
      continue; //пропускаем пустые строки
 
    char str[256];sprintf(str,"%05d",tn);
    if (!mapManagers.IsExist(to_string(str)))
      mapManagers.Add(to_string(str),GetFio(tn));
  }
  return mapManagers;
} 

Добрый день.

Нужно поставить 1 в 

"Возможность печати за прошлые месяцы" (Настройка -> 5. Настройки таблиц и форм печати -> 2. Настройки для квитков)

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