Имя: Пароль:
1C
 
"Печатная форма недоступна" (внешняя обработка)
,
0 Надяша
 
14.01.20
15:08
Печатная форма недоступна
1 Надяша
 
14.01.20
15:09
//**********************************************************
Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = Новый Структура;
    
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.ИндексацияЗаработка");
    
    ПараметрыРегистрации.Вставить("Вид",              "ПечатнаяФорма");
    ПараметрыРегистрации.Вставить("Назначение",      МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование",      "Дополнительное соглашение индексация заработка");
    ПараметрыРегистрации.Вставить("Версия",          "2.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);

    ПараметрыРегистрации.Вставить("Информация",      "Внешняя печатная форма «Дополнительное соглашение индексация заработка» для документа «Индексация заработка»");    

    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    
    ДобавитьКоманду(ТаблицаКоманд,
        "Дополнительное соглашение индексация заработка",
        "Дополнительное соглашение индексация заработка",
        "ВызовСерверногоМетода",
        Истина,
        "ПечатьMXL");
        
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    
    Возврат ПараметрыРегистрации;
    
КонецФункции // СведенияОВнешнейОбработке()

Функция ПолучитьТаблицуКоманд()
    
      Команды = Новый ТаблицаЗначений;
    
    Команды.Колонки.Добавить("Представление",          Новый ОписаниеТипов("Строка"));
      Команды.Колонки.Добавить("Идентификатор",          Новый ОписаниеТипов("Строка"));
      Команды.Колонки.Добавить("Использование",          Новый ОписаниеТипов("Строка"));
      Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
      Команды.Колонки.Добавить("Модификатор",          Новый ОписаниеТипов("Строка"));
  
      Возврат Команды;
  
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
    
    НоваяКоманда = ТаблицаКоманд.Добавить();
    
    НоваяКоманда.Представление          = Представление;
    НоваяКоманда.Идентификатор          = Идентификатор;
    НоваяКоманда.Использование          = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор          = Модификатор;
    
КонецПроцедуры

// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ПЕЧАТНЫХ ФОРМ

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Дополнительное соглашение индексация заработка") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Дополнительное соглашение индексация заработка", "Дополнительное соглашение индексация заработка",
            СформироватьПечатнуюФормуДополнительногоСоглашения(МассивОбъектов, ОбъектыПечати));
    КонецЕсли;
    
    //КоллекцияПечатныхФорм = СформироватьПечатнуюФормуДополнительногоСоглашения(МассивОбъектов, ОбъектыПечати);
КонецПроцедуры

Функция СформироватьПечатнуюФормуДополнительногоСоглашения(МассивОбъектов, ОбъектыПечати)
    
    УстановитьПривилегированныйРежим(Истина);
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.РазмерКолонтитулаСверху = 0;
    ТабличныйДокумент.РазмерКолонтитулаСнизу = 0;
    ТабличныйДокумент.АвтоМасштаб = Истина;
    ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
        
    Макет = ПолучитьМакет("ПФ_MXL_ДополнительноеСоглашение");
    ДанныеДляПечати = ДанныеДляПечатиДополнительногоСоглашения(МассивОбъектов);
    ВывестиДанныеДополнительногоСоглашенияВТабличныйДокумент(Макет, ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати);
    
    Возврат ТабличныйДокумент;
        
КонецФункции

Функция ДанныеДляПечатиДополнительногоСоглашения(МассивОбъектов)
    
    Запрос = Новый Запрос;
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Документ.Ссылка КАК Ссылка,
    |    Документ.Номер КАК Номер,
    |    Документ.Организация КАК Организация,
    |    Документ.Дата КАК ДатаНачала,
    //ДатаПриказа,
    //|    Документ.МесяцИндексации КАК МесяцИндексации,
    |    Документ.Руководитель.Пол КАК РуководительПол,
    |    Документ.Руководитель.ФИО КАК Руководитель,
    |    Документ.ДолжностьРуководителя.Наименование КАК ДолжностьРуководителя,
    |    ДолжностиДополнительныеРеквизиты.Значение КАК ДокументОснование
    |ИЗ
    |    Документ.ИндексацияЗаработка КАК Документ
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Должности.ДополнительныеРеквизиты КАК ДолжностиДополнительныеРеквизиты
    |        ПО Документ.ДолжностьРуководителя = ДолжностиДополнительныеРеквизиты.Ссылка
    |            И (ДолжностиДополнительныеРеквизиты.Свойство = &ДопСвойствоДолжность)
    |ГДЕ
    |    Документ.Ссылка В(&МассивОбъектов)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Сотрудники.Ссылка КАК Ссылка,
    |    Сотрудники.Сотрудник КАК Сотрудник,
    |    Сотрудники.Сотрудник.Код КАК ТабНомер,
    |    Сотрудники.ДатаИзменения КАК ДатаИзменения,
    |    Сотрудники.Сотрудник.ФизическоеЛицо КАК ФизическоеЛицо,
    |    ПоказателиСотрудников.Показатель КАК Показатель,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(ПоказателиСотрудников.Показатель) КАК ПоказательПредставление,
    |    ПоказателиСотрудников.Значение КАК Размер,
    |    ЕСТЬNULL(СотрудникиДополнительныеРеквизиты.Значение, ""-"") КАК ПунктДоговора,
    |    ОсновныеДанныеКонтрактаДоговораСотрудника.ДатаДоговораКонтракта КАК ДатаДоговора,
    |    ОсновныеДанныеКонтрактаДоговораСотрудника.НомерДоговораКонтракта КАК НомерДоговора
    |ИЗ
    |    Документ.ИзменениеПлановыхНачислений.Сотрудники КАК Сотрудники
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИзменениеПлановыхНачислений.ПоказателиСотрудников КАК ПоказателиСотрудников
    |        ПО (ПоказателиСотрудников.ИдентификаторСтрокиСотрудника = Сотрудники.ИдентификаторСтрокиСотрудника)
    |            И (ПоказателиСотрудников.Показатель В (ЗНАЧЕНИЕ(Справочник.ПоказателиРасчетаЗарплаты.Оклад), ЗНАЧЕНИЕ(Справочник.ПоказателиРасчетаЗарплаты.ТарифнаяСтавкаДневная), &ОкладПоДнямПрочая))
    |            И Сотрудники.Ссылка = ПоказателиСотрудников.Ссылка
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Сотрудники.ДополнительныеРеквизиты КАК СотрудникиДополнительныеРеквизиты
    |        ПО Сотрудники.Сотрудник = СотрудникиДополнительныеРеквизиты.Ссылка
    |            И (СотрудникиДополнительныеРеквизиты.Свойство = &ДопСвойствоСотрудник)
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОсновныеДанныеКонтрактаДоговораСотрудника КАК ОсновныеДанныеКонтрактаДоговораСотрудника
    |        ПО Сотрудники.Сотрудник = ОсновныеДанныеКонтрактаДоговораСотрудника.Сотрудник.Ссылка
    |ГДЕ
    |    Сотрудники.Ссылка В(&МассивОбъектов)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Ссылка,
    |    Сотрудник
    |ИТОГИ ПО
    |    Ссылка";
    
    ХарактеристикаПунктДоговора     = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","ПунктДоговора");
    ХарактеристикаДокументОснование = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя","ДокументОснование");
    ОкладПоДнямПрочая                = Справочники.ПоказателиРасчетаЗарплаты.НайтиПоРеквизиту("Идентификатор","ОкладПоДнямПрочая");
    Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов);
    Запрос.УстановитьПараметр("ДопСвойствоДолжность",ХарактеристикаДокументОснование);
    Запрос.УстановитьПараметр("ДопСвойствоСотрудник",ХарактеристикаПунктДоговора);
    Запрос.УстановитьПараметр("ОкладПоДнямПрочая",ОкладПоДнямПрочая);
    
    Результат = Запрос.ВыполнитьПакет();
    
    
    МассивРезультатов             = Запрос.ВыполнитьПакет();
    РезультатПоШапке            = МассивРезультатов[0];
    РезультатПоТабличнойЧасти     = МассивРезультатов[1];
    
    СтруктураДанныхДляПечати     = Новый Структура("РезультатПоШапке, РезультатПоТабличнойЧасти ",
                                                   РезультатПоШапке, РезультатПоТабличнойЧасти);
    
    Возврат СтруктураДанныхДляПечати;
    
