Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
29 Мар 2017, 04:21
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: ВПФ счет-фактуры(БП, редакция 3.0 (3.0.43.116)  (Прочитано 509 раз)

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

Оффлайн anton.kislov

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-05-23
  • Сайт: 
  • Профессия: Разработчик 1С
Ситуация такова...: Делал внешние печатные формы для Бухгалтерии 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

  • *****
  • Сообщений: 766
  • РЕПУТАЦИЯ: 164
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Согласно запросу который вы прикрутили к ВПФ, у вас в переменную МассивОбъектов должны входить документы "Счет фактура выданный", а у вас скорее всего в него входят документы "Реализация товаров и услуг".
Переформировывайте МассивОбъектов.

Оффлайн anton.kislov

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-05-23
  • Сайт: 
  • Профессия: Разработчик 1С
Согласно запросу который вы прикрутили к ВПФ, у вас в переменную МассивОбъектов должны входить документы "Счет фактура выданный", а у вас скорее всего в него входят документы "Реализация товаров и услуг".
Переформировывайте МассивОбъектов.
Согласен... И как я сразу не заметил...
Код взял, и не проверил
Спасибо, буду переделывать


Теги:
 

Не списано 0,0004 кг товара "XXXXX", счет учета 1310, склад Склад материалов

Автор RamirasРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 4195
Последний ответ 30 Июл 2015, 09:21
от Макси
Значение поля "Лицевой счет" содержит недопустимое значение типа лицевого счета

Автор unantedРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 3344
Последний ответ 24 Июл 2012, 05:02
от unanted
Формирование отчёта "Задолженость по контрагентам" 1С:Предприятие 8.2 "Торговля для частных предпринимателей базовая", редакция 1.0

Автор casper009Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 2398
Последний ответ 27 Май 2015, 10:02
от casper009
Настройка документа "Счет покупателю", 1С 8.3

Автор ПростоБухРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 1565
Последний ответ 22 Окт 2015, 12:07
от ПростоБух
Не идет Сумма по счет фактруре и сумма в проводках

Автор Tanya2016Раздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 369
Последний ответ 21 Июл 2016, 15:55
от Tanya2016

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
alex0402
124 Сообщений
MuI_I_Ika MuI_I_Ika
54 Сообщений
Norfolk
52 Сообщений
LexaK
47 Сообщений
друган
20 Сообщений
alexandr_ll
20 Сообщений
AsadRoman
18 Сообщений
Константин5825
18 Сообщений
MrLvovsky MrLvovsky
16 Сообщений

* Кто онлайн

  • Точка Гостей: 228
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal