// ячеек табличного документа.
//
Процедура Очистить()
// Очищаем содержимое ячеек поля табличного документа
ТекТабличноеПоле = ЭлементыФормы.ПолеТабличногоДокумента1П;//ТабличноеПоле;
ОчиститьТабличноеПоле(ТекТабличноеПоле);
// Устанавливаем флаг модифицированности формы
Модифицированность = Истина;
КонецПроцедуры // Очистить()
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
// Процедура - обработчик события «ПриОткрытии» формы.
Процедура ПриОткрытии()
Перем ИсходноеКоличествоСтрокГруппы;
Периодичность = Перечисления.Периодичность.Месяц;
мДатаКонцаПериодаОтчета = КонецМесяца(ДобавитьМесяц(КонецМесяца(РабочаяДата), -1));
мДатаНачалаПериодаОтчета = НачалоМесяца(мДатаКонцаПериодаОтчета);
ЭтаФорма.АвтоЗаголовок = Ложь;
м1П = ЭлементыФормы.ПолеТабличногоДокумента1П;
ТекТабличноеПоле = м1П;
// Установим реквизиты формы по умолчанию
ЕдиницаИзмерения = Перечисления.ПорядкиОкругленияОтчетности.Окр1000;
ТочностьЕдиницыИзмерения = 1;
УстановитьФорматВывода();
ОргПоУмолчанию = ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, «ОсновнаяОрганизация»);
Если НЕ ЗначениеНеЗаполнено(ОргПоУмолчанию) Тогда
Организация = ОргПоУмолчанию;
КонецЕсли;
ПоказатьПериод();
м1П.ТолькоПросмотр = Истина;
ЗаполнитьСведенияОбОрганизации();
//Вывод таблицы из раздела 2.
Табл = ЭлементыФормы.ПолеТабличногоДокумента1П;
Макет = ПолучитьМакет(«МакетЛандшафт»);
Секция = Макет.ПолучитьОбласть(«Шапка»);
Табл.Вывести(Секция);
Табл.Показать();
КонецПроцедуры // ПриОткрытии()
// Процедура - обработчик события «ПередЗакрытием» формы.
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
Если Модифицированность = Истина Тогда
Ответ = Вопрос(НСтр(«ru='Данные были изменены. Сохранить изменения в формате xml?';uk='Дані були змінені. Зберегти зміни у форматі xml?'«), РежимДиалогаВопрос.ДаНетОтмена,, КодВозвратаДиалога.Да);
Если Ответ = КодВозвратаДиалога.Да Тогда
м1П.Записать(«C:\Documents and Settings\All Users\Рабочий стол\Таблица.xml»);
ИначеЕсли Ответ = КодВозвратаДиалога.Отмена Тогда
Отказ = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры // ПередЗакрытием()
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ - ДЕЙСТВИЯ КОМАНДНЫХ ПАНЕЛЕЙ ФОРМЫ
// Процедура вызывается по нажатию кнопки «<« формы.
// Инициализирует изменение переиода построения отчета.
Процедура КнопкаПредыдущийПериодНажатие(Элемент)
// Бухгалтерская отчетность составляется помесячно
ИзменитьПериод(-1);
КонецПроцедуры // КнопкаПредыдущийПериодНажатие()
// Процедура вызывается по нажатию кнопки «>« формы.
// Инициализирует изменение переиода построения отчета.
Процедура КнопкаСледующийПериодНажатие(Элемент)
// Бухгалтерская отчетность составляется помесячно
ИзменитьПериод(1);
КонецПроцедуры // КнопкаСледующийПериодНажатие()
// Процедура выполняет расчет и заполняет форму данными
//при нажатии кнопки Выполнить.
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос; Запрос.Текст = «ВЫБРАТЬ | БР.СуммаОборотКт КАК СальдоКтТекущее |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дата1, &Дата2,,, Счет.Родитель.Код = ««90»«,, ) КАК БР |ГДЕ | БР.Организация = &Организация»;
Запрос.УстановитьПараметр(«Организация»,Организация); Запрос.УстановитьПараметр(«Дата1»,мДатаНачалаПериодаОтчета); Запрос.УстановитьПараметр(«Дата2»,мДатаКонцаПериодаОтчета);
Рез= Запрос.Выполнить().Выгрузить();
Если
Рез.Количество() > 0 тогда
Значение = Окр(Рез[0].СальдоКтТекущее/мДелитель, ТочностьЕдиницыИзмерения);
ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Сторока810Ряд1.Значение = Формат(Значение, «ЧЦ = 15; ЧДЦ = « + ТочностьЕдиницыИзмерения + «; ЧРД=,; ЧРГ=.; ЧН=-; ЧО=0; ЧГ=3,0»);
Иначе
ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Сторока810Ряд1.Значение = Формат (0, мСтрокаФормата);
Предупреждение(«Виробленої продукції за вказаний період не має»);
КонецЕсли;
ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Строка825Ряд2.Значение = Формат(0, мСтрокаФормата);
ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Строка845Ряд2.Значение = Формат(0, мСтрокаФормата);
Запрос1 = Новый Запрос; Запрос1.Текст = «ВЫБРАТЬ | БР.СуммаОборотКт КАК СальдоКтТекущее |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дата3, &Дата4,,, Счет.Родитель.Код = ««90»«,, ) КАК БР |ГДЕ | БР.Организация = &Организация»;
Запрос1.УстановитьПараметр(«Организация»,Организация); Запрос1.УстановитьПараметр(«Дата3»,НачалоМесяца(ДобавитьМесяц(мДатаНачалаПериодаОтчета, -1))); Запрос1.УстановитьПараметр(«Дата4»,КонецМесяца(ДобавитьМесяц(мДатаКонцаПериодаОтчета, -1)));
Рез1= Запрос1.Выполнить().Выгрузить();
Если
Рез1.Количество() > 0 тогда
Значение1 = Окр(Рез1[0].СальдоКтТекущее/мДелитель, ТочностьЕдиницыИзмерения);
ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Сторока848Ряд1.Значение = Формат(Значение1, «ЧЦ = 15; ЧРД=,; ЧРГ=.; ЧН=-; ЧО=0; ЧГ=3,0; ЧДЦ = « + ТочностьЕдиницыИзмерения + ««);
Иначе
ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Сторока848Ряд1.Значение = Формат (0, мСтрокаФормата);
Предупреждение(«Виробленої продукції за попередній період не має»);
КонецЕсли;
Запрос2 = Новый Запрос; Запрос2.Текст = «ВЫБРАТЬ |ХозрасчетныйОборотыДтКт.СубконтоКт1, |ХозрасчетныйОборотыДтКт.СубконтоКт1.БазоваяЕдиницаИзмерения,
|ХозрасчетныйОборотыДтКт.КоличествоОборотКт,
|ХозрасчетныйОборотыДтКт.СуммаОборот, |ХозрасчетныйОстаткиИОбороты.Субконто1, |ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт|ИЗ |РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дата1, &Дата2, Месяц,, Счет.Код = ««26»«,, ) КАК ХозрасчетныйОстаткиИОбороты |ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&Дата1, &Дата2,Месяц, СчетДт.Код = ««901»«,,,,) КАК ХозрасчетныйОборотыДтКт |ПО ХозрасчетныйОстаткиИОбороты.Субконто1 = ХозрасчетныйОборотыДтКт.СубконтоКт1 «;
Запрос2.УстановитьПараметр(«Организация»,Организация); Запрос2.УстановитьПараметр(«Дата1»,мДатаНачалаПериодаОтчета); Запрос2.УстановитьПараметр(«Дата2»,мДатаКонцаПериодаОтчета);
Рез2= Запрос2.Выполнить().Выгрузить();
Попытка;
//Вывод таблицы из раздела 2.
Табл = ЭлементыФормы.ПолеТабличногоДокумента1П;
Макет = ПолучитьМакет(«МакетЛандшафт»);
Для н = 0 По Рез2.Количество()-1 Цикл Секция = Макет.ПолучитьОбласть(«Строка»);
Секция.Параметры.Номенклатура = Рез2[н].СубконтоКт1; Секция.Параметры.Ед = Рез2[н].СубконтоКт1БазоваяЕдиницаИзмерения; Секция.Параметры.Колво = Формат(Рез2[н].КоличествоОборотКт, «ЧЦ = 15; ЧРД=,; ЧРГ=.; ЧН=-; ЧО=0; ЧГ=3,0»); Секция.Параметры.Колво1 = Формат(Рез2[н].КоличествоОборотКт, «ЧЦ = 15; ЧРД=,; ЧРГ=.; ЧН=-; ЧО=0; ЧГ=3,0»);
Если Рез2[н].КоличествоКонечныйОстатокДт >0 тогда
Значение5 = Рез2[н].КоличествоКонечныйОстатокДт; Секция.Параметры.Остатки = Формат(Значение5, « ЧРД=,; ЧРГ=.; ЧН=-; ЧГ=3,0»); Иначе
Секция.Параметры.Остатки = 0;
КонецЕсли;
Значение6 = Окр(Рез2[н].СуммаОборот/мДелитель, ТочностьЕдиницыИзмерения); Секция.Параметры.СуммаОборот = Формат(Значение6, «ЧЦ = 15; ЧДЦ = « + ТочностьЕдиницыИзмерения + «; ЧРД=,; ЧРГ=.; ЧН=-; ЧО=0; ЧГ=3,0»);
Табл.Вывести(Секция);
Табл.Показать();
КонецЦикла;
Исключение Предупреждение(«Інформації про вироблену продукцію не має»); КонецПопытки;
// Установим реквизиты формы по умолчанию
ЕдиницаИзмерения = Перечисления.ПорядкиОкругленияОтчетности.Окр1000;
ТочностьЕдиницыИзмерения = 1;
УстановитьФорматВывода();
ОргПоУмолчанию = ПолучитьЗначениеПоУмолчанию(глТекущийПользователь, «ОсновнаяОрганизация»);
Если НЕ ЗначениеНеЗаполнено(ОргПоУмолчанию) Тогда
Организация = ОргПоУмолчанию;
КонецЕсли;
ПоказатьПериод();
КонецПроцедуры
//Процедура заполнует макеты полученными данними,
//формирет печатные формы и выводит их для просмотра при нажатии кнопки Печать
Процедура КнопкаПечатьНажатие(Кнопка)
//Портрет
ТабДок = Новый ТабличныйДокумент;
Макет = ЭтотОбъект.ПолучитьМакет(«МакетПортрет»); Область = Макет.ПолучитьОбласть(«Поле1»);
Область.Параметры.ОргНазв = ОргНазв;
Область.Параметры.ОргТерритория = Территория;
Область.Параметры.ОргКодЕДРПОУ = КодЕДРПОУ;
Область.Параметры.ОргКодЄДРПОУ = КодЕДРПОУ;
Область.Параметры.ОргКодКОАТУУ = КодКОАТУУ;
Область.Параметры.ОргКодКОДУ = КодСПОДУ;
Область.Параметры.ОргКодКОПФГ = КодЗКГНГ;
Область.Параметры.ОргКодКВЕД = КодКВЕД;
Область.Параметры.ОргКодКФВ = КодКФВ;
Область.Параметры.ОргБухгалтер = ФИОГлавБуха;
Область.Параметры.ОргДиректор = ФИОДиректора;
Область.Параметры.ДатаМесяц = Формат(мДатаНачалаПериодаОтчета, «Л = uk_UA; ДФ = 'ММММ'«);
Область.Параметры.ДатаГод = Формат(мДатаНачалаПериодаОтчета, «ДФ = 'гггг'«);
Область.Параметры.ДатаПодписиОтчета = Формат(ДатаПодписи,(«Л = uk_UA; ДФ = 'дд ММММ гггг'«));
Область.Параметры.Сторока810Ряд1 = Формат(Значение, «ЧЦ = 15; ЧДЦ = « + ТочностьЕдиницыИзмерения + «; ЧРД=,; ЧРГ=.; ЧН=-; ЧО=0; ЧГ=3,0»);
Область.Параметры.Сторока848Ряд1 = Формат(Значение1, «ЧЦ = 15; ЧДЦ = « + ТочностьЕдиницыИзмерения + «; ЧРД=,; ЧРГ=.; ЧН=-; ЧО=0; ЧГ=3,0»);
//Строки, заполняемые вручную.
Область.Параметры.ФИО = ЭлементыФормы.ПолеТабличногоДокумента1П.Области.ФИО.Значение;
Область.Параметры.Тел = ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Тел.Значение;
Область.Параметры.Стр1 = ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Стр1.Значение;
Область.Параметры.Стр2 = ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Стр2.Значение;
Область.Параметры.Стр3 = ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Стр3.Значение;
Область.Параметры.Стр4 = ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Стр4.Значение;
Область.Параметры.Стр5 = ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Стр5.Значение;
Область.Параметры.Стр6 = ЭлементыФормы.ПолеТабличногоДокумента1П.Области.Стр6.Значение;