Внешняя печатная форма "Счет на оплату" для УТ 11.1.2.хх. Ошибка
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 3 из 3
  1. #1
    Гость форума

    Регистрация
    02.10.2013
    Сообщений
    2
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях

    Question Внешняя печатная форма "Счет на оплату" для УТ 11.1.2.хх. Ошибка

    Доброй ночи. Делаю ВПФ "Счет на оплату" для УТ 11.1.2.хх.
    Пишу:
    Функция СформироватьПечатнуюФорму (МассивОбъектов, ОбъектыПечати) Экспорт

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


    Шапка = Запрос.Выполнить().Выбрать() ;
    Шапка.Следующий();

    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.ИмяПара� �етровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказКли� �нта_СчетНаОплату";


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

    ЗапросТовары = Запрос.Выполнить().Выгрузит ь();

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

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

    ОбластьМакета.Параметры.БИ КБанкаПолучателя = БИК;
    ОбластьМакета.Параметры.Ба нкПолучателя = Банк;
    ОбластьМакета.Параметры.БИ КБанкаПолучателя = БИК;
    ОбластьМакета.Параметры.Ба нкПолучателя = Банк;
    ОбластьМакета.Параметры.Ба нкПолучателяПредставление = СокрЛП(Банк) + " " + ГородБанка;
    ОбластьМакета.Параметры.Сч етБанкаПолучателя = КоррСчет;
    ОбластьМакета.Параметры.Сч етБанкаПолучателяПредстав ление = КоррСчет;
    ОбластьМакета.Параметры.Сч етПолучателяПредставление = НомерСчета;
    ОбластьМакета.Параметры.Сч етПолучателя = НомерСчета;

    Если ПустаяСтрока(СтруктурнаяЕ� �иница.ТекстКорреспондента ) Тогда
    ТекстКорреспондента = СведенияОПолучателе.Наиме� �ованиеДляПечатныхФорм;
    Если ЗначениеЗаполнено(Структу� �наяЕдиница.БанкДляРасчето в) Тогда
    ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерС� �ета
    + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Го род;
    КонецЕсли;
    Иначе
    ТекстКорреспондента = СтруктурнаяЕдиница.ТекстК� �рреспондента;
    КонецЕсли;
    ОбластьМакета.Параметры.Пр едставлениеПолучателя = ТекстКорреспондента;

    ТабличныйДокумент.Вывести( ОбластьМакета);
    КонецЕсли;
    // Вывести область заголовка
    ОбластьМакета = Макет.ПолучитьОбласть("Заг� �ловок");
    ОбластьМакета.Параметры.Те кстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента , "ДФ=""dd MMMM yyyy""");
    ТабличныйДокумент.Вывести( ОбластьМакета);

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

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

    // Вывести табличную часть (товары и услуги)
    ОбластьМакета = Макет.ПолучитьОбласть("Шап� �аТаблицыСНДС");
    ОбластьМакета.Параметры.За полнить(Шапка);
    ОбластьМакета.Параметры.Но мер = Номер;
    ОбластьМакета.Параметры.То вар = "Товары (работы, услуги)";
    ОбластьМакета.Параметры.Ко личество = Количество;
    ОбластьМакета.Параметры.Це на = Цена;
    ОбластьМакета.Параметры.Ст авкаНДС = СтавкаНДС;
    ОбластьМакета.Параметры.Су ммаНДС = СуммаНДС;
    ОбластьМакета.Параметры.Су мма = Сумма;
    ТабличныйДокумент.Вывести( ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("Стр� �каТаблицыСНДС");
    НомерСтроки = 0;

    Для Каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
    НомерСтроки = НомерСтроки+1;

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

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

    // Выводим секцию с итоговой суммой с НДС
    Если СуммаСНДС <> 0 Тогда
    ОбластьМакета = Макет.ПолучитьОбласть("Ито� �оСНДС");
    ОбластьМакета.Параметры.Вс егоНДС = ОбщегоНазначения.ФорматСу� �м(СуммаНДС);
    СуммаСНДС = Сумма + СуммаНДС;
    ОбластьМакета.Параметры.НД С = ?(Выборка.СуммаВключаетНДС, "Итого с НДС", " Сумма НДС");
    ОбластьМакета.Параметры.Вс егоСНДС = ОбщегоНазначения.ФорматСу� �м(СуммаСНДС);
    ТабличныйДокумент.Вывести( ОбластьМакета);
    КонецЕсли;

    // Выводим сумму прописью
    ОбластьМакета = Макет.ПолучитьОбласть("Сум� �аПрописью");
    ОбластьМакета.Параметры.Ит оговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСу� �м(СуммаКПрописи) + " руб.";
    ОбластьМакета.Параметры.Су ммаПрописью = ЧислоПрописью(СуммаКПропи� �и, "L=ru_RU", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");

    // Заполнить реквизиты подвала
    ОбластьМакета = Макет.ПолучитьОбласть("Под� �алСчета");
    ОбластьМакета.Параметры.ФИ ОРуководителя = ФизическиеЛица.ФамилияИни� �иалыФизЛица(Данные.Руково� �итель);
    ОбластьМакета.Параметры.ФИ ОГлавногоБухгалтера = ФизическиеЛица.ФамилияИни� �иалыФизЛица(Данные.Главны� �Бухгалтер);
    ОбластьМакета.Параметры.ФИ Оменеджера = ФизическиеЛица.ФамилияИни� �иалыФизЛица(Данные.Менедж� �р);
    ТабличныйДокумент.Вывести( ОбластьМакета);

    Возврат ТабличныйДокумент;

    КонецФункции // СформироватьПечатнуюФорму ()

    Ошибка: {ВнешняяОбработка.СчетНаОп латуПокупателю.МодульОбъе� �та(310,1)}: Ожидается ключевое слово 'КонецЕсли' ('EndIf')
    <<?>>КонецФункции // СформироватьПечатнуюФорму () (Проверка: Сервер)

    Что может быть не так? Спасибо

  2. #2
    Просто юзер

    Регистрация
    10.11.2009
    Сообщений
    64
    Сказал(а) спасибо
    0
    Поблагодарили 14 раз(а) в 13 сообщениях

    По умолчанию

    Ответ прост одного КонецЕсли не хватает.
    Просто поиском пройдись по процедуре 5-ть Если и 4-е КонецЕсли.

    Наверное тут:

    Если ПустаяСтрока(СтруктурнаяЕ? ?иница.ТекстКорреспондента ) Тогда
    ТекстКорреспондента = СведенияОПолучателе.Наиме? ?ованиеДляПечатныхФорм;
    Если ЗначениеЗаполнено(Структу? ?наяЕдиница.БанкДляРасчето в) Тогда
    ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерС? ?ета
    + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Го род;
    КонецЕсли;
    Иначе
    ТекстКорреспондента = СтруктурнаяЕдиница.ТекстК? ?рреспондента;
    КонецЕсли;
    ОбластьМакета.Параметры.Пр едставлениеПолучателя = ТекстКорреспондента;

    ТабличныйДокумент.Вывести( ОбластьМакета);
    КонецЕсли;

    КонецЕсли;

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

    ТабличныйДокумент.Вывести( ОбластьМакета);
    КонецЕсли;

    // Вывести область заголовка
    ОбластьМакета = Макет.ПолучитьОбласть("Заг? ?ловок");
    ОбластьМакета.Параметры.Те кстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента , "ДФ=""dd MMMM yyyy""");
    ТабличныйДокумент.Вывести( ОбластьМакета);
    Последний раз редактировалось Bolzen; 19.11.2013 в 14:20.

  3. Пользователь сказал cпасибо:

    programmist1c8 (19.11.2013)

  4. #3
    Гость форума

    Регистрация
    02.10.2013
    Сообщений
    2
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Спасибо, сейчас буду пробовать

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •