Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 12:18

ВПФ счет-фактуры(БП, редакция 3.0 (3.0.43.116)

Автор anton.kislov, 24 июн 2016, 12:02

0 Пользователей и 1 гость просматривают эту тему.

anton.kislov

Ситуация такова...: Делал внешние печатные формы для Бухгалтерии 3.0(Базовая)
СчетПокупателю,Акт об услугах... - все отлично, пользуюсь..
Взялся за ВПФ "Счет-Фактура", делаю всё по аналогии...но 1С ругается


Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", ПолучитьНазначениеОбработки());
ПараметрыРегистрации.Вставить("Наименование", "Счет фактура");
ПараметрыРегистрации.Вставить("Версия", "Версия 1.10");
ПараметрыРегистрации.Вставить("Информация", "Счет фактура (внешняя печатная форма)");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);

Команды = ПолучитьТаблицуКоманд();
ДобавитьКоманду(Команды, "Счет фактура (внешняя печатная форма)",
"СФВ" ,
"ВызовСерверногоМетода",
Ложь,
"ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", Команды);
Возврат ПараметрыРегистрации;

КонецФункции

Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции


Функция ПолучитьНазначениеОбработки()
Массив = Новый Массив;
Массив.Добавить("Документ.РеализацияТоваровУслуг");
Возврат Массив;

КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры


Функция ТекстЗапросаПечатьСчетовФактур(ИспользуетсяПостановлениеНДС1137 = Истина, ДляУниверсальногоПередаточногоДокумента = Ложь) Экспорт

ТекстЗапроса =
"ВЫБРАТЬ
| СчетФактура.Ссылка КАК СчетФактура,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.ДатаИсходногоДокумента
| ИНАЧЕ СчетФактура.Дата
| КОНЕЦ КАК Дата,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.НомерИсходногоДокумента
| ИНАЧЕ СчетФактура.Номер
| КОНЕЦ КАК Номер,
| СчетФактура.ВидСчетаФактуры,
| СчетФактура.Руководитель,
| СчетФактура.ГлавныйБухгалтер,
| СчетФактура.СчетФактураБезНДС,
| СчетФактура.Исправление,
| СчетФактура.НомерИсправления,
| СчетФактура.Дата КАК ДатаИсправления,
| СчетФактура.Дата КАК ДатаСведений,
| НЕ СчетФактура.Исправление КАК УдалитьПрефиксыИзНомера,
| ИСТИНА КАК ЭтоСчетФактураВыданный,
| ИСТИНА КАК ВыводитьСуммуБезНДС,
| СчетФактураДокументыОснования.ДокументОснование КАК ДокументОснование,
| СчетФактураДокументыОснования.НомерСтроки КАК НомерСтроки,
| ВЫБОР
| КОГДА СчетФактура.Продавец <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА СчетФактура.Продавец
| ИНАЧЕ СчетФактура.Контрагент
| КОНЕЦ КАК Контрагент,
| ВЫБОР
| КОГДА СчетФактура.Продавец <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ СчетФактура.ДоговорКонтрагента
| КОНЕЦ КАК ДоговорКонтрагента,
| СчетФактура.КППКонтрагента КАК КППСчетаФактуры,
| СчетФактура.Организация,
| ВЫБОР
| КОГДА СчетФактура.ДоговорКонтрагента <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| ТОГДА СчетФактура.ДоговорКонтрагента.ВидДоговора
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
| КОНЕЦ КАК ВидДоговора,
| СчетФактура.Организация.ОбособленноеПодразделение КАК ОбособленноеПодразделение,
| СчетФактура.Организация.ЦифровойИндексОбособленногоПодразделения КАК ЦифровойИндексОбособленногоПодразделения,
| ЛОЖЬ КАК НеподтверждениеНулевойСтавки,
| СчетФактура.СводныйКомиссионный КАК СводныйКомиссионный
|ИЗ
| Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураДокументыОснования
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный КАК СчетФактура
| ПО СчетФактураДокументыОснования.Ссылка = СчетФактура.Ссылка
|ГДЕ
| СчетФактураДокументыОснования.Ссылка В(&МассивОбъектов)
| И &УсловиеПоДате
| И СчетФактура.ДокументыОснования.Ссылка.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаРеализацию)
| И ТИПЗНАЧЕНИЯ(СчетФактураДокументыОснования.ДокументОснование) <> ТИП(Документ.ПодтверждениеНулевойСтавкиНДС)";

Если ДляУниверсальногоПередаточногоДокумента Тогда
ТекстЗапроса = ТекстЗапроса + "
| И СчетФактура.Дата >= ДАТАВРЕМЯ(2013, 1, 1)
| И ТИПЗНАЧЕНИЯ(СчетФактураДокументыОснования.ДокументОснование) <> ТИП(Документ.ОтчетКомиссионераОПродажах)
| И ТИПЗНАЧЕНИЯ(СчетФактураДокументыОснования.ДокументОснование) <> ТИП(Документ.ОтражениеНачисленияНДС)
| И ТИПЗНАЧЕНИЯ(СчетФактураДокументыОснования.ДокументОснование) <> ТИП(Документ.НачислениеНДСпоСМРхозспособом)";
КонецЕсли;

