&RVZN(N,2,0)=0; // 1 - расчитывать страховые взносы в форме; 0 - брать из ЛС (исчисленное значение)
//                 2 - если разность взносов взятых из ЛС и рассчитанных в форме больше 100 копеек
//                     берем рассчитанные взносы, иначе - из ЛС (исчисленные)
&UVMD(N,2,0)=0; // 1-вмененка не учитывается; 0-настройка отключена
&TEST(N,2,0)=0; // 1-ищем ЛС у которых разница между значением страховых взносов и значением БАЗА*ПРОЦЕНТ больше на значение TEST (т.е. TEST это любое положительное число); 0-настройка отключена
${ЗОНА(1. Наименование формы)  
// Форма РСВ-1 ПФР  
// 
// Расчет по начисленным и уплаченным страховым взносам на обязательное пенсионное страхование
// в Пенсионный фонд Российской Федерации, страховым взносам на обязательное медицинское
// страхование в Федеральный фонд обязательного медицинского страхования
// плательщиками страховых взносов,
// производящими выплаты и иные вознаграждения физическим лицам
// 
// Приложение к приказу Минтруда России от 28.12.2012 № 639н
// Зарегистрирован в Минюсте России 4 марта 2013 г. N 27441
//  
// Составляется и представляется ежеквартально (нарастающим итогом) до 15-го числа
// второго календарного месяца, следующего за отчетным периодом, в территориальный
// орган Пенсионного фонда Российской Федерации (далее - ПФР) по месту регистрации
// (в соответствии с пунктом 1 части 9 статьи 15 Федерального закона 212-ФЗ от 24.07.2009 в ред. Федерального закона от 08.12.2010 N 339-ФЗ)
$}ЗОНА(1. Наименование формы)  
${ЗОНА(2. Разделение доходов) 
// Разделение доходов, аптечные организации, экипажи судов, выделение ЕНВД
//
// В случае если в ЛС выделяется вмененный доход через процент а КЧ или каким-либо другим способом,
// а также в случае необходимости выделять в отдельный раздел 2 доходы фармацевтов или экипажей судов
// необходимо учитывать следующее:
//
// В ЛС должны быть заведены и действовать виды с алгоритмами 251, 252, 259 
// (в поставке виды с кодами 351, 352, 359)
// в "Специальных настройках расчета налога" должна быть заполнена строка 
// "Коды дохода учит. во вмененном доходе" - в том числе и для алгоритмов 241, 242 и 239 
// (в поставке виды с кодами 341, 342, 339)
// Виды без кода дохода отмененные символом "*" (звездочка без кавычек) в столбце Доп настройки налога
// должны быть отмечены символом "9" в столбце 24 специальной таблицы входимости
//
// Для выделения в отдельный раздел 2 следует в панели запроса кроме кода тарифа "01" отметить 
// код тарифа "52" или "53" или "11" или "15" в зависимости от выделяемого вида дохода.
//
// В случае если в организации два вида дохода и соответственно два тарифа УСН - 52 и ЕНВД - 53
// в панели запроса нужно отметить оба тарифа 52 и 53
// В этом случае доходы разделятся следующим способом - тот доход что учитываеся видами
// страховых взносов 341, 342 и 339 будет отнесен на код тарифа 52,
// доход который учитывается видами 351, 352 и 359 на код тарифа 53.
// Если нужно чтобы было наоборот, установите настройку "Учет ЕНВД" = 2
//
// Другой способ учета фармацевтов:
// В этом случае должна быть включена настройка "Для аптечных организаций"=1 и выбран код тарифа 11
// Дополнительно к коду тарифа 11 можно выбирать также коды 01, 52 и 53.
// Фармацевты определяются по полю кадровой части "код категории плательщика ПФР" - АСБ
// Для фармацевтов нужно завести свои наборы алгоритмов страховых взносов с соответствующими буквами 
// обозначающими вид налога, со своими процентными ставками.
// Весь доход фармацевтов идет на код тарифа 11.
// Доход не фармацевтов может может разделяться по кодам тарифа 01-53, 52-53
// 
$}ЗОНА(2. Разделение доходов) 
//
${ЗОНА(3. Раздел 3.5 - СМИ) 
// При заполнении раздела 3.5 нужно учитывать следующее:
// - указывать номер по порядку;
// - в столбце "Наименование вида экономической деятельности с указанием кода ОКВЭД"
//   указать код ОКВЭД, затем через пробел наименование вида экономической деятельности, 
//   например, 
//   92.20 Деятельность в области радиовещания и телевидения
$}ЗОНА(3. Раздел 3.5 - СМИ)
//
${ЗОНА(4. Настройки)
// Настройки формы находятся в разделе "Настройка","Настройки таблиц и форм печати"
$}ЗОНА(4. Настройки)
//
// Для организаций инвалидов 
&OINV(N,2,0)=0; // 1-для общественных организаций инвалидов (в том числе созданных как союзы общественных организаций инвалидов) 
//                 2-для организаций, уставный капитал которых полностью состоит из вкладов общественных организаций инвалидов 
//                 0-предприятие не является организацией инвалидов 
&REST(N,2,0)=0; // 1-печатать реестр; 0-не печатать 
#DNPD(C,10,0)=R_String(01.01.1980); // дата начала деятельности предприятия (нужна для правильного определения расчетного периода (для расчета численности за период) в случае если предприятие работает не весь год) 
&INSP(N,2,0)=1; // 0-на одного инвалида одна строка в списке; 1-на кажного инвалида в списке столько строк сколько справок в расчетном периоде; -1 одна строка для одного человека но берутся даты последней справки (если их несколько в периоде)
&SINV(N,2,0)=1; // 1-ставим полную сумму дохода; 0-облагаемую сумму 
// Учет льгот в доп.взносах в ПФ
&LGTD(N,2,0)=0; // 0-льготы учитываются в тех месяцах где есть облагаемый доход
//                 1-льготы учитываются в тех месяцах где установлен соответствующий сатус для доп.взносов в ПФ в кадровой части
//
&VERF(N,2,0)=0; // 1-печатать все листы раздела 3; 2-в дополнение к 1 печатать незаполненные листы раздела 2; 0-настройка отключена
// Для инвалидов, раздел 3.1 столбцы 5-8 
&FLV(N,2,0)=0;  // 1 - прием из файла включен; 0 - отключен
&SplitInvFromSpec(N,2,0)=0; // отделять (1) инвалидов в организации со спец.режимом и в орг. инвалидов (OINV > 0) или нет (0)
&FARM(N,2,0)=0; // 1-аптечная организация (учет кода плательщика ПФ АСБ из КЧ); 0-не аптечная организация
&ENVD(N,2,0)=0; // 1-выделять вмененку в отдельный раздел 2 - для этого в панели запроса нужно отметить тариф 52 или 53 (дополнительно к 01)
//                 0-настройка отключена
$BEG_SCRIPT 

 FLV  = GetCommonCnfInt("FLV", "rsv1");
 OINV = GetCommonCnfInt("OINV","rsv1");
 LGTD = GetCommonCnfInt("LGTD","rsv1");
 VERF = GetCommonCnfInt("VERF","rsv1");
 FARM = GetCommonCnfInt("FARM","rsv1");
 ENVD = GetCommonCnfInt("ENVD","rsv1");
 SplitInvFromSpec = GetCommonCnfInt("SPLIT_INV","rsv1");
 
$END_SCRIPT 
//
&ITORG(N,2,0)=0;// 1 - IT организация; 0 - остальные организации 
&PINV(N,2,0)=2; // 2-данные раздела 4.1 корректируются т.о. чтобы итоговые суммы были равны соответствующим показателям строки 300
//                 1-допускается корректировка нулевых значений (при 2 корректируются только ненулевые значения)
//                 0-настройка отключена
// Способ округления
&SOKR(N,2,0)=2; // 0-сумма за период округляется отдельно
//                 1-округляется сумма за месяц, сумма за период складывается из округленных сумм за месяц
//                 2-сумма за период оругляется отдельно, сумма за последние три месяца подгоняется к сумме за квартал, разница относится на последний ненулевой месяц (общий доход получаем как сумма округленных значений базы, превышения и льгот)
//                 3-то же что и 2 за исключением того что вычисляемым значением (то на что относится ошибка округления - в случае 2 это общий доход) является превышение, если нет превышения - льготы, если нет превышения и льгот - общий доход
&RSNG(N,2,0)=0; // 1-округлять доход нарастающим итогом с начала года с 2011 года; 0-округлять таким способом с 2012 года
//                 при RSNG=1 все значения SOKR кроме SOKR=3 игнорируются
&VDOP(N,2,0)=3; // 0-страховые и накопительные взносы считаются отдельно
//                 1-сначала вычисляются накопительные взносы, страховые вычисляются как сумма от общего прощента минус накопительные
//                 2-взносы по общему тарифу вычисляются по формулам CheckUFA (до 31.08.2010)
//                 3-взносы вычисляются по формулам CheckUFA (с 01.09.2010)
// Способ заполнения строк "Начислено страховых взносов..." в разделах 2 и 3
&VSTR(N,2,0)=2; // 0-значение получено как произведение соответствующей базы на тариф
//                 1-значение получено как сумма взносов по каждому ЛС
//                 2-то же что 1, плюс в раздел 1 помещается сумма взносов разделов 2 и 3
//                 3-взносы для разделов 2 и 3 вычисляются как база на тариф и помещаются в раздел 1
&VDOK(N,2,0)=2; // 1-страховые взносы вычисляются нарастающим итогом, база за период округляется помесячно (SOKR=1;VSTR=3)
//                 2-страховые взносы вычисляются нарастающим итогом, округляется полная база за период (SOKR=0;VSTR=3)
//                 0-настройка оключена
&JUDG(N,2,0)=0; // для судей: 1-округление выполняется по каждому ЛС, 0-округляются общие суммы 
&IKRT(N,2,0)=0; // 0-РСВ-1; 1-Индивидуальная карточка 
#OKT(C,80,0)=R_String(01); // Код основного тарифа 
// Для инвалидов-вмененциков, раздел 3 
&ENIN(N,2,0)=1; // 0-если у инвалида есть вмененный доход та часть которая приходися на ЕНВД помещается в строки 350-394, остальное в 300-344 
//              // 1-весь доход учитывается в строках 300-344 
// 
&Format(N,2,0)=0; 
&FPRINT(N,2,0)=1; 
&PKRT(N,2,0)=0; // 1-включить панель выбора кода тарифа; 0-отключить (для индивидуальной карточки) 
#FF1(N,3,0)=ЧИТАТЬ_ПОЛЕ(FFIRST,0); 
#FN1(C,256,0)=ЧИТАТЬ_ПОЛЕ(FNAME1,0); 
#FN2(C,256,0)=ЧИТАТЬ_ПОЛЕ(FNAME2,0); 
&FL1(N,2,0)=0;
&FL2(N,2,0)=0;
$BEG_SCRIPT 
  var CurFile=CreateObject("CurPrnFile"); 
  CurFile.SetFlagBrowse(0); 
  CurFile.SetFlag_Print(0);  
  FreeSpaceString(FN1,3,""); FreeSpaceString(FN2,3,""); 
  string FN = FN1 + FN2; 
  if ( access(FN,0) ) FF1 = 0; 

  UnloadScriptModule("user\\adxmlr1");
  UnloadScriptModule("forms\\sidr1");
  UnloadScriptModule("forms\\sidr1_12");

  try
  {
    LoadScriptModule("user\\adxmlr1");
    UnloadScriptModule("user\\adxmlr1");
    FL1 = 1;
  }
  catch(...)
  {
  }

  try
  {
    LoadScriptModule("forms\\sidr1_13");
    UnloadScriptModule("forms\\sidr1_13");
    FL2 = 1;
  }
  catch(...)
  {
  }

  UnloadScriptModule("user\\adxmlr1");
  UnloadScriptModule("forms\\sidr1");
  UnloadScriptModule("forms\\sidr1_12");
  UnloadScriptModule("forms\\sidr1_13");

  if ( FL1 ) FLV = 1;
  else if ( FLV && FL2 ) FLV = 1;
  else FLV = 0;

