Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Модуль формы «НарядИндивидуальныйНаГруппу»




Перем ОбработчикСообщений; // обработчик сообщения при проверке и проведении документа

Перем СписокДействий; // список действий, выполняемых по кнопке Действия

Перем ПроведенВПрошлом; // = 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 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...