Если НЕ ДляУниверсальногоПередаточногоДокумента Тогда

ТекстЗапроса = ТекстЗапроса + ?(ПустаяСтрока(ТекстЗапроса), "", " ОБЪЕДИНИТЬ ВСЕ ") +
"ВЫБРАТЬ
| СчетФактура.Ссылка КАК СчетФактура,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.ДатаИсходногоДокумента
| ИНАЧЕ СчетФактура.Дата
| КОНЕЦ КАК Дата,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.НомерИсходногоДокумента
| ИНАЧЕ СчетФактура.Номер
| КОНЕЦ КАК Номер,
| СчетФактура.ВидСчетаФактуры,
| СчетФактура.Руководитель,
| СчетФактура.ГлавныйБухгалтер,
| ЛОЖЬ КАК СчетФактураБезНДС,
| СчетФактура.Исправление,
| СчетФактура.НомерИсправления,
| СчетФактура.Дата КАК ДатаИсправления,
| СчетФактура.Дата КАК ДатаСведений,
| НЕ СчетФактура.Исправление КАК УдалитьПрефиксыИзНомера,
| ИСТИНА КАК ЭтоСчетФактураВыданный,
| ЛОЖЬ КАК ВыводитьСуммуБезНДС,
| СчетФактура.Ссылка КАК ДокументОснование,
| 1 КАК НомерСтроки,
| ВЫБОР
| КОГДА СчетФактура.Контрагент.ОбособленноеПодразделение
| И СчетФактура.Контрагент.ГоловнойКонтрагент.СтранаРегистрации = ЗНАЧЕНИЕ(Справочник.СтраныМира.Россия)
| ТОГДА СчетФактура.Контрагент.ГоловнойКонтрагент
| ИНАЧЕ СчетФактура.Контрагент
| КОНЕЦ КАК Контрагент,
| СчетФактура.ДоговорКонтрагента,
| СчетФактура.КППКонтрагента КАК КППСчетаФактуры,
| СчетФактура.Организация,
| ВЫБОР
| КОГДА СчетФактура.ДоговорКонтрагента <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| ТОГДА СчетФактура.ДоговорКонтрагента.ВидДоговора
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
| КОНЕЦ КАК ВидДоговора,
| СчетФактура.Организация.ОбособленноеПодразделение,
| СчетФактура.Организация.ЦифровойИндексОбособленногоПодразделения,
| ЛОЖЬ КАК НеподтверждениеНулевойСтавки,
| СчетФактура.СводныйКомиссионный КАК СводныйКомиссионный
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактура
|ГДЕ
| СчетФактура.Ссылка В(&МассивОбъектов)
| И &УсловиеПоДате
| И СчетФактура.ВидСчетаФактуры В (ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАванс), ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАвансКомитента), ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАвансКомитентаНаЗакупку))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетФактура.Ссылка,
| СчетФактура.Дата,
| СчетФактура.Номер,
| СчетФактура.ВидСчетаФактуры,
| СчетФактура.Руководитель,
| СчетФактура.ГлавныйБухгалтер,
| ЛОЖЬ,
| СчетФактура.Исправление,
| СчетФактура.НомерИсправления,
| СчетФактура.Дата,
| СчетФактура.Дата,
| ИСТИНА,
| ИСТИНА,
| ЛОЖЬ,
| СчетФактура.Ссылка,
| 1,
| ВЫБОР
| КОГДА СчетФактура.Контрагент.ОбособленноеПодразделение
| И СчетФактура.Контрагент.ГоловнойКонтрагент.СтранаРегистрации = ЗНАЧЕНИЕ(Справочник.СтраныМира.Россия)
| ТОГДА СчетФактура.Контрагент.ГоловнойКонтрагент
| ИНАЧЕ СчетФактура.Контрагент
| КОНЕЦ,
| СчетФактура.ДоговорКонтрагента,
| СчетФактура.КППКонтрагента,
| СчетФактура.Организация,
| ВЫБОР
| КОГДА СчетФактура.ДоговорКонтрагента <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| ТОГДА СчетФактура.ДоговорКонтрагента.ВидДоговора
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
| КОНЕЦ,
| СчетФактура.Организация.ОбособленноеПодразделение,
| СчетФактура.Организация.ЦифровойИндексОбособленногоПодразделения,
| ЛОЖЬ,
| СчетФактура.СводныйКомиссионный
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактура
|ГДЕ
| СчетФактура.Ссылка В(&МассивОбъектов)
| И &УсловиеПоДате
| И СчетФактура.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаСуммовуюРазницу)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетФактура.Ссылка,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.ДатаИсходногоДокумента
| ИНАЧЕ СчетФактура.Дата
| КОНЕЦ,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.НомерИсходногоДокумента
| ИНАЧЕ СчетФактура.Номер
| КОНЕЦ,
| СчетФактура.ВидСчетаФактуры,
| СчетФактура.Руководитель,
| СчетФактура.ГлавныйБухгалтер,
| СчетФактура.СчетФактураБезНДС,
| СчетФактура.Исправление,
| СчетФактура.НомерИсправления,
| СчетФактура.Дата,
| СчетФактура.Дата,
| НЕ СчетФактура.Исправление,
| ИСТИНА,
| ИСТИНА,
| СчетФактура.Ссылка,
| 1,
| ВЫБОР
| КОГДА СчетФактура.Контрагент.ОбособленноеПодразделение
| И СчетФактура.Контрагент.ГоловнойКонтрагент.СтранаРегистрации = ЗНАЧЕНИЕ(Справочник.СтраныМира.Россия)
| ТОГДА СчетФактура.Контрагент.ГоловнойКонтрагент
| ИНАЧЕ СчетФактура.Контрагент
| КОНЕЦ,
| СчетФактура.ДоговорКонтрагента,
| СчетФактура.КППКонтрагента,
| СчетФактура.Организация,
| ВЫБОР
| КОГДА СчетФактура.ДоговорКонтрагента <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| ТОГДА СчетФактура.ДоговорКонтрагента.ВидДоговора
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
| КОНЕЦ,
| СчетФактура.Организация.ОбособленноеПодразделение,
| СчетФактура.Организация.ЦифровойИндексОбособленногоПодразделения,
| ЛОЖЬ,
| СчетФактура.СводныйКомиссионный
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактура
|ГДЕ
| СчетФактура.Ссылка В(&МассивОбъектов)
| И &УсловиеПоДате
| И СчетФактура.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НалоговыйАгент)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетФактура.Ссылка,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.ДатаИсходногоДокумента
| ИНАЧЕ СчетФактура.Дата
| КОНЕЦ,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.НомерИсходногоДокумента
| ИНАЧЕ СчетФактура.Номер
| КОНЕЦ,
| СчетФактура.ВидСчетаФактуры,
| СчетФактура.Руководитель,
| СчетФактура.ГлавныйБухгалтер,
| СчетФактура.СчетФактураБезНДС,
| СчетФактура.Исправление,
| СчетФактура.НомерИсправления,
| СчетФактура.Дата,
| СчетФактура.Дата,
| НЕ СчетФактура.Исправление,
| ИСТИНА,
| ИСТИНА,
| ПодтверждениеНулевойСтавкиСостав.ДокументОтгрузки,
| ПодтверждениеНулевойСтавкиСостав.НомерСтроки,
| ВЫБОР
| КОГДА СчетФактура.Продавец <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА СчетФактура.Продавец
| ИНАЧЕ СчетФактура.Контрагент
| КОНЕЦ,
| ВЫБОР
| КОГДА СчетФактура.Продавец <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ СчетФактура.ДоговорКонтрагента
| КОНЕЦ,
| СчетФактура.КППКонтрагента,
| СчетФактура.Организация,
| ВЫБОР
| КОГДА СчетФактура.ДоговорКонтрагента <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| ТОГДА СчетФактура.ДоговорКонтрагента.ВидДоговора
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
| КОНЕЦ,
| СчетФактура.Организация.ОбособленноеПодразделение,
| СчетФактура.Организация.ЦифровойИндексОбособленногоПодразделения,
| ИСТИНА,
| СчетФактура.СводныйКомиссионный
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПодтверждениеНулевойСтавкиНДС.Состав КАК ПодтверждениеНулевойСтавкиСостав
| ПО (ПодтверждениеНулевойСтавкиСостав.СчетФактураВыданный = СчетФактура.Ссылка)
|ГДЕ
| СчетФактура.Ссылка В(&МассивОбъектов)
| И &УсловиеПоДате
| И СчетФактура.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаРеализацию)
| И ТИПЗНАЧЕНИЯ(СчетФактура.ДокументОснование) = ТИП(Документ.ПодтверждениеНулевойСтавкиНДС)
| И ТИПЗНАЧЕНИЯ(ПодтверждениеНулевойСтавкиСостав.ДокументОтгрузки) <> ТИП(Документ.СчетФактураВыданный)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетФактураПоСтавке0.Ссылка,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.ДатаИсходногоДокумента
| ИНАЧЕ СчетФактура.Дата
| КОНЕЦ,
| ВЫБОР
| КОГДА СчетФактура.Исправление
| ТОГДА СчетФактура.НомерИсходногоДокумента
| ИНАЧЕ СчетФактура.Номер
| КОНЕЦ,
| СчетФактура.ВидСчетаФактуры,
| СчетФактура.Руководитель,
| СчетФактура.ГлавныйБухгалтер,
| СчетФактура.СчетФактураБезНДС,
| СчетФактура.Исправление,
| СчетФактура.НомерИсправления,
| СчетФактура.Дата,
| СчетФактура.Дата,
| НЕ СчетФактура.Исправление,
| ИСТИНА,
| ИСТИНА,
| СчетФактураПоСтавке0.ДокументОснование,
| ПодтверждениеНулевойСтавкиСостав.НомерСтроки,
| ВЫБОР
| КОГДА СчетФактураПоСтавке0.Продавец <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА СчетФактураПоСтавке0.Продавец
| ИНАЧЕ СчетФактураПоСтавке0.Контрагент
| КОНЕЦ,
| ВЫБОР
| КОГДА СчетФактураПоСтавке0.Продавец <> ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
| ТОГДА НЕОПРЕДЕЛЕНО
| ИНАЧЕ СчетФактураПоСтавке0.ДоговорКонтрагента
| КОНЕЦ,
| СчетФактура.КППКонтрагента,
| СчетФактура.Организация,
| ВЫБОР
| КОГДА СчетФактураПоСтавке0.ДоговорКонтрагента <> ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)
| ТОГДА СчетФактураПоСтавке0.ДоговорКонтрагента.ВидДоговора
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)
| КОНЕЦ,
| СчетФактура.Организация.ОбособленноеПодразделение,
| СчетФактура.Организация.ЦифровойИндексОбособленногоПодразделения,
| ИСТИНА,
| СчетФактура.СводныйКомиссионный
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактура
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПодтверждениеНулевойСтавкиНДС.Состав КАК ПодтверждениеНулевойСтавкиСостав
| ПО (ПодтверждениеНулевойСтавкиСостав.СчетФактураВыданный = СчетФактура.Ссылка)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный КАК СчетФактураПоСтавке0
| ПО (ПодтверждениеНулевойСтавкиСостав.ДокументОтгрузки = СчетФактураПоСтавке0.Ссылка)
|ГДЕ
| СчетФактура.Ссылка В(&МассивОбъектов)
| И &УсловиеПоДате
| И СчетФактура.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаРеализацию)
| И ТИПЗНАЧЕНИЯ(СчетФактура.ДокументОснование) = ТИП(Документ.ПодтверждениеНулевойСтавкиНДС)
| И ТИПЗНАЧЕНИЯ(ПодтверждениеНулевойСтавкиСостав.ДокументОтгрузки) = ТИП(Документ.СчетФактураВыданный)";

КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "
|УПОРЯДОЧИТЬ ПО
| Дата,
| СчетФактура,
| НомерСтроки
|ИТОГИ
| МАКСИМУМ(Дата),
| МАКСИМУМ(Номер),
| МАКСИМУМ(ВидСчетаФактуры),
| МАКСИМУМ(СчетФактураБезНДС),
| МАКСИМУМ(Исправление),
| МАКСИМУМ(НомерИсправления),
| МАКСИМУМ(ДатаИсправления),
| МАКСИМУМ(УдалитьПрефиксыИзНомера),
| МАКСИМУМ(ЭтоСчетФактураВыданный),
| МАКСИМУМ(ВыводитьСуммуБезНДС),
| МАКСИМУМ(НеподтверждениеНулевойСтавки)
|ПО
| СчетФактура" + ОбщегоНазначенияБПВызовСервера.ТекстРазделителяЗапросовПакета();

ТекстЗапроса = ТекстЗапроса +
"ВЫБРАТЬ
| СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка КАК СчетФактура,
| СчетФактураВыданныйПлатежноРасчетныеДокументы.НомерСтроки КАК НомерСтроки,
| СчетФактураВыданныйПлатежноРасчетныеДокументы.ДатаДокумента КАК ДатаДокумента,
| СчетФактураВыданныйПлатежноРасчетныеДокументы.НомерДокумента КАК НомерДокумента,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Контрагент
|ИЗ
| Документ.СчетФактураВыданный.ПлатежноРасчетныеДокументы КАК СчетФактураВыданныйПлатежноРасчетныеДокументы
|ГДЕ
| СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка В(&МассивОбъектов)
| И НЕ(СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАванс)
| ИЛИ СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАвансКомитента)
| ИЛИ СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАвансКомитентаНаЗакупку))
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетФактураВыданныйАвансы.Ссылка,
| СчетФактураВыданныйАвансы.НомерСтроки,
| СчетФактураВыданныйАвансы.ДатаПлатежноРасчетногоДокумента,
| СчетФактураВыданныйАвансы.НомерПлатежноРасчетногоДокумента,
| СчетФактураВыданныйАвансы.Контрагент
|ИЗ
| Документ.СчетФактураВыданный.Авансы КАК СчетФактураВыданныйАвансы
|ГДЕ
| СчетФактураВыданныйАвансы.Ссылка В(&МассивОбъектов)
| И СчетФактураВыданныйАвансы.Ссылка.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАвансКомитентаНаЗакупку)
| И СчетФактураВыданныйАвансы.Ссылка.СводныйКомиссионный";

Если НЕ ДляУниверсальногоПередаточногоДокумента Тогда

ТекстЗапроса = ТекстЗапроса + "
|
|ОБЪЕДИНИТЬ ВСЕ
|" +
"ВЫБРАТЬ
| СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка,
| 1,
| СчетФактураВыданныйПлатежноРасчетныеДокументы.ДатаПлатежноРасчетногоДокумента,
| СчетФактураВыданныйПлатежноРасчетныеДокументы.НомерПлатежноРасчетногоДокумента,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактураВыданныйПлатежноРасчетныеДокументы
|ГДЕ
| СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка В(&МассивОбъектов)
| И (СчетФактураВыданныйПлатежноРасчетныеДокументы.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАванс)
| ИЛИ СчетФактураВыданныйПлатежноРасчетныеДокументы.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАвансКомитента)
| ИЛИ СчетФактураВыданныйПлатежноРасчетныеДокументы.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАвансКомитентаНаЗакупку)
| И НЕ СчетФактураВыданныйПлатежноРасчетныеДокументы.СводныйКомиссионный)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка,
| 2,
| СчетФактураВыданныйПлатежноРасчетныеДокументы.ДатаДокументаАвансаКомитента,
| СчетФактураВыданныйПлатежноРасчетныеДокументы.НомерДокументаАвансаКомитента,
| ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
|ИЗ
| Документ.СчетФактураВыданный КАК СчетФактураВыданныйПлатежноРасчетныеДокументы
|ГДЕ
| СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка В(&МассивОбъектов)
| И СчетФактураВыданныйПлатежноРасчетныеДокументы.ВидСчетаФактуры = ЗНАЧЕНИЕ(Перечисление.ВидСчетаФактурыВыставленного.НаАвансКомитентаНаЗакупку)";


КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";

Если ИспользуетсяПостановлениеНДС1137 Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеПоДате",
"СчетФактура.Дата >= &НачалоПримененияПостановления1137");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПлатежноРасчетныеДокументыУсловиеПоДате",
"СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка.Дата >= &НачалоПримененияПостановления1137");
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&УсловиеПоДате",
"СчетФактура.Дата < &НачалоПримененияПостановления1137");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПлатежноРасчетныеДокументыУсловиеПоДате",
"СчетФактураВыданныйПлатежноРасчетныеДокументы.Ссылка.Дата < &НачалоПримененияПостановления1137");
КонецЕсли;

Возврат ТекстЗапроса + ОбщегоНазначенияБПВызовСервера.ТекстРазделителяЗапросовПакета();

КонецФункции

Функция ПодготовитьДанныеШапкиСчетаФактуры(ВыборкаСФ, Реквизиты, ПлатежноРасчетныеДокументы)

ДанныеШапки = Новый Структура;

Если ВыборкаСФ.УдалитьПрефиксыИзНомера Тогда
ДанныеШапки.Вставить("Номер", ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ВыборкаСФ.Номер, Истина, Ложь));
Иначе
ДанныеШапки.Вставить("Номер", ВыборкаСФ.Номер);
КонецЕсли;
ДанныеШапки.Вставить("Дата", Формат(ВыборкаСФ.Дата, "ДФ='дд ММММ гггг'") + " г.");

СведенияОПоставщике = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Реквизиты.Поставщик, ВыборкаСФ.Дата);
ДанныеШапки.Вставить("ПредставлениеПоставщика",
ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПоставщике, "НаименованиеДляПечатныхФорм,"));
ДанныеШапки.Вставить("АдресПоставщика",
ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПоставщике, "ЮридическийАдрес,"));

КПППоставщика = КППНаДату(Реквизиты.ОбособленноеПодразделениеПоставщика, ВыборкаСФ.Дата);
ДанныеШапки.Вставить("ИННпоставщика",
СведенияОПоставщике.ИНН + ?(ЗначениеЗаполнено(КПППоставщика), "/" + КППпоставщика, ""));

СведенияОПокупателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Реквизиты.Покупатель, ВыборкаСФ.Дата);
ДанныеШапки.Вставить("ПредставлениеПокупателя",
ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПокупателе, "НаименованиеДляПечатныхФорм,"));
ДанныеШапки.Вставить("АдресПокупателя",
ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПокупателе, "ЮридическийАдрес,"));
ИНН = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПокупателе, "ИНН,", Ложь);
КПП = КППНаДату(Реквизиты.ОбособленноеПодразделениеПокупателя, ВыборкаСФ.Дата);
ДанныеШапки.Вставить("ИННпокупателя",
ИНН + ?(ЗначениеЗаполнено(КПП), "/" + КПП, ""));

Если НЕ Реквизиты.ЕстьТовары Тогда
ДанныеШапки.Вставить("ПредставлениеГрузоотправителя", "");
ИначеЕсли ЗначениеЗаполнено(Реквизиты.Грузоотправитель)
И ТипЗнч(Реквизиты.Грузоотправитель) <> Тип("Строка") Тогда
СведенияОГрузоотправителе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Реквизиты.Грузоотправитель, ВыборкаСФ.Дата);
ДанныеШапки.Вставить("ПредставлениеГрузоотправителя",
ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОГрузоотправителе, "НаименованиеДляПечатныхФорм,ФактическийАдрес,"));
Иначе
ДанныеШапки.Вставить("ПредставлениеГрузоотправителя", Реквизиты.Грузоотправитель);
КонецЕсли;

Если НЕ Реквизиты.ЕстьТовары Тогда
ДанныеШапки.Вставить("ПредставлениеГрузополучателя", "");
ИначеЕсли ЗначениеЗаполнено(Реквизиты.Грузополучатель) Тогда
СведенияОГрузополучателе = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Реквизиты.Грузополучатель, ВыборкаСФ.Дата);
ДанныеШапки.Вставить("ПредставлениеГрузополучателя",
ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОГрузополучателе, "НаименованиеДляПечатныхФорм,ФактическийАдрес,"));
Иначе
ДанныеШапки.Вставить("ПредставлениеГрузополучателя", Реквизиты.Грузополучатель);
КонецЕсли;

Если ВыборкаСФ.ЭтоСчетФактураВыданный Тогда
Если ОбщегоНазначенияБПВызовСервераПовтИсп.ЭтоЮрЛицо(Реквизиты.Поставщик) Тогда
Руководители = ОтветственныеЛицаБП.ОтветственныеЛица(Реквизиты.Поставщик, ВыборкаСФ.Дата, Реквизиты.Подразделение);
ДанныеШапки.Вставить("ФИОРуководителя", Руководители.РуководительПредставление);
ДанныеШапки.Вставить("ФИОГлавногоБухгалтера", Руководители.ГлавныйБухгалтерПредставление);
Иначе
ДанныеШапки.Вставить("ФИОПБОЮЛ", ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПоставщике, "ФамилияИнициалыФизлица,"));
ДанныеШапки.Вставить("Свидетельство", ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОПоставщике, "Свидетельство,"));
КонецЕсли;
КонецЕсли;

// Платежно-расчетный документ
ПоДокументу = "";
Если ТипЗнч(ПлатежноРасчетныеДокументы) = Тип("ТаблицаЗначений") Тогда
Отбор = Новый Структура("СчетФактура", ВыборкаСФ.СФМакет);
НайденныеСтроки = ПлатежноРасчетныеДокументы.НайтиСтроки(Отбор);
Для каждого ДокументОплаты Из НайденныеСтроки Цикл
Если ЗначениеЗаполнено(ДокументОплаты.НомерДокумента)
И ЗначениеЗаполнено(ДокументОплаты.ДатаДокумента) Тогда
ПоДокументу = ПоДокументу + ?(ПустаяСтрока(ПоДокументу), "",", ")
+ ДокументОплаты.НомерДокумента + " от " + Формат(ДокументОплаты.ДатаДокумента, "ДЛФ='Д'") + " г.";
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если ПустаяСтрока(ПоДокументу) Тогда
ПоДокументу = "--";
КонецЕсли;
ДанныеШапки.Вставить("ПоДокументу", ПоДокументу);

Если ВыборкаСФ.ЭтоСчетФактураВыданный
И ТипЗнч(Реквизиты.Поставщик) = Тип("СправочникСсылка.Контрагенты")
И ТипЗнч(Реквизиты.Покупатель) = Тип("СправочникСсылка.Контрагенты") Тогда

СведенияОКомиссионере = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Реквизиты.Организация, ВыборкаСФ.Дата);

НаименованиеКомиссионера = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКомиссионере, "НаименованиеДляПечатныхФорм,");
ЮридическийАдресКомиссионера = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКомиссионере, "ЮридическийАдрес,");
ИННКомиссионера = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКомиссионере, "ИНН,", Ложь);
КППКомиссионера = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКомиссионере, "КПП,", Ложь);

ДанныеШапки.Вставить("ПредставлениеКомиссионера",
"Составлен комиссионером (агентом): " + НаименованиеКомиссионера
+ ", " + ЮридическийАдресКомиссионера
+ ", ИНН/КПП: " + ИННКомиссионера
+ ?(ЗначениеЗаполнено(КППКомиссионера), "/" + КППКомиссионера, ""));
Иначе
ДанныеШапки.Вставить("ПредставлениеКомиссионера", "");
КонецЕсли;

    Возврат ДанныеШапки;

КонецФункции

Функция КППНаДату(Ссылка, ДатаСведений) Экспорт

Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.Контрагенты") Тогда
Возврат Справочники.Контрагенты.КППНаДату(Ссылка, ДатаСведений);
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.Организации") Тогда
Возврат Справочники.Организации.КППНаДату(Ссылка, ДатаСведений);
ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.ПодразделенияОрганизаций") Тогда
Возврат Справочники.ПодразделенияОрганизаций.КППНаДату(Ссылка, ДатаСведений);
Иначе
Возврат "";
КонецЕсли;