$END_SCRIPT 
$ЕСЛИ(_EQ(FF1-1)) 
// 
  $ЕСЛИ(_EQ(IKRT)) 
    #Format=ДВЕ_КНОПКИ(15,9,70,15,Выберите режим, Печать формы , Передача в файл ); 
  $ИНАЧЕ 
    &Format=0; 
  $КОНЕЦ_ЕСЛИ 
// 
  $ЕСЛИ(_EQ(Format-27)) 
    $ВЫХОД 
  $КОНЕЦ_ЕСЛИ 
// 
  $ЕСЛИ(_EQ(FLV))
    $ЕСЛИ(_EQ(Format)) 
      #FPRINT=ДВЕ_КНОПКИ(15,9,70,15,Режим печати, Открыть сформированную , Создать новую ); 
      $ЕСЛИ(_EQ(FPRINT-27)) 
        $ВЫХОД 
      $КОНЕЦ_ЕСЛИ 
    $КОНЕЦ_ЕСЛИ 
  $ИНАЧЕ
    $ЕСЛИ(_EQ(Format))
      #FPRINT=ТРИ_КНОПКИ(6,9,80,15,Режим печати, Открыть сформированную , Создать новую , Прием из xml-файла );
      $ЕСЛИ(_EQ(FPRINT-27))
         $ВЫХОД
      $КОНЕЦ_ЕСЛИ
    $КОНЕЦ_ЕСЛИ
  $КОНЕЦ_ЕСЛИ