КонецФункции

Процедура ВывестиДанныеДополнительногоСоглашенияВТабличныйДокумент(Макет, ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати)
    
    Если Макет <> Неопределено Тогда
        
        ДанныеПечати          = ДанныеДляПечати.РезультатПоШапке.Выбрать();
        МассивСотрудники     = ДанныеДляПечати.РезультатПоТабличнойЧасти.Выгрузить().ВыгрузитьКолонку("Сотрудник");
        МассивФизическихЛиц = ДанныеДляПечати.РезультатПоТабличнойЧасти.Выгрузить().ВыгрузитьКолонку("ФизическоеЛицо");
        
        ВыборкаПоДокументам = ДанныеДляПечати.РезультатПоТабличнойЧасти.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

        ОбластьШапка           = Макет.ПолучитьОбласть("Шапка");
        ОбластьТекстСоглашения = Макет.ПолучитьОбласть("ТекстСоглашения");
        ОбластьПодвал          = Макет.ПолучитьОбласть("Подвал");
        ОбластьПодписи         = Макет.ПолучитьОбласть("Подписи");
    
        ПерваяСправка = Истина;
        Пока ДанныеПечати.Следующий() Цикл
            
            Сведения = Новый СписокЗначений;
            Сведения.Добавить("", "НаимЮЛПол");
            Сведения.Добавить("", "НаимЮЛСокр");
            Сведения.Добавить("", "ИННЮЛ");
            Сведения.Добавить("", "КППЮЛ");
            Сведения.Добавить("", "ОГРН");
            Сведения.Добавить("", "АдрЮР");
            
            ОргСведения = ЗарплатаКадрыБазовый.ПолучитьСведенияОбОрганизации(ДанныеПечати.Организация, ДанныеПечати.ДатаНачала, Сведения);

            //КадровыеДанные = КадровыйУчет.КадровыеДанныеСотрудников(
            //                    Истина,
            //                    МассивСотрудники,
            //                    "ПриказОПриеме,ПриказОПриемеДата,ПриказОПриемеНомер",
            //                    ДанныеПечати.ДатаНачала);
            
            
            ДанныеФизическихЛиц = КадровыйУчет.КадровыеДанныеФизическихЛиц(
                                    Истина,
                                    МассивФизическихЛиц,
                                    "ФИОПолные,ФамилияИО,Фамилия,Имя,Отчество,ИНН,СтраховойНомерПФР,ДокументВид,ДокументСерия,ДокументНомер,ДокументДатаВыдачи,ДокументКемВыдан,ДокументКодПодразделения,АдресПоПропискеПредставление",
                                    ДанныеПечати.ДатаНачала);
            
            СтруктураПоиска = Новый Структура("Ссылка", ДанныеПечати.Ссылка);
            ВыборкаПоДокументам.Сбросить();
            Если  ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска) Тогда
                Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'В документе %1 отсутствуют сотрудники. Печать соглашения не требуется'"),
                ДанныеПечати.Ссылка);
                
                ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
                Текст,
                ДанныеПечати.Ссылка);
                Продолжить;
            КонецЕсли;
            
            //ФИО и должность руководителя
            Руководитель                 = ДанныеПечати.Руководитель;
            ПолРуководителя             = ФизЛицоПол(ДанныеПечати.РуководительПол,"мужской");
            РуководительР                 = СклонениеПредставленийОбъектов.ПросклонятьФИО(Строка(Руководитель),2,,ПолРуководителя);
            РуководительФИО             = ФизическиеЛицаКлиентСервер.ФамилияИнициалы(Строка(Руководитель));
            ДолжностьРуководителя         = Строка(ДанныеПечати.ДолжностьРуководителя);
            ДолжностьРуководителяР        = СклонениеПредставленийОбъектов.ПросклонятьПредставление(ДолжностьРуководителя,2,);
            ДолжностьДокументОснованиеР = СклонениеПредставленийОбъектов.ПросклонятьПредставление(Строка(ДанныеПечати.ДокументОснование),2,);
            
            ПараметрыМакета = ВыборкаПоДокументам.Выбрать();
            Пока ПараметрыМакета.Следующий() Цикл
                
                
                //НайденныеКадровыеДанные = КадровыеДанные.НайтиСтроки(Новый Структура("Сотрудник", ПараметрыМакета.Сотрудник));
                НайденныеДанныеФизическихЛиц = ДанныеФизическихЛиц.НайтиСтроки(Новый Структура("ФизическоеЛицо",ПараметрыМакета.ФизическоеЛицо));

                //Если Не ЗначениеЗаполнено(НайденныеКадровыеДанные) Тогда
                //    Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                //            НСтр("ru = 'Кадровые данные сотрудника %1 отсутствуют.'"),
                //            ПараметрыМакета.Сотрудник);
                //    
                //    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
                //    Текст,
                //    ДанныеПечати.Ссылка);
                //    Продолжить;
                //КонецЕсли;
                
                Если Не ЗначениеЗаполнено(НайденныеДанныеФизическихЛиц) Тогда
                    Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                            НСтр("ru = 'Документы физ.лица %1 отсутствуют.'"),
                            ПараметрыМакета.ФизическоеЛицо);
                    
                    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
                            Текст,
                            ДанныеПечати.Ссылка);
                    Продолжить;
                КонецЕсли;
                
                //СтруктураКадровыеДанные = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(НайденныеКадровыеДанные[0]);
                СтруктураДанныеФизическихЛиц = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(НайденныеДанныеФизическихЛиц[0]);
                
                НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
                Если Не ПерваяСправка Тогда
                    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
                Иначе
                    ПерваяСправка = Ложь;
                КонецЕсли;
                
                ОбластьШапка.Параметры.НомерДопСоглашения     = Формат(Год(ПараметрыМакета.ДатаИзменения),"ЧГ=");
                ОбластьШапка.Параметры.НомДоговора            = Строка(СокрЛП(ПараметрыМакета.НомерДоговора));
                ОбластьШапка.Параметры.ДатаДоговора            = Формат(ПараметрыМакета.ДатаДоговора,"ДФ=dd.MM.yyyy");
                ОбластьШапка.Параметры.ДатаПриказа             = Формат(ПараметрыМакета.ДатаИзменения,"ДФ=dd.MM.yyyy");
                
                ОбластьТекстСоглашения.Параметры.НазваниеОрганизации     = Строка(СокрЛП(ОргСведения.НаимЮЛПол));
                ОбластьТекстСоглашения.Параметры.ДолжностьРуководительР = Строка(ДолжностьРуководителяР);
                ОбластьТекстСоглашения.Параметры.РуководительР             = Строка(РуководительР);
                ОбластьТекстСоглашения.Параметры.ДокументОснование        = Строка(ДолжностьДокументОснованиеР);
                ОбластьТекстСоглашения.Параметры.Работник                = СтруктураДанныеФизическихЛиц.ФИОПолные;
                ОбластьТекстСоглашения.Параметры.ДатаДоговора            = Формат(ПараметрыМакета.ДатаДоговора,"ДФ=dd.MM.yyyy");
                ОбластьТекстСоглашения.Параметры.НомДоговора             = Строка(СокрЛП(ПараметрыМакета.НомерДоговора));
                ОбластьТекстСоглашения.Параметры.ПунктДоговора           = СокрЛП(Строка(ПараметрыМакета.ПунктДоговора));
                ОбластьТекстСоглашения.Параметры.ДатаИзменения          = Формат(ПараметрыМакета.ДатаИзменения,"ДФ=dd.MM.yyyy");
                ОбластьТекстСоглашения.Параметры.Размер                  = Строка(Формат(ПараметрыМакета.Размер,"ЧЦ=10; ЧДЦ=2"));
                
                
                ОбластьПодвал.Параметры.НазваниеОрганизации        = СокрЛП(Строка(ОргСведения.НаимЮЛПол));
                ОбластьПодвал.Параметры.АдресОрганизацииСтроки    = ПредставлениеАдреса(ОргСведения.АдрЮР);
                ОбластьПодвал.Параметры.ИНН                      = ОргСведения.ИННЮЛ;
                ОбластьПодвал.Параметры.ОГРН                     = ОргСведения.ОГРН;
                ОбластьПодвал.Параметры.КПП                     = ОргСведения.КППЮЛ;
                
                ОбластьПодвал.Параметры.Работник       = СтруктураДанныеФизическихЛиц.ФИОПолные;
                ОбластьПодвал.Параметры.АдресРаботника = СтруктураДанныеФизическихЛиц.АдресПоПропискеПредставление;
                ОбластьПодвал.Параметры.Паспорт        = Строка(СтруктураДанныеФизическихЛиц.ДокументСерия)+" "+ Строка(СтруктураДанныеФизическихЛиц.ДокументНомер);
                ОбластьПодвал.Параметры.ДатаВыдачи     = Формат(СтруктураДанныеФизическихЛиц.ДокументДатаВыдачи,"ДФ=dd.MM.yyyy");
                ОбластьПодвал.Параметры.КемВыдан       = Строка(СтруктураДанныеФизическихЛиц.ДокументКемВыдан);
                ОбластьПодвал.Параметры.КодПодр        = Строка(СтруктураДанныеФизическихЛиц.ДокументКодПодразделения);
                ОбластьПодвал.Параметры.ИННР           = Строка(СтруктураДанныеФизическихЛиц.ИНН);
                ОбластьПодвал.Параметры.СПС            = Строка(СтруктураДанныеФизическихЛиц.СтраховойНомерПФР);
                ОбластьПодвал.Параметры.ДолжностьРуководителя     = Строка(ДолжностьРуководителя);
                
                ОбластьПодписи.Параметры.РуководительФИО    = РуководительФИО;                
                ОбластьПодписи.Параметры.РаботникФИО         = СтруктураДанныеФизическихЛиц.ФамилияИО;
                
                ТабличныйДокумент.Вывести(ОбластьШапка);
                ТабличныйДокумент.Вывести(ОбластьТекстСоглашения);
                ТабличныйДокумент.Вывести(ОбластьПодвал);
                ТабличныйДокумент.Вывести(ОбластьПодписи);
                
                УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ПараметрыМакета.Ссылка);
                
            КонецЦикла;
            
        КонецЦикла;    
        
        
    КонецЕсли;

