Смекни!
smekni.com

Підсистема статистичної звітності системи 1С Предприятие 80 (стр. 13 из 19)

// ячеек табличного документа.

//

Процедура Очистить()

// Очищаем содержимое ячеек поля табличного документа

ТекТабличноеПоле = ЭлементыФормы.ПолеТабличногоДокумента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.Значение;