Показано с 1 по 3 из 3
Комбинированный просмотр
-
19.11.2013, 02:27 #1
- Регистрация
- 02.10.2013
- Сообщений
- 2
- Сказал(а) спасибо
- 1
- Поблагодарили 0 раз(а) в 0 сообщениях
Внешняя печатная форма "Счет на оплату" для УТ 11.1.2.хх. Ошибка
Доброй ночи. Делаю ВПФ "Счет на оплату" для УТ 11.1.2.хх.
Пишу:
Функция СформироватьПечатнуюФорму (МассивОбъектов, ОбъектыПечати) Экспорт
Запрос = Новый Запрос();
Запрос.УстановитьПараметр( "ТекущийДокумент", СсылкаНаОбъект);
Запрос.Текст =
"ВЫБРАТЬ
|ЗаказКлиента.Ссылка КАК Ссылка,
|ЗаказКлиента.Номер КАК Номер,
|ЗаказКлиента.Дата КАК Дата,
|ЗаказКлиента.Организация КАК Организация,
|ЗаказКлиента.Организация.� �екущийРуководитель.Наимен ование КАК Руководитель,
|ЗаказКлиента.Организация.� �екущийГлавныйБухгалтер.На именование КАК ГлавныйБухгалтер,
|ВЫБОР
|КОГДА
|ЗаказКлиента.Налогооблаже ниеНДС = ЗНАЧЕНИЕ(Перечисление.Типы НалогооблаженияНДС.Продаж� �ОблагаетсяНДС)
|ТОГДА
|ИСТИНА
|ИНАЧЕ
|ЛОЖЬ
|КОНЕЦ КАК УчитыватьНДС,
|ЗаказКлиента.Организация.� �рефикс КАК Префикс,
|ЗаказКлиента.Контрагент КАК Контрагент,
|ЗаказКлиента.БанковскийСч ет КАК БанковскийСчет,
|ЗаказКлиента.БанковскийСч ет.ТекстКорреспондента КАК БанковскийСчетТекстКоррес пондента,
|ЗаказКлиента.ЦенаВключает НДС КАК ЦенаВключаетНДС,
|ЗаказКлиента.Валюта КАК Валюта,
|ЗаказКлиента.Менеджер.Физ� �ческоеЛицо.Наименование КАК Менеджер,
|ЗаказКлиента.Дополнительн аяИнформация КАК ДополнительнаяИнформация,
|ЗаказКлиента.Товары.(
| НомерСтроки КАК Номенклатура,
| Номенклатура.Код КАК Код,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.Наименование� �олное КАК НаименованиеПолное,
|ВЫБОР
|КОГДА ЗаказКлиента.Товары.Упаков ка = ЗНАЧЕНИЕ(Справочник.Упаков киНоменклатуры.ПустаяСсыл� �а)
|ТОГДА ПРЕДСТАВЛЕНИЕ(ЗаказКлиент� �.Товары.Номенклатура.Едини цаИзмерения)
|ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ЗаказКлиент� �.Товары.Упаковка.ЕдиницаИз мерения)
|КОНЕЦ КАК ЕдиницаИзмерения,
|КоличествоУпаковок КАК Количество,
|Цена КАК Цена,
|СуммаРучнойСкидки + СуммаАвтоматическойСкидки КАК СуммаСкидки,
|Сумма + СуммаРучнойСкидки + СуммаАвтоматическойСкидки КАК СуммаБезСкидки,
|Сумма КАК Сумма,
|СтавкаНДС КАК СтавкаНДС,
|СуммаНДС КАК СуммаНДС,
|ДатаОтгрузки КАК ДатаОтгрузки,
|Характеристика КАК Характеристика,
|Отменено КАК Отменено,
|)
|ИЗ
|Документ.ЗаказКлиента КАК ЗаказКлиента,
|ГДЕ
|ЗаказКлиента.Ссылка = &ТекущийДокумент";
Шапка = Запрос.Выполнить().Выбрать() ;
Шапка.Следующий();
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПара� �етровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказКли� �нта_СчетНаОплату";
Запрос = Новый Запрос;
Запрос.УстановитьПараметр( "ТекущийДокумент", СсылкаНаОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
|ВложенныйЗапрос.Номенклат ура КАК Номенклатура,
|ВЫРАЗИТЬ(ВложенныйЗапрос.� �оменклатура.НаименованиеП олное КАК Строка(1000)) КАК Товар,
|ВложенныйЗапрос.Количеств о,
|ВложенныйЗапрос.ЕдиницаИз мерения,
|ВложенныйЗапрос.Цена,
|ВложенныйЗапрос.СтавкаНДС ,
|ВложенныйЗапрос.СуммаНДС,
|ВложенныйЗапрос.Сумма,
|ВложенныйЗапрос.НомерСтро ки КАК НомерСтроки,
|1 КАК ID
|ИЗ
|(ВЫБРАТЬ
|ЗаказКлиента.Номенклатура КАК Номенклатура,
|ЗаказКлиента.Номенклатура .БазоваяЕдиницаИзиерения.Н аименование КАК ЕдиницаИзмерения,
|ЗаказКлиента.СтавкаНДС КАК СтавкаНДС,
|ЗаказКлиента.Цена КАК Цена,
|СУММА(ЗаказКлиента.Количе� �тво) КАК Количество,
|СУММА(ЗаказКлиента.Сумма) КАК Сумма,
|СУММА(ЗаказКлиента.СуммаН� �С) КАК СуммаНДС,
|МИНИМУМ(ЗаказКлиента.Номе� �Сртроки) КАК НомерСтроки,
|
|ИЗ
|Документ.ЗаказКлиента.Тов� �ры КАК ЗаказКлиента,
|
|ГДЕ
|ЗаказКлиента.Ссылка = &ТекущийДокумент
|
|СГРУППИРОВАТЬ ПО
|ЗазакКлиента.Номенклатура ,
|ЗаказКлиента.Номенклатура .БазоваяЕдиницаИзиерения.Н аименование
|ЗаказКлиента.Цена) КАК ВложенныйЗапрос
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|ЗазакКлиента.Номенклатура ,
|ЗаказКлиента.Количество,
|ЗаказКлиента.Номенклатура .БазоваяЕдиницаИзмерения.Н аименование,
|ЗаказКлиента.Цена,
|ЗаказКлиента.СтавкаНДС,
|ЗаказКлиента.Сумма,
|ЗаказКлиента.СуммаНДС,
|ЗаказКлиента.НомерСтроки,
|2
|ИЗ
|Документ.ЗаказКлиента.Усл� �ги КАК ЗаказКлиента
|
|ГДЕ
|ЗаказКлиента.Ссылка = &ТекущийДокумент
|
|УПОРЯДОЧИТЬ ПО
|ID,
|НомерСтроки";
ЗапросТовары = Запрос.Выполнить().Выгрузит ь();
Макет = ПолучитьМакет("Счет");
// Выводим шапку счета
СведенияОбОрганизации = УправлениеКонтактнойИнфор мацией.СведенияОЮрФизЛице( Шапка.Получатель, Шапка.Дата);
Если Тип = "Счет" Тогда
ОбластьМакета = Макет.ПолучитьОбласть("Заг� �ловокСчета");
ОбластьМакета.Параметры.За полнить(Шапка);
ОбластьМакета.Параметры.ИН НПолучателя = СведенияОПолучателе.ИНН;
ОбластьМакета.Параметры.КП ППолучателя = СведенияОПолучателе.КПП;
Если ТипЗнчения(СтруктурнаяЕди� �ица) = Тип("СправочникСсылка.Банк� �вскиеСчета") Тогда
Банк = ?(НЕ ЗначениеЗаполнено(Структу� �наяЕдиницаБанкДляРасчето� �), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДл� �Расчетов);
БИК = Банк.Код;
КоррСчет = Банк.КоррСчет;
ГородБанка = Банк.Город;
НомерСчета = ВернутьРасчетныйСчет(Стру� �турнаяЕдиница);
ОбластьМакета.Параметры.БИ КБанкаПолучателя = БИК;
ОбластьМакета.Параметры.Ба нкПолучателя = Банк;
ОбластьМакета.Параметры.БИ КБанкаПолучателя = БИК;
ОбластьМакета.Параметры.Ба нкПолучателя = Банк;
ОбластьМакета.Параметры.Ба нкПолучателяПредставление = СокрЛП(Банк) + " " + ГородБанка;
ОбластьМакета.Параметры.Сч етБанкаПолучателя = КоррСчет;
ОбластьМакета.Параметры.Сч етБанкаПолучателяПредстав ление = КоррСчет;
ОбластьМакета.Параметры.Сч етПолучателяПредставление = НомерСчета;
ОбластьМакета.Параметры.Сч етПолучателя = НомерСчета;
Если ПустаяСтрока(СтруктурнаяЕ� �иница.ТекстКорреспондента ) Тогда
ТекстКорреспондента = СведенияОПолучателе.Наиме� �ованиеДляПечатныхФорм;
Если ЗначениеЗаполнено(Структу� �наяЕдиница.БанкДляРасчето в) Тогда
ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерС� �ета
+ " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Го род;
КонецЕсли;
Иначе
ТекстКорреспондента = СтруктурнаяЕдиница.ТекстК� �рреспондента;
КонецЕсли;
ОбластьМакета.Параметры.Пр едставлениеПолучателя = ТекстКорреспондента;
ТабличныйДокумент.Вывести( ОбластьМакета);
КонецЕсли;
// Вывести область заголовка
ОбластьМакета = Макет.ПолучитьОбласть("Заг� �ловок");
ОбластьМакета.Параметры.Те кстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента , "ДФ=""dd MMMM yyyy""");
ТабличныйДокумент.Вывести( ОбластьМакета);
// Вывести область поставщика
ОбластьМакета = Макет.ПолучитьОбласть("Пос� �авщик");
ОбластьМакета.Параметры.За полнить(Шапка);
СведенияОбОрганизации = УправлениеКонтактнойИнфор мацией.СведенияОЮрФизЛице( Шапка.Организация, Шапка.Дата);
ОбластьМакета.Параметры.Пр едставлениеПоставщика = ФормированиеПечатныхФорм.� �писаниеОрганизации(
СведенияОбОрганизации, "НаименованиеДляПечатныхФ� �рм,ИНН,КПП,ЮридическийАдре с,Телефоны,");
ТабличныйДокумент.Вывести( ОбластьМакета);
// Вывести область покупателя
ОбластьМакета = Макет.ПолучитьОбласть("Пок� �патель");
ОбластьМакета.Параметры.За полнить(Шапка);
СведенияОПокупателе = УправлениеКонтактнойИнфор мацией.СведенияОЮрФизЛице( Шапка.Покупатель, Шапка.Дата);
ОбластьМакета.Параметры.Пр едставлениеПокупателя = ФормированиеПечатныхФорм.� �писаниеОрганизации(
СведенияОПокупателе, "НаименованиеДляПечатныхФ� �рм,ИНН,КПП,ЮридическийАдре с,Телефоны,");
ТабличныйДокумент.Вывести( ОбластьМакета);
// Вывести табличную часть (товары и услуги)
ОбластьМакета = Макет.ПолучитьОбласть("Шап� �аТаблицыСНДС");
ОбластьМакета.Параметры.За полнить(Шапка);
ОбластьМакета.Параметры.Но мер = Номер;
ОбластьМакета.Параметры.То вар = "Товары (работы, услуги)";
ОбластьМакета.Параметры.Ко личество = Количество;
ОбластьМакета.Параметры.Це на = Цена;
ОбластьМакета.Параметры.Ст авкаНДС = СтавкаНДС;
ОбластьМакета.Параметры.Су ммаНДС = СуммаНДС;
ОбластьМакета.Параметры.Су мма = Сумма;
ТабличныйДокумент.Вывести( ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Стр� �каТаблицыСНДС");
НомерСтроки = 0;
Для Каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
НомерСтроки = НомерСтроки+1;
ОбластьМакета.Параметры.За полнить(ВыборкаСтрокТовар� �);
ОбластьМакета.Параметры.Но мерСтроки = Номер;
ОбластьМакета.Параметры.То вары = СокрЛП(СтрокаТабличнойЧас� �и.Товар);
ОбластьМакета.Параметры.Ко личество = СтрокаКоличество;
ОбластьМакета.Параметры.Ед иницаИзмерения = СтрокаЕдиницаИзмерения;
ОбластьМакета.Параметры.Це на = СтрокаЦена;
ОбластьМакета.Параметры.Ст авкаНДС = СтрокаСтавкаНДС;
ОбластьМакета.Параметры.Су ммаНДС = СтрокаСуммаНДС;
ОбластьМакета.Параметры.Су мма = СтрокаСумма;
ТабличныйДокумент.Вывести( ОбластьМакета);
КонецЦикла;
// Выводим секцию с итоговой суммой
ОбластьМакета = Макет.ПолучитьОбласть("Ито� �о");
ОбластьМакета.Параметры.Вс его = ОбщегоНазначения.ФорматСу� �м(Итого);
ТабличныйДокумент.Вывести( ОбластьМакета);
// Выводим секцию с итоговой суммой с НДС
Если СуммаСНДС <> 0 Тогда
ОбластьМакета = Макет.ПолучитьОбласть("Ито� �оСНДС");
ОбластьМакета.Параметры.Вс егоНДС = ОбщегоНазначения.ФорматСу� �м(СуммаНДС);
СуммаСНДС = Сумма + СуммаНДС;
ОбластьМакета.Параметры.НД С = ?(Выборка.СуммаВключаетНДС, "Итого с НДС", " Сумма НДС");
ОбластьМакета.Параметры.Вс егоСНДС = ОбщегоНазначения.ФорматСу� �м(СуммаСНДС);
ТабличныйДокумент.Вывести( ОбластьМакета);
КонецЕсли;
// Выводим сумму прописью
ОбластьМакета = Макет.ПолучитьОбласть("Сум� �аПрописью");
ОбластьМакета.Параметры.Ит оговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСу� �м(СуммаКПрописи) + " руб.";
ОбластьМакета.Параметры.Су ммаПрописью = ЧислоПрописью(СуммаКПропи� �и, "L=ru_RU", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
// Заполнить реквизиты подвала
ОбластьМакета = Макет.ПолучитьОбласть("Под� �алСчета");
ОбластьМакета.Параметры.ФИ ОРуководителя = ФизическиеЛица.ФамилияИни� �иалыФизЛица(Данные.Руково� �итель);
ОбластьМакета.Параметры.ФИ ОГлавногоБухгалтера = ФизическиеЛица.ФамилияИни� �иалыФизЛица(Данные.Главны� �Бухгалтер);
ОбластьМакета.Параметры.ФИ Оменеджера = ФизическиеЛица.ФамилияИни� �иалыФизЛица(Данные.Менедж� �р);
ТабличныйДокумент.Вывести( ОбластьМакета);
Возврат ТабличныйДокумент;
КонецФункции // СформироватьПечатнуюФорму ()
Ошибка: {ВнешняяОбработка.СчетНаОп латуПокупателю.МодульОбъе� �та(310,1)}: Ожидается ключевое слово 'КонецЕсли' ('EndIf')
<<?>>КонецФункции // СформироватьПечатнуюФорму () (Проверка: Сервер)
Что может быть не так? Спасибо
-
19.11.2013, 15:15 #2
- Регистрация
- 10.11.2009
- Сообщений
- 64
- Сказал(а) спасибо
- 0
- Поблагодарили 14 раз(а) в 13 сообщениях
Ответ прост одного КонецЕсли не хватает.
Просто поиском пройдись по процедуре 5-ть Если и 4-е КонецЕсли.
Наверное тут:
Если ПустаяСтрока(СтруктурнаяЕ? ?иница.ТекстКорреспондента ) Тогда
ТекстКорреспондента = СведенияОПолучателе.Наиме? ?ованиеДляПечатныхФорм;
Если ЗначениеЗаполнено(Структу? ?наяЕдиница.БанкДляРасчето в) Тогда
ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерС? ?ета
+ " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Го род;
КонецЕсли;
Иначе
ТекстКорреспондента = СтруктурнаяЕдиница.ТекстК? ?рреспондента;
КонецЕсли;
ОбластьМакета.Параметры.Пр едставлениеПолучателя = ТекстКорреспондента;
ТабличныйДокумент.Вывести( ОбластьМакета);
КонецЕсли;
КонецЕсли;
// Вывести область заголовка
ОбластьМакета = Макет.ПолучитьОбласть("Заг? ?ловок");
ОбластьМакета.Параметры.Те кстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента , "ДФ=""dd MMMM yyyy""");
ТабличныйДокумент.Вывести( ОбластьМакета);
Если ПустаяСтрока(СтруктурнаяЕ? ?иница.ТекстКорреспондента ) Тогда
ТекстКорреспондента = СведенияОПолучателе.Наиме? ?ованиеДляПечатныхФорм;
КонецЕсли;
Если ЗначениеЗаполнено(Структу? ?наяЕдиница.БанкДляРасчето в) Тогда
ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерС? ?ета
+ " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Го род;
КонецЕсли;
Иначе
ТекстКорреспондента = СтруктурнаяЕдиница.ТекстК? ?рреспондента;
КонецЕсли;
ОбластьМакета.Параметры.Пр едставлениеПолучателя = ТекстКорреспондента;
ТабличныйДокумент.Вывести( ОбластьМакета);
КонецЕсли;
// Вывести область заголовка
ОбластьМакета = Макет.ПолучитьОбласть("Заг? ?ловок");
ОбластьМакета.Параметры.Те кстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента , "ДФ=""dd MMMM yyyy""");
ТабличныйДокумент.Вывести( ОбластьМакета);Последний раз редактировалось Bolzen; 19.11.2013 в 15:20.
-
Пользователь сказал cпасибо:
programmist1c8 (19.11.2013)
-
19.11.2013, 19:13 #3
- Регистрация
- 02.10.2013
- Сообщений
- 2
- Сказал(а) спасибо
- 1
- Поблагодарили 0 раз(а) в 0 сообщениях
Спасибо, сейчас буду пробовать
Социальные закладки