КонецПроцедуры

//Определяет код пола физлица: 1 - мужской, 2 - женский
Функция ФизЛицоПол (Значение1,Значение2)
    Если НРег(Значение1) = Значение2 Тогда
        Пол=1;
    Иначе
        Пол=2;
    КонецЕсли;
    Возврат Пол;
КонецФункции


Функция ПредставлениеАдреса(СтрокаАдреса)
    
    Структура = РегламентированнаяОтчетностьКлиентСервер.РазложитьАдрес(СтрокаАдреса);
    ПредставлениеАдреса = ""; Первый = Истина;
    Для Каждого Строка Из Структура Цикл
        Если Строка.Ключ = "Страна" Тогда Продолжить; КонецЕсли;    
        Если ЗначениеЗаполнено(Строка.Значение) Тогда
             ПредставлениеАдреса = ПредставлениеАдреса+?(Первый,"",", ")+Строка.Значение; Первый = Ложь;
        КонецЕсли;
    КонецЦикла;
    
    Возврат ПредставлениеАдреса;

КонецФункции
2 АЛьФ
 
14.01.20
15:09
Так ведь печатная форма недоступна.
3 Масянька
 
14.01.20
15:21
(1) Данных нет. Для вывода в печ. форму.
4 Надяша
 
14.01.20
15:37
не пойму где
5 vicof
 
