Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1cprogrammist
1 / 1 / 0
Регистрация: 04.11.2013
Сообщений: 66
1

Ошибка в печатной форме счета

20.11.2013, 03:07. Просмотров 1547. Ответов 1
Метки нет (Все метки)

Сделал ВПФ счет на оплату. Выскакивает ошибка: {ВнешняяОбработка.СчетНаОплатуПокупателю.МодульОбъекта(189,1)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
<<?>>КонецЕсли; (Проверка: Сервер)
{ВнешняяОбработка.СчетНаОплатуПокупателю.МодульОбъекта(262,46)}: Обнаружено логическое завершение исходного текста модуля
ТабличныйДокумент.Вывести(ОбластьМакета);<<?>> (Проверка: Сервер)

Вот сама функция
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати) Экспорт   
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
    Запрос.Текст = 
    "ВЫБРАТЬ 
    |       ЗаказКлиента.Номер,
    |       ЗаказКлиента.Дата,
    |       ЗаказКлиента.ДоговорКонтрагента,
    |       ЗаказКлиента.Организация,
    |       ЗаказКлиента.Контрагент            КАК Покупатель,
    |       ЗаказКлиента.Организация           КАК Поставщик,
    |       ЗаказКлиента.СуммаДокумента,       
    |       ЗаказКлиента.ВалютаДокумента,
    |       ЗаказКлиента.УчитыватьНДС,
    |       ЗаказКлиента.СуммаВключаетНДС,
    |
    |ИЗ
    |       Документ.ЗаказКлиента КАК Заказклиента
    |ГДЕ
    |       ЗаказКлиента.Ссылка = &ТекущийДокумент";
    
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
    ТабличныйДокумент = Новый ТабличныйДокумент; 
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказКлиента_СчетНаОплату";
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
    Запрос.Текст = 
    "ВЫБРАТЬ
    |ВложенныйЗапрос.НомерСтроки                                                 КАК НомерСтроки,
    |ВложенныйЗапрос.Номенклатура                                                КАК Номенклатура, 
    |ВЫРАЗИТЬ (ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар,
    |ВложенныйЗапрос.Количество,
    |ВложенныйЗапрос.ЕдиницаИзмерения,
    |ВложенныйЗапрос.Цена,
    |ВложенныйЗапрос.СтавкаНДС,
    |ВложенныйЗапрос.СуммаНДС,
    |ВложенныйЗапрос.Сумма
    |1 КАК ID
    |ИЗ
    |(ВЫБРАТЬ
    |ЗаказКлиента.Номенклатура                                                   КАК Номенклатура,
    |ЗаказКлиента.Номенклатура.БазоваяЕдиницаИзмерения.Наименование              КАК ЕдиницаИзмерения, 
    |ЗаказКлиента.Цена                                                           КАК Цена,
    |ЗаказКлиента.СтавкаНДС                                                      КАК СтавкаНДС,
    |СУММА(ЗаказКлиента.Количество)                                              КАК Количество,
    |СУММА(ЗаказКлиента.Сумма)                                                   КАК Сумма,
    |СУММА(ЗаказКлиента.СуммаНДС)                                                КАК СуммаНДС,
    |ЗаказКлиента.ХарактеристикаНоменклатуры                                     КАК ХарактеристикаНоменклатуры,
    |МИНИМУМ(ЗаказКлиента.НомерСтроки)                                           КАК НомерСтроки,
    |ИЗ
    |Документ.ЗаказКлиента.Товары                                                КАК ЗаказКлиента,
    |
    |ГДЕ
    |ЗаказКлиента.Ссылка = &ТекущийДокумент
    |
    |СГРУППИРОВАТЬ ПО 
    |ЗаказКлиента.Номенклатура,
    |ЗаказКлиента.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
    |ЗаказКлиента.Цена)                                                          КАК ВложенныйЗапрос                                 
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |ЗкакзКлиента.Количество,
    |ЗаказКлиента.Номенклатура.БазоваяЕдиницаИзмерения.Наименование, 
    |ЗаказКлиента.Цена,         
    |ЗаказКлиента.Сумма,
    |ЗаказКлиента.СуммаНДС,
    |ЗаказКлиента.НомерСтроки
    |2
    |ИЗ
    |Документ.ЗаказКлиента.Услуги                                                КАК ЗаказКлиента
    |
    |ГДЕ
    |ЗаказКлиента.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |
    |ID
    |
    |НомерСтроки";
    
    ЗапросТовары = Запрос.Выполнить().Выгрузить();
    Макет = ПолучитьМакет("Счет");
    
    // Выводи шапку счета
    СведенияОПолучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
    Если Тип = "Счет" Тогда 
        ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
        ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
        Если ТипЗначения(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
            Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов);
            БИК      = Банк.Код;
            КоррСчет   = Банк.КоррСчет;
            ГородБанка = Банк.Город;
            НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница);
            ОбластьМакета.Параметры.БИКБанкаПолучателя             = БИК;
            ОбластьМакета.Параметры.БанкПолучателя                 = Банк;
            ОбластьМакета.Параметры.БанкПолучателяПредставление      = СокрЛП(Банк) + " " + ГородБанка;
            ОбластьМакета.Параметры.СчетБанкаПолучателя              = КоррСчет;
            ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
            ОбластьМакета.Параметры.СчетПолучателяПредставление      = НомерСчета;
            ОбластьМакета.Параметры.СчетПолучателя                 = НомерСчета;
        КонецЕсли;
        Если ПустаяСтрока(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
            ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
            Если ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
                ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;
            КонецЕсли;
        Иначе
            ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
        КонецЕсли;
        ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;
        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
КонецЕсли;
    
    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ОБластьМакета.Параметры.ТекстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента , "ДФ=""dd MMMM yyyy""");
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата);
    ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
    ТабДокумент.Вывести(ОбластьМакета);
    
    ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата);
    ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
    ТабДокумент.Вывести(ОбластьМакета);
    
    // Вывести табличную часть (товары и услуги)
    ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицыСНДС");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    ОбластьМакета.Параметры.Номер = Номер;
    ОбластьМакета.Параметры.Товар = "Товары (работы, услуги)";
    ОбластьМакета.Параметры.Количество = Количество;
    ОбластьМакета.Параметры.Цена = Цена;
    ОбластьМакета.Параметры.СтавкаНДС = СтавкаНДС;
    ОбластьМакета.Параметры.СуммаНДС = СуммаНДС;
    ОбластьМакета.Параметры.Сумма = Сумма;
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицыСНДС");
    НомерСтроки = 0;
    
    Для Каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
        НомерСтроки = НомерСтроки + 1;
        ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
        ОбластьМакета.Параметры.НомерСтроки = Номер;
        ОбластьМакета.Параметры.Товары = СокрЛП(СтрокаТабличнойЧасти.Товар);
        ОбластьМакета.Параметры.Количество = СтрокаКоличество;
        ОбластьМакета.Параметры.ЕдиницаИзмерения = СтрокаЕдиницаИзмерения;
        ОбластьМакета.Параметры.Цена = СтрокаЦена;
        ОбластьМакета.Параметры.СтавкаНДС = СтрокаСтавкаНДС; 
        ОбластьМакета.Параметры.СуммаНДС = СтрокаСуммаНДС;
        ОбластьМакета.Параметры.Сумма = СтрокаСумма;
        ТабличныйДокумент.Вывести(ОбластьМакета);
   КонецЦикла;
        
    // Вывести екцию с итоговой суммой
    ОбластьМакета = Макет.ПолучитьОбласть("Итого");
    ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Итого);
    ТабличныйДокумент.Вывести(ОбластьМакета);
      
    // Выводим секцию с итоговой суммой с НДС
    Если СуммаСНДС <> 0 Тогда 
        ОбластьМакета = Макет.ПолучитьОбласть("ИтогоСНДС");
        ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
        СуммаСНДС = Сумма + СуммаНДС;
        ОбластьМакета.Параметры.НДС = ?(Выборка.СуммаВключаетНДС, "Итого с НДС", " Сумма НДС");   
        ОбластьМакета.Параметры.ВсегоСНДС = ОбщегоНазначения.ФорматСумм(СуммаСНДС);
        ТабличныйДокумент.Вывести(ОбластьМакета);   
   КонецЕсли;
   
    // Выводим сумму прописью
    ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
    ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи) + " руб.";
    ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(СуммаКПрописи, "L=ru_RU", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2"); 
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    // Вывести Реквизиты подвала
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");
    ОбластьМакета.Параметры.ФИОРуководителя = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.Руководитель);
    ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.ГлавныйБухгалтер);
    ОбластьМакета.Параметры.ФИОменеджера = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.Менеджер);
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    
    
