Режим = "Искать";
Если Объект.ДанныеФорма12.Количество() = 0 Тогда
Режим = "Очищать";
КонецЕсли;
ВыбДокСсылка = Документы.РегламентированныеДанные.ПустаяСсылка();
Если ПоказатьВвводЗначения (ВыбДокСсылка,"Выберите 12ю декларацию",Тип("ДокументСсылка.РегламентированныеДанные")) Тогда
Возврат;
КонецЕсли;
Если не ВыбДокСсылка.ВидДекларации = Перечисления.ВидыДеклараций.ID12 Тогда
Сообщить("Выбрана не 12-я декларация!",60);
Возврат;
КонецЕсли;
Если ВыбДокСсылка.Объект.ДанныеФорма12.Количество() = 0 Тогда
Сообщить("В выбранном документе отсутствуют данные по 12й форме!",60);
Возврат
КонецЕсли;
Если Режим = "Очищать" Тогда
Объект.ДанныеФорма12.Очистить();
Для каждого СтрокаТаблицыВыбДок Из ВыбДокСсылка.ДанныеФорма12 Цикл
Если СтрокаТаблицыВыбДок.TTYPE = Перечисления.ТипыСтрокОтчетности.Таблица1 Тогда
СтрокаТаблицы = Объект.ДанныеФорма12.Добавить();
СтрокаТаблицы.vidCode = СтрокаТаблицыВыбДок.vidCode;
СтрокаТаблицы.TTYPE = СтрокаТаблицыВыбДок.TTYPE;
СтрокаТаблицы.department = СтрокаТаблицыВыбДок.department;
СтрокаТаблицы.producer = СтрокаТаблицыВыбДок.producer;
СтрокаТаблицы.P106 = СтрокаТаблицыВыбДок.P120;
КонецЕсли;
КонецЦикла;
ИначеЕсли Режим = "Искать" Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| тзИсходная.vidCode,
| тзИсходная.producer,
| тзИсходная.TTYPE,
| тзИсходная.P106,
//| тзИсходная.P107,
//| тзИсходная.P108,
//| тзИсходная.P109,
//| тзИсходная.P110,
//| тзИсходная.P111,
//| тзИсходная.P112,
//| тзИсходная.P114,
//| тзИсходная.P115,
//| тзИсходная.P116,
//| тзИсходная.P117,
//| тзИсходная.P119,
| тзИсходная.P120,
| тзИсходная.department
|ПОМЕСТИТЬ ТаблицаИсходная
|ИЗ
| &тзИсходная КАК тзИсходная
|
|ИНДЕКСИРОВАТЬ ПО
| тзИсходная.vidCode,
| тзИсходная.producer,
| тзИсходная.TTYPE,
| тзИсходная.department
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| тзДобавочная.vidCode,
| тзДобавочная.producer,
| тзДобавочная.TTYPE,
| тзДобавочная.P120,
| тзДобавочная.department
|ПОМЕСТИТЬ ТаблицаДобавочная
|ИЗ
| &тзДобавочная КАК тзДобавочная
|
|ИНДЕКСИРОВАТЬ ПО
| тзДобавочная.vidCode,
| тзДобавочная.producer,
| тзДобавочная.TTYPE,
| тзДобавочная.department
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЕСТЬNULL(ТаблицаИсходная.TTYPE, ТаблицаДобавочная.TTYPE) КАК TTYPE,
| ЕСТЬNULL(ТаблицаИсходная.vidCode, ТаблицаДобавочная.vidCode) КАК vidCode,
| ЕСТЬNULL(ТаблицаИсходная.producer, ТаблицаДобавочная.producer) КАК producer,
| ЕСТЬNULL(ТаблицаДобавочная.P120, 0) КАК P106,
//| ЕСТЬNULL(ТаблицаИсходная.P7, 0) КАК P7,
//| ЕСТЬNULL(ТаблицаИсходная.P8, 0) КАК P8,
//| ЕСТЬNULL(ТаблицаИсходная.P9, 0) КАК P9,
//| ЕСТЬNULL(ТаблицаИсходная.P10, 0) КАК P10,
//| ЕСТЬNULL(ТаблицаИсходная.P11, 0) КАК P11,
//| ЕСТЬNULL(ТаблицаИсходная.P12, 0) КАК P12,
//| ЕСТЬNULL(ТаблицаИсходная.P13, 0) КАК P13,
//| ЕСТЬNULL(ТаблицаИсходная.P14, 0) КАК P14,
//| ЕСТЬNULL(ТаблицаИсходная.P15, 0) КАК P15,
//| ЕСТЬNULL(ТаблицаИсходная.P16, 0) КАК P16,
//| ЕСТЬNULL(ТаблицаИсходная.P17, 0) КАК P17,
//| ЕСТЬNULL(ТаблицаИсходная.P18, 0) КАК P18,
//| ЕСТЬNULL(ТаблицаИсходная.P19, 0) КАК P19,
//| ЕСТЬNULL(ТаблицаИсходная.P20, 0) КАК P20,
//| ЕСТЬNULL(ТаблицаИсходная.P21, 0) КАК P21,
//| ЕСТЬNULL(ТаблицаИсходная.P22, 0) КАК P22,
//| ЕСТЬNULL(ТаблицаИсходная.P23, 0) КАК P23,
| ЕСТЬNULL(ТаблицаИсходная.department, ТаблицаДобавочная.department) КАК department
|ИЗ
| ТаблицаИсходная КАК ТаблицаИсходная
| ПОЛНОЕ СОЕДИНЕНИЕ ТаблицаДобавочная КАК ТаблицаДобавочная
| ПО ТаблицаИсходная.vidCode = ТаблицаДобавочная.vidCode
| И ТаблицаИсходная.producer = ТаблицаДобавочная.producer
| И ТаблицаИсходная.department = ТаблицаДобавочная.department";
//
Запрос.УстановитьПараметр("тзИсходная",Объект.ДанныеФорма12.Выгрузить());
Запрос.УстановитьПараметр("тзДобавочная",ВыбДокСсылка.ДанныеФорма12.Выгрузить());
ТаблицаРезультат = Запрос.Выполнить().Выгрузить();
Объект.ДанныеФорма12.Загрузить(ТаблицаРезультат);
КонецЕсли;
|