14.01.20
15:46
(4) В базе данных
6 unenu
 
14.01.20
15:59
(4)
1. проверить в отладке сформирован ли документ результат - если нет, то будет такое сообщение
2. проверить в отладке процедуру Печать(), если она отходит от канонов БСП или косячная, то будет такое сообщение
3. проверить контексты регистрации и выполнения

все, 4-го варианта нет.
7 Kigo_Kigo
 
14.01.20
16:09
(6) Есть еще , как минимум 3
1 Пригласить программиста
2 Фото мол жел может ускорить процесс решения проблемы
3 найти удаленщика, возможно тут, но п 2 :)
8 yurikmellon2
 
14.01.20
16:11
(7) пункт 2 был в декабре :)
9 Kigo_Kigo
 
14.01.20
16:12
(8) Что то я не помню там Надяшу :)
10 Фрэнки
 
14.01.20
16:15
Зависает внешняя печатная форма

для ТС - очень похожая ситуация с использованием ВПФ. Там сразу зависала, затем была недоступна, а в самом конце тот ТС все сделал
11 yurikmellon2
 
14.01.20
16:16
(9) её и не было. Это я к тому, что тут только раз в году, в декабре пункт 2 реализуем. Всё остальное время другая часть тела работает, голова.
12 Kigo_Kigo
 
14.01.20
16:18
(11) В профиле ВР Sensored навесит ? :)))
13 yurikmellon2
 
14.01.20
16:19
(12) возможно. Но скорее всего просто отправит в страну вечной охоты
14 Масянька
 
14.01.20
16:20
(4) Если это по поводу (3), то: в процедуру формирования печ. формы не передан документ, элемент справочника и пр. (для чего печ. форма) (клиент - сервер и пр.).
15 sqr4
 
14.01.20
17:21
вот эту строку надо проверять
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Дополнительное соглашение индексация заработка") Тогда
2 + 2 = 3.9999999999999999999999999999999...