Модуль формы «НарядИндивидуальныйНаГруппу»
Перем ОбработчикСообщений; // обработчик сообщения при проверке и проведении документа Перем СписокДействий; // список действий, выполняемых по кнопке Действия Перем ПроведенВПрошлом; // = 1 - документ проведен в прошлом периоде СуммаПоНаряду = 0; ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл СуммаПоНаряду = СуммаПоНаряду + Расценка * Количество; КонецЦикла; Возврат глЧислоВФорматеПользователя(СуммаПоНаряду); КонецФункции глОчиститьСообщения(ОбработчикСообщений); Если Выбран() = 0 Тогда глДобавитьСообщение (ОбработчикСообщений, «Документ не записан.», ТекущийДокумент(), «Сотрудник») КонецЕсли; Если Сотрудник. Выбран()=0 Тогда глДобавитьСообщение (ОбработчикСообщений, «Не выбран сотрудник! Проведение документа невозможно.», ТекущийДокумент(), «Сотрудник») КонецЕсли; Если КоличествоСтрок() = 0 Тогда глДобавитьСообщение (ОбработчикСообщений, «Список выполненных работ пуст. Проведение документа не возможно.», ТекущийДокумент(), «КодНормы») Иначе ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл Если (ШаблонПроводки. Наименование = «Распределять пропорционально расчетной базе») Тогда глДобавитьСообщение (ОбработчикСообщений, «Неверно указан шаблон проводки в строке №"+НомерСтроки, ТекущийДокумент(), «ШаблонПроводки») КонецЕсли; // Если УчетНалогаНаПрибыль. ВидРасхода=Перечисление. ВидыРасходов. ПропорциональноРаспределять Тогда // глДобавитьСообщение (ОбработчикСообщений, «В данных учета налога на прибыль выбран вид расхода ««Распределять пропорционально расчетной базе»» в строке №"+НомерСтроки, ТекущийДокумент(), «УчетНалогаНаПрибыль»); // КонецЕсли; Если КодНормы. Выбран() = 0 Тогда глДобавитьСообщение (ОбработчикСообщений, «Не выбран вид работ в строке №"+НомерСтроки, ТекущийДокумент(), «КодНормы»)
КонецЕсли; КонецЦикла; КонецЕсли; Возврат глПустойОбработчик(ОбработчикСообщений) КонецФункции // Проверка Процедура ПриВыбореРаботы() Расценка = КодНормы. Расценка. Получить(ДатаДок); ШаблонПроводки = КодНормы. ШаблонПроводки; // УчетНалогаНаПрибыль = КодНормы. УчетНалогаНаПрибыль; КонецПроцедуры Процедура ПровестиИзФормы (НажатаКнопкаОК=0) ПриЗаписиПерепроводить(0); Записать(); Если ПроведенВПрошлом<>1 Тогда ПриЗаписиПерепроводить(1); Если Проверка()=1 Тогда Если Провести (, ОбработчикСообщений)=0 Тогда глДобавитьСообщение (ОбработчикСообщений, «Документ не проведен.», ТекущийДокумент()); КонецЕсли; КонецЕсли; глОткрытьОбработчик (ОбработчикСообщений, Вид()+НомерДок); КонецЕсли; // если вызвали через кнопку ОК, то закроем форму // и обработчик соообщений пуст Если (НажатаКнопкаОК=1) и (глПустойОбработчик(ОбработчикСообщений)=1) Тогда Форма. Закрыть(); КонецЕсли; Процедура ВводНового(Копирование) Если Копирование=1 Тогда Возврат; КонецЕсли; глВводНовогоДокумента(Контекст); КонецПроцедуры // ВводНового Процедура ПриОткрытии() Перем ПараметрыКоманды; // параметры команды при открытии // если открыли для печати Если глВыполнитьКомандуФормы (Контекст, «Печать», "»)=1 Тогда Предупреждение («У документа «" «+ПредставлениеВида()+»""» «отсутствует печатная форма… Вывести на печать» «документы данного вида невозможно.», 10); СтатусВозврата(0); Возврат; КонецЕсли; // инициализация обработчика сообщений ОбработчикСообщений = глСоздатьОбработчикСообщений (глПредставлениеДокумента(Контекст)); // заполним список команд для кнопки Действия СписокДействий. ДобавитьЗначение («Структура подчиненности»); СписокДействий. ДобавитьЗначение («Движения документа»);
СписокДействий. ДобавитьЗначение («Перейти в журнал»); // если открыли для заполнения Если глВыполнитьКомандуФормы (Контекст, «Заполнить», ПараметрыКоманды)=1 Тогда глЗаполнитьДокумент (ПараметрыКоманды, Контекст); КонецЕсли; СписокНередактируемыхКонтролов = СоздатьОбъект («СписокЗначений»); СписокНередактируемыхКонтролов. ДобавитьЗначение («НомерДокумента»); СписокНередактируемыхКонтролов. ДобавитьЗначение («ДатаДок»); СписокНередактируемыхКонтролов. ДобавитьЗначение («Сотрудник»); СписокНередактируемыхКонтролов. ДобавитьЗначение («КодНормы»); СписокНередактируемыхКонтролов. ДобавитьЗначение («Расценка»); СписокНередактируемыхКонтролов. ДобавитьЗначение («Количество»); ПроведенВПрошлом = глПроведенВПрошлом (Контекст, СписокНередактируемыхКонтролов); Если ПроведенВПрошлом=1 Тогда Форма.кнПровести. Видимость(0); Форма.кнИсправить. Видимость(1); ПриЗаписиПерепроводить(0); Иначе Форма.кнИсправить. Видимость(0); ПриЗаписиПерепроводить(1); КонецЕсли; НомерДокумента = НомерДок; глКонтекстОткрытойФормы («Документ», Контекст); КонецПроцедуры // ПриОткрытии Процедура ПриНачалеВыбораЗначения (ИдентЭлемДиалога, ФлагСтандОбр) Если ИдентЭлемДиалога = «ШаблонПроводки» Тогда ФлагСтандОбр = 0; Параметр=СоздатьОбъект («СписокЗначений»); Параметр. ДобавитьЗначение («Начисление», «ОписательПроводки»); Параметр. ДобавитьЗначение (ШаблонПроводки, «ШаблонПроводки»); ОткрытьФормуМодально («Обработка. ВводШаблонаПроводок», Параметр); Если ТипЗначения(Параметр)=11 Тогда ШаблонПроводки=Параметр КонецЕсли; КонецЕсли; КонецПроцедуры // ПриНачалеВыбораЗначения() Если ПроведенВПрошлом=1 Тогда Предупреждение («Документ проведен в прошлом периоде. Его нельзя редактировать.», 10); СтатусВозврата(0); КонецЕсли; Если ПроведенВПрошлом=1 Тогда Предупреждение («Документ проведен в прошлом периоде. Его нельзя редактировать.», 10); СтатусВозврата(0); КонецЕсли; КонецПроцедуры // ПриУдаленииСтроки СписокДействий = СоздатьОбъект («СписокЗначений»);
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|