gifts2017

Отпуск по уходу за ребенком. Печать расчета среднего заработка

Опубликовал Serj Silantiev (Gr@nd@d) в раздел Программирование - Практика программирования

Печать расчета среднего заработка в документе "отпуск по уходу за ребенком" по старым/новым правилам, реализованная в ЗиК 7.70.313, содержит досадную ошибку - если вызвать печать в уже проведенном документе, всегда выдается отчет для новых правил.

Для исправления внесем небольшое изменение в документ ОтпускПоУходуЗаРебенком, форма, модуль:

//******************************************************************************
// Печать()
//
//
Процедура Печать(ПараметрПечати="") 
 
        Если Выбран() = 0 Тогда
                Если Вопрос("Распечатать можно только записанный документ."+РазделительСтрок+" Записать и распечатать документ?","Да+Нет")="Нет" Тогда
                        Возврат
                КонецЕсли;
                Если ПроверкаПередЗаписью() = 1 Тогда
                        ПолучитьДанныеОтпускаПоУходуЗаРебенком();
                        Записать();
                Иначе
                        Возврат;
                КонецЕсли;
        КонецЕсли;
 
        БюджетнаяОрганизация = глБюджетнаяОрганизация();
 
        Если ПустоеЗначение(ПараметрПечати) = 0 Тогда
                // нам сказали - "напечатай, пожалуйста, одну табличку"
                // и, естественно, сказали, какую именно.
                ИмяИсходнойТаблицы = "";
                ПараметрПечати.ПолучитьЗначение(1,ИмяИсходнойТаблицы);
                ИмяОтчета = ИмяИсходнойТаблицы;
        Иначе
                СпПечати = СоздатьОбъект("СписокЗначений");
 
                СпПечати.ДобавитьЗначение("Т-6","Т-6");
                СпПечати.ДобавитьЗначение("РасчетСреднегоЗаработка","Расчет среднего заработка");
 
                ИмяИсходнойТаблицы = ""; 
               Пункт = "";
                Если СпПечати.ВыбратьЗначение(ИмяИсходнойТаблицы,,Пункт,,1) = 1 Тогда
                        ИмяОтчета=""; 
                       СпПечати.ПолучитьЗначение(Пункт,ИмяОтчета);
                Иначе
                        Возврат
                КонецЕсли;
        КонецЕсли;
 
        Если (ИмяИсходнойТаблицы = "Т-6")Тогда
                ПечатьТ6(ИмяИсходнойТаблицы);
        Иначе  
  // Здесь для выбора варианта печати программисты 1С использовали переменную, которую "забыли" инициализировать
                //Если ТипРасчетаБольничного=Перечисление.ТипРасчетаБольничного.С2011года Тогда
  // Используем для выбора состояние флага
                Если РасчетПоПравилам2010Года = 0 Тогда
                        ПечатьРасчетСреднего2011();
                Иначе
                        ПечатьРасчетСреднего(); 
               КонецЕсли;
 
        КонецЕсли;      
 
КонецПроцедуры //Печать

См. также

Подписаться Добавить вознаграждение
Комментарии
0. Serj Silantiev (Gr@nd@d) 30.09.11 06:14
Печать расчета среднего заработка в документе "отпуск по уходу за ребенком" по старым/новым правилам, реализованная в ЗиК 7.70.313, содержит досадную ошибку - если вызвать печать в уже проведенном документе, всегда выдается отчет для новых правил.


Перейти к публикации

1. Евгения (mvoda) 30.09.11 06:14
Исправления внесла, документ вообще перестал работать, не открывается
2. Serj Silantiev (Gr@nd@d) 30.09.11 06:22
Хм... очень странно - изменение то мизерное, да и проверено на рабочей конфигурации.

1) Внеся изменения, сделайте проверку синтаксиса - возможно просто допустили описку при внесении ?
2) Изменения вносили в версию ЗиК 7.70.313 ?
3. Светлана Фоменко (safia-med) 03.09.14 12:10
Как раньше без неё жили? Спасибо.