// 
$КОНЕЦ_ЕСЛИ 
// 
$BEG_SCRIPT 
 
  int np = 27; 
  var param[np]; 
 
  param[0]  = atoi(Format); 
  param[1]  = atoi(FPRINT); 
  param[2]  = atoi(OINV); 
  param[3]  = atoi(SINV); 
  param[4]  = static_cast_to_string(OKT); 
  param[5]  = atoi(ENIN); 
  param[6]  = atoi(SOKR); 
  param[7]  = atoi(JUDG); 
  param[8]  = atoi(VSTR); 
  param[9]  = atoi(REST); 
  param[10] = atoi(IKRT); 
  param[11] = atoi(VDOK); 
  param[12] = atoi(PINV); 
  param[13] = atoi(VDOP); 
  param[14] = atoi(LGTD); 
  param[15] = atoi(VERF); 
  param[16] = atoi(RVZN);
  param[17] = atoi(FARM); 
  param[18] = static_cast_to_string(DNPD); 
  param[19] = atoi(ITORG); 
  param[20] = atoi(UVMD); 
  param[21] = atoi(ENVD); 
  param[22] = atoi(PKRT); 
  param[23] = atoi(INSP); 
  param[24] = atoi(SplitInvFromSpec); 
  param[25] = atoi(RSNG);
  param[26] = atoi(TEST);
 
  UnloadScriptModule("dmodules"); 
  LoadScriptModule("dmodules"); 
    UnloadDynamicModules(); 
  UnloadScriptModule("dmodules"); 
 
  UnloadScriptModule("forms\\rsv1_11"); 
  UnloadScriptModule("forms\\rsv1_12"); 
  UnloadScriptModule("forms\\rsv1_13"); 
  LoadScriptModule("forms\\rsv1_13"); 
    rsv1m(param,np); 
  UnloadScriptModule("forms\\rsv1_13"); 
 
$END_SCRIPT 
$ВЫХОД