КонецФункции // СформироватьПечатнуюФорму()
Ругается на строку:
1C
1
2
3
ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
КонецЕсли;
И
ОбластьМакета.Параметры.ФИОменеджера = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.Менеджер);
1C
1
 ТабличныйДокумент.Вывести(ОбластьМакета);
Добавлено через 51 секунду
Не ругайтесь сильно уж
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 03:07
Ответы с готовыми решениями:

Номер и дата счета во внешней печатной форме ТОРГ12
1С предприятие 8.2 Комплексная автоматизация 1.1.7.1 Задача выглядит так: Есть внешняя печатная...

Процедуры и функции для внешней печатной формы счета КА 1.1 (8.2, УП)
Подскажите, пожалуйста, какие процедуры и функции должны быть во внешней печатной форме...

По печатной форме
Добрый день! Есть вот такой код: ЗапросПоТоварам1 = Новый Запрос();...

Вывод заголовка в печатной форме
Привет, товарищи! Делал внешнюю печатную форму к документу &quot;Зарплата к выплате&quot;. Там всё простенько...

Не выводится область в печатной форме
Сделал внешнюю печатную форму АктОбОказанииУслуг (переделал с типовой). Добавил туда область...

1
Augusto
70 / 70 / 1
Регистрация: 18.12.2012
Сообщений: 390
20.11.2013, 07:16 2
Одно КонецЕсли лишнее

Добавлено через 6 минут
И еще функция должна возвращать значение
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2013, 07:16

Как Вывести Заголовок В Печатной Форме
Привет, товарищи! Делал внешнюю печатную форму к документу &quot;Зарплата к выплате&quot;. Там всё простенько...

Дополнительные реквизиты документа в печатной форме 8.2 УТ 11
К документу ЗаказПоставщику сделана внешняя печатная форма. В документе имеется дополнительный...

Как упорядочить строки в печатной форме
Здравствуйте, подскажите как сделать печатную форму накладной. Строки в печатной форме по выбору...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.