denis84 @ Сегодня, 14:32

,
//======================================================================
Процедура ЗаповнитиТаблицю()
СтворитиСтруктуруТаблиці();
ВидДок = спВидиДокументів.ПолучитьЗначение(спВидиДокументів.ТекущаяСтрока());
ТекстЗапроса = "
|Период с НачДата по КонДата;
|ДатаДок = Документ.*.ДатаДок;
|НомерДок = Документ.*.НомерДок;
|Фирма = Документ.*.Фирма;
|Контрагент = Документ.*.Контрагент;";
Если ВидДок = "Приложение2" Тогда
ТекстЗапроса = ТекстЗапроса + "
|ИзмСуммыБезНДС = Документ.Приложение2.ИзмСуммыБезНДС;
|ИзмНДС = Документ.Приложение2.ИзмНДС;
|Функция СуммаБезНДС_ = Сумма(ИзмСуммыБезНДС);
|Функция НДС_ = Сумма(ИзмНДС);
|Функция СуммаСНДС_ = Сумма(ИзмСуммыБезНДС+ИзмНДС);";
Иначе
ТекстЗапроса = ТекстЗапроса + "
|СуммаБезНДС = Документ.*.СуммаБезНДС;
|СуммаСНДС = Документ.*.СуммаСНДС;
|Функция СуммаБезНДС_ = Сумма(СуммаБезНДС);
|Функция СуммаСНДС_ = Сумма(СуммаСНДС);";
Если (ВидДок = "Т_РасходнаяНакладная") или (ИдентификаторКонфигурации = "UOUTK") Тогда
ТекстЗапроса = ТекстЗапроса + "
|Функция НДС_ = Сумма(СуммаСНДС-СуммаБезНДС);";
Иначе
ТекстЗапроса = ТекстЗапроса + "
|НДС = Документ.*.НДС;
|Функция НДС_ = Сумма(НДС);";
КонецЕсли;
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
|Группировка Документ;
|Условие(Фирма в ВыбФирма);
|Условие(Контрагент в список);";
Если НеПоказуватиЗареєстровані = 1 Тогда
Если (ВидДок = "НалоговаяНакладная") или (ВидДок = "Приложение2") Тогда
ТекстЗапроса = ТекстЗапроса + "
|ЕРНН = Документ.*.ЕРНН;
|Условие(ЕРНН = 0);";
КонецЕсли;
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "*", ВидДок);
Запрос = СоздатьОбъект("Запрос");
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
табл.УдалитьСтроки();
НомерСтроки = 0;
Пока Запрос.Группировка(1) = 1 Цикл
НомерСтроки = НомерСтроки + 1;
табл.НоваяСтрока();
табл.ДатаДокумента = Запрос.ДатаДок;
табл.НомерДокумента = Запрос.НомерДок;
табл.Контрагент = Запрос.Контрагент;
табл.КонтрагентИНН = табл.Контрагент.ИНН;
табл.СуммаБезНДС = Запрос.СуммаБезНДС_;
табл.НДС = Запрос.НДС_;
табл.СуммаСНДС = Запрос.СуммаСНДС_;
табл.Документ = Запрос.Документ;
Если Метаданные.Документ(табл.Документ.Вид()).РеквизитШапки("ЕРНН").Выбран() = 1 Тогда
табл.ЕРНН = ?(табл.Документ.ЕРНН = 1,2,1);
табл.Пометка = ?(табл.ЕРНН = 2,1,2);
Иначе
табл.Пометка = 2;
КонецЕсли;
табл.ДокИД = РозрахуватиДокИД(Запрос.Документ);
табл.Результат = "Документ з бази 1С";
Для і = 1 По спРекв.РазмерСписка() Цикл
Если спРекв.Пометка(і) = 0 Тогда
Продолжить;
КонецЕсли;
табл.УстановитьЗначение(НомерСтроки, спРекв.ПолучитьЗначение(і), табл.Документ.ПолучитьАтрибут(спРекв.ПолучитьЗначение(і)));
КонецЦикла;
КонецЦикла;
ЗаповнитиСтатусиДокументів(1);
Если Форма.Закладки.ТекущаяСтрока() = 1 Тогда
Форма.Закладки.ТекущаяСтрока(2);
Форма.ИспользоватьСлой("Загальний, Таблиця", 2);
КонецЕсли;
КонецПроцедуры