КонецФункции

// Проставляет прочерки в незаполненных полях печатной формы счета-фактуры
//
Процедура ПроставитьПрочеркиВПустыеПоляСчетаФактуры(ОбластьМакета)

Для т = 0 По ОбластьМакета.Параметры.Количество() - 1 Цикл

ТекПараметр = ОбластьМакета.Параметры.Получить(т);

Если (СтрНайти(ТекПараметр, "Продавец:") <> 0)
   И (СокрЛП(ТекПараметр) = "Продавец:") Тогда
ОбластьМакета.Параметры.Установить(т, "Продавец: ----");

ИначеЕсли (СтрНайти(ТекПараметр, "Адрес:") <> 0)
И (СокрЛП(ТекПараметр) = "Адрес:") Тогда
ОбластьМакета.Параметры.Установить(т, "Адрес: ----");

ИначеЕсли (СтрНайти(ТекПараметр, "Идентификационный номер продавца (ИНН):") <> 0)
И (СокрЛП(ТекПараметр) = "Идентификационный номер продавца (ИНН):") Тогда
ОбластьМакета.Параметры.Установить(т, "Идентификационный номер продавца (ИНН): ----");

ИначеЕсли (СтрНайти(ТекПараметр, "Грузоотправитель и его адрес:") <> 0)
И (СокрЛП(ТекПараметр) = "Грузоотправитель и его адрес:") Тогда
ОбластьМакета.Параметры.Установить(т, "Грузоотправитель и его адрес: ----");

ИначеЕсли (СтрНайти(ТекПараметр, "Грузополучатель и его адрес:") <> 0)
    И (СокрЛП(ТекПараметр) = "Грузополучатель и его адрес:") Тогда
ОбластьМакета.Параметры.Установить(т, "Грузополучатель и его адрес: ----");

ИначеЕсли (СтрНайти(ТекПараметр, "К платежно-расчетному документу №") <> 0)
    И (СокрЛП(ТекПараметр) = "К платежно-расчетному документу №  от") Тогда
ОбластьМакета.Параметры.Установить(т, "К платежно-расчетному документу № -- от --");

ИначеЕсли (СтрНайти(ТекПараметр, "Покупатель:") <> 0)
    И (СокрЛП(ТекПараметр) = "Покупатель:") Тогда
ОбластьМакета.Параметры.Установить(т, "Покупатель: ----");

ИначеЕсли (СтрНайти(ТекПараметр, "Идентификационный номер покупателя (ИНН):") <> 0)
И (СокрЛП(ТекПараметр) = "Идентификационный номер покупателя (ИНН):") Тогда
ОбластьМакета.Параметры.Установить(т, "Идентификационный номер покупателя (ИНН): ----");

ИначеЕсли НЕ ЗначениеЗаполнено(ТекПараметр) Тогда
ОбластьМакета.Параметры.Установить(т, "--");

КонецЕсли;

КонецЦикла;

КонецПроцедуры



Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;

Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СФВ") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"СФВ", "Счет-фактура",
ПечатьСчетовФактур(МассивОбъектов, ОбъектыПечати, ТекстЗапросаПечатьСчетовФактур(Ложь)));
КонецЕсли;

ОбщегоНазначенияБП.ЗаполнитьДополнительныеПараметрыПечати(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);


КонецПроцедуры


Функция ПечатьСчетовФактур(МассивОбъектов, ОбъектыПечати, ТекстЗапросаПечатьСчетовФактур) Экспорт

УстановитьПривилегированныйРежим(Истина);

ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.АвтоМасштаб = Истина;
ТабДокумент.ПолеСверху = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

СисИнфо = Новый СистемнаяИнформация;
Если ПустаяСтрока(СисИнфо.ИнформацияПрограммыПросмотра) Тогда
ТабДокумент.ПолеСлева          = 0;
ТабДокумент.ПолеСправа         = 0;
Иначе
ТабДокумент.ПолеСлева          = 10;
ТабДокумент.ПолеСправа         = 10;
КонецЕсли;

//ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_СчетФактураВыданный_СчетФактура451";

Макет = ПолучитьМакет("СФМакет");

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Запрос.УстановитьПараметр("НачалоПримененияПостановления1137", УчетНДСБП.ПолучитьДатуНачалаДействияПостановления1137());
Запрос.Текст = ТекстЗапросаПечатьСчетовФактур;
Результаты = Запрос.ВыполнитьПакет();

ПервыйДокумент = Истина;

ВыборкаСФ = Результаты[0].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "СчетФактура");

ПлатежноРасчетныеДокументы = Неопределено;
Если Результаты.Количество() > 1 И НЕ Результаты[1].Пустой() Тогда
ПлатежноРасчетныеДокументы = Результаты[1].Выгрузить();
ПлатежноРасчетныеДокументы.Индексы.Добавить("СчетФактура");
КонецЕсли;

ДанныеСчетаФактуры = Новый Структура(
"СчетФактура,ВидСчетаФактуры,Контрагент,ДоговорКонтрагента,ИспользуетсяПостановлениеНДС1137,НеподтверждениеНулевойСтавки,СводныйКомиссионный");
ДанныеСчетаФактуры.ИспользуетсяПостановлениеНДС1137 = Ложь;
ДанныеСчетаФактуры.НеподтверждениеНулевойСтавки = Ложь;
ДанныеСчетаФактуры.СводныйКомиссионный = Ложь;
Пока ВыборкаСФ.Следующий() Цикл

ТаблицаДокумента = Неопределено;
ВыборкаПоОснованиям = ВыборкаСФ.Выбрать();
Пока ВыборкаПоОснованиям.Следующий() Цикл
Если НЕ ЗначениеЗаполнено(ВыборкаПоОснованиям.ДокументОснование) Тогда
Продолжить;
КонецЕсли;

ЗаполнитьЗначенияСвойств(ДанныеСчетаФактуры, ВыборкаСФ);
ПараметрыОснования = УчетНДС.ПодготовитьДанныеДляПечатиСчетовФактур(ВыборкаПоОснованиям.ДокументОснование, ДанныеСчетаФактуры);

Если ПараметрыОснования.Реквизиты = Неопределено ИЛИ ПараметрыОснования.ТаблицаДокумента = Неопределено Тогда
Продолжить;
Иначе
Реквизиты = ПараметрыОснования.Реквизиты[0];
КонецЕсли;

Если ТаблицаДокумента = Неопределено Тогда
ТаблицаДокумента = ПараметрыОснования.ТаблицаДокумента;
Иначе
ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(ПараметрыОснования.ТаблицаДокумента, ТаблицаДокумента);
КонецЕсли;
КонецЦикла;
Если ТаблицаДокумента = Неопределено Тогда
Продолжить;
КонецЕсли;

Если НЕ ПервыйДокумент Тогда
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;

// Запомним номер строки, с которой начали выводить текущий документ.
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;

// Вывод шапки

ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ДанныеШапки   = ПодготовитьДанныеШапкиСчетаФактуры(ВыборкаСФ, Реквизиты, ПлатежноРасчетныеДокументы);
ОбластьМакета.Параметры.Заполнить(Реквизиты);
ОбластьМакета.Параметры.Заполнить(ДанныеШапки);
ПроставитьПрочеркиВПустыеПоляСчетаФактуры(ОбластьМакета);
ТабДокумент.Вывести(ОбластьМакета);

// Вывод заголовка таблицы

ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
ОбластьМакета.Параметры.Заполнить(Реквизиты);
ТабДокумент.Вывести(ОбластьМакета);

// Вывод табличной части

ОбластьМакета = Макет.ПолучитьОбласть("Строка");

Для каждого СтрокаДокумента Из ТаблицаДокумента Цикл

ОбластьМакета.Параметры.Заполнить(СтрокаДокумента);
Если ВыборкаСФ.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс Тогда
ОбластьМакета.Параметры.СуммаБезНДС  = "--";
КонецЕсли;
ПроставитьПрочеркиВПустыеПоляСчетаФактуры(ОбластьМакета);
ТабДокумент.Вывести(ОбластьМакета);

КонецЦикла;

// Вывод итоговых сумм

ОбластьМакета = Макет.ПолучитьОбласть("Итого");
ОбластьМакета.Параметры.ИтогоСуммаНДС = ТаблицаДокумента.Итог("СуммаНДС");
ОбластьМакета.Параметры.ИтогоВсего    = ТаблицаДокумента.Итог("Всего");
ПроставитьПрочеркиВПустыеПоляСчетаФактуры(ОбластьМакета);
ТабДокумент.Вывести(ОбластьМакета);

// Вывод подвала

ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
ОбластьМакета.Параметры.Заполнить(ДанныеШапки);
ТабДокумент.Вывести(ОбластьМакета);

// В табличном документе зададим имя области, в которую был выведен объект.
// Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент,
НомерСтрокиНачало, ОбъектыПечати, ВыборкаСФ.СчетФактура);

КонецЦикла;

Возврат ТабДокумент;

КонецФункции




Ругается... на "в обработчике печати не был сформирован табличный документ для СФВ"..
Что не так делаю то?(((

Kironten

Согласно запросу который вы прикрутили к ВПФ, у вас в переменную МассивОбъектов должны входить документы "Счет фактура выданный", а у вас скорее всего в него входят документы "Реализация товаров и услуг".
Переформировывайте МассивОбъектов.

anton.kislov

Цитата: Kironten от 24 июн 2016, 13:13
Согласно запросу который вы прикрутили к ВПФ, у вас в переменную МассивОбъектов должны входить документы "Счет фактура выданный", а у вас скорее всего в него входят документы "Реализация товаров и услуг".
Переформировывайте МассивОбъектов.
Согласен... И как я сразу не заметил...
Код взял, и не проверил
Спасибо, буду переделывать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск