Имя: Пароль:
1C
1С v8
Внешняя печатная форма "Счет на оплату": Метод объекта не обнаружен (Печать)
0 programmist1c8_
2
 
18.11.13
23:21
Добрый вечер. Делаю счет на оплату для УТ 11. Добавил. Зарегистрировал. Пытаюсь напечатать - Метод объекта не обнаружен (Печать).
Вот код функции:
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетНаОплату") тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"СчетНаОплату", "СчетНаОплату", СформироватьПечатнуюФормуСчетаНаОплату(МассивОбъектов, ОбъектыПечати));
    КонецЕсли;    
    
КонецПроцедуры // Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)()

Затем

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

        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
        // Вывести область заголовка
        ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
        ОбластьМакета.Параметры.ТекстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента, "ДФ=""dd MMMM yyyy""");
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Вывести область поставщика
        ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата);
        ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(
        СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Вывести область покупателя
        ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата);
        ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(
        СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Вывести табличную часть (товары и услуги)
        ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицыСНДС");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.Номер = Номер;
        ОбластьМакета.Параметры.Товар = "Товары (работы, услуги)";
        ОбластьМакета.Параметры.Количество = Количество;
        ОбластьМакета.Параметры.Цена = Цена;
        ОбластьМакета.Параметры.СтавкаНДС = СтавкаНДС;
        ОбластьМакета.Параметры.СуммаНДС = СуммаНДС;
        ОбластьМакета.Параметры.Сумма = Сумма;
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицыСНДС");
        НомерСтроки = 0;
        
    Для Каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
        НомерСтроки = НомерСтроки+1;
        
        ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
        ОбластьМакета.Параметры.НомерСтроки = Номер;
        ОбластьМакета.Параметры.Товары = СокрЛП(СтрокаТабличнойЧасти.Товар);
        ОбластьМакета.Параметры.Количество = СтрокаКоличество;
        ОбластьМакета.Параметры.ЕдиницаИзмерения = СтрокаЕдиницаИзмерения;
        ОбластьМакета.Параметры.Цена = СтрокаЦена;
        ОбластьМакета.Параметры.СтавкаНДС = СтрокаСтавкаНДС;
        ОбластьМакета.Параметры.СуммаНДС = СтрокаСуммаНДС;
        ОбластьМакета.Параметры.Сумма = СтрокаСумма;
        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЦикла;
    
        // Выводим секцию с итоговой суммой
        ОбластьМакета = Макет.ПолучитьОбласть("Итого");
        ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Итого);
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Выводим секцию с итоговой суммой с НДС
    Если СуммаСНДС <> 0 Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("ИтогоСНДС");
        ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
        СуммаСНДС = Сумма + СуммаНДС;
        ОбластьМакета.Параметры.НДС = ?(Выборка.СуммаВключаетНДС, "Итого с НДС", " Сумма НДС");    
        ОбластьМакета.Параметры.ВсегоСНДС = ОбщегоНазначения.ФорматСумм(СуммаСНДС);
        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;    
        
        // Выводим сумму прописью
        ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
        ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи) + " руб.";
        ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(СуммаКПрописи, "L=ru_RU", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
        
        // Заполнить реквизиты подвала
        ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");
        ОбластьМакета.Параметры.ФИОРуководителя = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.Руководитель);
        ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.ГлавныйБухгалтер);
        ОбластьМакета.Параметры.ФИОменеджера = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.Менеджер);
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        Возврат ТабличныйДокумент;
      
КонецФункции // СформироватьПечатнуюФорму()

Пример брал в нете пошаговый часть дописывал сам
Не пойму в чем ошибка может кто подскажет делаю первый раз
1 Мимохожий Однако
 
18.11.13
23:22
Попробуй ФУНКЦИЯ Печать()
2 programmist1c8_
2
 
18.11.13
23:38
Если через Функция Печать()
Ругается, что {ВнешняяОбработка.СчетНаОплатуПокупателю.МодульОбъекта(70,9)}: Процедура или функция с указанным именем уже определена (Печать)
Функция <<?>>Печать(Тип, МассивОбъектов, ОбъектыПечати) (Проверка: Сервер)
3 Мимохожий Однако
 
18.11.13
23:40
Процедуру убери.
4 programmist1c8_
2
 
18.11.13
23:41
Совсем убрать? А оставить одну функцию и обозвать ее Печать
5 Мимохожий Однако
 
18.11.13
23:42
угу
6 programmist1c8_
2
 
18.11.13
23:43
Только еще ругается на последнюю строку
КонецФункции// СформироватьПечатнуюФорму()
Ожидается ключевое слово 'КонецЕсли'
----
Сейчас попробую
7 Мимохожий Однако
 
18.11.13
23:43
функция печать должна возвращать Табличный документ
8 Мимохожий Однако
 
18.11.13
23:44
В ИТС написано
9 programmist1c8_
2
 
18.11.13
23:51
В конце функции написано Возврат ТабличныйДокумент;
убрал процедуру, добавил заново всё равно ругается Ожидается ключевое слово 'КонецЕсли'
10 programmist1c8_
2
 
18.11.13
23:53
но уже ругается на общий модуль
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2147)}: Ошибка при вызове метода контекста (Создать)
    ВнешнийОбъект = Менеджер.Создать(ПараметрыОбработки.ИмяОбъекта);
по причине:
{ВнешняяОбработка.СчетНаОплатуПокупателю.МодульОбъекта(306,1)}: Ожидается ключевое слово 'КонецЕсли' ('EndIf')
<<?>>КонецФункции // СформироватьПечатнуюФорму()
11 programmist1c8_
2
 
18.11.13
23:57
Может где в самой функции не хватат этого 'КонецЕсли'
Уже весь вечер разбираюсь
12 zmaximka
 
19.11.13
00:16
(0) ник прикольный
13 programmist1c8_
2
 
19.11.13
00:46
)Нет бы подсказать, как исправить ошибку )))
14 programmist1c8_
2
 
19.11.13
00:49
Только без обид)
15 programmist1c8_
2
 
19.11.13
00:49
Помогите пожалуйста разобрацца в вопросе
16 Godofsin
 
19.11.13
05:47
ну так русским языком написано: "Ожидается ключевое слово 'КонецЕсли' ('EndIf') "
17 Godofsin
 
19.11.13
05:48
Выложи текст функции "Печать" из вн. обработки.
18 Wobland
 
19.11.13
06:15
(15) если платформа хочет КонецЕсли, ей его надо обязательно дать
19 anaed
 
19.11.13
06:39
(15) сервис-параметры-модули-группировка-флажок на условие сворачивать. И смотри какое ты условие не закрыл.
20 programmist1c8_
2
 
19.11.13
11:12
Сама Функция такая:
Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати) Экспорт  
      
    Запрос = Новый Запрос();
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    Запрос.Текст =
        "ВЫБРАТЬ
        |ЗаказКлиента.Ссылка                                            КАК Ссылка,
        |ЗаказКлиента.Номер                                             КАК Номер,
        |ЗаказКлиента.Дата                                              КАК Дата,
        |ЗаказКлиента.Организация                                       КАК Организация,
        |ЗаказКлиента.Организация.ТекущийРуководитель.Наименование      КАК Руководитель,
        |ЗаказКлиента.Организация.ТекущийГлавныйБухгалтер.Наименование  КАК ГлавныйБухгалтер,
        |ВЫБОР
        |КОГДА
        |ЗаказКлиента.НалогооблажениеНДС = ЗНАЧЕНИЕ(Перечисление.ТипыНалогооблаженияНДС.ПродажаОблагаетсяНДС)
        |ТОГДА
        |ИСТИНА
        |ИНАЧЕ
        |ЛОЖЬ
        |КОНЕЦ КАК УчитыватьНДС,
        |ЗаказКлиента.Организация.Префикс                               КАК Префикс,
        |ЗаказКлиента.Контрагент                                        КАК Контрагент,
        |ЗаказКлиента.БанковскийСчет                                    КАК БанковскийСчет,
        |ЗаказКлиента.БанковскийСчет.ТекстКорреспондента                КАК БанковскийСчетТекстКорреспондента,
        |ЗаказКлиента.ЦенаВключаетНДС                                   КАК ЦенаВключаетНДС,
        |ЗаказКлиента.Валюта                                            КАК Валюта,
        |ЗаказКлиента.Менеджер.ФизическоеЛицо.Наименование              КАК Менеджер,
        |ЗаказКлиента.ДополнительнаяИнформация                          КАК ДополнительнаяИнформация,
        |ЗаказКлиента.Товары.(
        |     НомерСтроки                                               КАК Номенклатура,
        |     Номенклатура.Код                                          КАК Код,
        |     Номенклатура.Артикул                                      КАК Артикул,
        |     Номенклатура.НаименованиеПолное                           КАК НаименованиеПолное,
        |ВЫБОР
        |КОГДА ЗаказКлиента.Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка)
        |ТОГДА ПРЕДСТАВЛЕНИЕ(ЗаказКлиента.Товары.Номенклатура.ЕдиницаИзмерения)  
        |ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ЗаказКлиента.Товары.Упаковка.ЕдиницаИзмерения)
        |КОНЕЦ                                                          КАК ЕдиницаИзмерения,
        |КоличествоУпаковок                                             КАК Количество,
        |Цена                                                           КАК Цена,
        |СуммаРучнойСкидки + СуммаАвтоматическойСкидки                  КАК СуммаСкидки,
        |Сумма + СуммаРучнойСкидки + СуммаАвтоматическойСкидки          КАК СуммаБезСкидки,
        |Сумма                                                          КАК Сумма,
        |СтавкаНДС                                                      КАК СтавкаНДС,
        |СуммаНДС                                                       КАК СуммаНДС,
        |ДатаОтгрузки                                                   КАК ДатаОтгрузки,
        |Характеристика                                                 КАК Характеристика,
        |Отменено                                                       КАК Отменено,
        |)
        |ИЗ
        |Документ.ЗаказКлиента                                          КАК ЗаказКлиента,
        |ГДЕ
        |ЗаказКлиента.Ссылка = &ТекущийДокумент";
        
             
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
        
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказКлиента_СчетНаОплату";
        
        
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
    Запрос.Текст =  
        "ВЫБРАТЬ
        |ВложенныйЗапрос.Номенклатура                                   КАК Номенклатура,
        |ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное       КАК Строка(1000)) КАК Товар,
        |ВложенныйЗапрос.Количество,
        |ВложенныйЗапрос.ЕдиницаИзмерения,
        |ВложенныйЗапрос.Цена,
        |ВложенныйЗапрос.СтавкаНДС,
        |ВложенныйЗапрос.СуммаНДС,
        |ВложенныйЗапрос.Сумма,
        |ВложенныйЗапрос.НомерСтроки                                    КАК НомерСтроки,
        |1  КАК  ID
        |ИЗ
        |(ВЫБРАТЬ                                                      
        |ЗаказКлиента.Номенклатура                                      КАК Номенклатура,
        |ЗаказКлиента.Номенклатура.БазоваяЕдиницаИзиерения.Наименование КАК ЕдиницаИзмерения,
        |ЗаказКлиента.СтавкаНДС                                         КАК СтавкаНДС,
        |ЗаказКлиента.Цена                                              КАК Цена,
        |СУММА(ЗаказКлиента.Количество)                                 КАК Количество,
        |СУММА(ЗаказКлиента.Сумма)                                      КАК Сумма,
        |СУММА(ЗаказКлиента.СуммаНДС)                                   КАК СуммаНДС,
        |МИНИМУМ(ЗаказКлиента.НомерСртроки)                             КАК НомерСтроки,
        |
        |ИЗ
        |Документ.ЗаказКлиента.Товары                                   КАК ЗаказКлиента,
        |
        |ГДЕ
        |ЗаказКлиента.Ссылка = &ТекущийДокумент
        |
        |СГРУППИРОВАТЬ ПО
        |ЗазакКлиента.Номенклатура,
        |ЗаказКлиента.Номенклатура.БазоваяЕдиницаИзиерения.Наименование
        |ЗаказКлиента.Цена)                                             КАК ВложенныйЗапрос
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |ЗазакКлиента.Номенклатура,
        |ЗаказКлиента.Количество,                                      
        |ЗаказКлиента.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
        |ЗаказКлиента.Цена,
        |ЗаказКлиента.СтавкаНДС,
        |ЗаказКлиента.Сумма,
        |ЗаказКлиента.СуммаНДС,
        |ЗаказКлиента.НомерСтроки,
        |2
        |ИЗ
        |Документ.ЗаказКлиента.Услуги                                   КАК ЗаказКлиента
        |
        |ГДЕ
        |ЗаказКлиента.Ссылка = &ТекущийДокумент
        |
        |УПОРЯДОЧИТЬ ПО
        |ID,
        |НомерСтроки";
        
    ЗапросТовары = Запрос.Выполнить().Выгрузить();
        
    Макет = ПолучитьМакет("Счет");
            
    // Выводим шапку счета
    СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
    Если Тип = "Счет" Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
        ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
    Если ТипЗнчения(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
        Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиницаБанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов);
        БИК = Банк.Код;
        КоррСчет = Банк.КоррСчет;
        ГородБанка = Банк.Город;
        НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница);
        
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БанкПолучателяПредставление = СокрЛП(Банк) + " " + ГородБанка;
        ОбластьМакета.Параметры.СчетБанкаПолучателя = КоррСчет;
        ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
        ОбластьМакета.Параметры.СчетПолучателяПредставление = НомерСчета;
        ОбластьМакета.Параметры.СчетПолучателя = НомерСчета;
        
    Если ПустаяСтрока(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
        ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
    Если ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
        ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета
        + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;
    КонецЕсли;
        Иначе
        ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
    КонецЕсли;
        ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;

        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
        // Вывести область заголовка
        ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
        ОбластьМакета.Параметры.ТекстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента, "ДФ=""dd MMMM yyyy""");
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Вывести область поставщика
        ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата);
        ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(
        СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Вывести область покупателя
        ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата);
        ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(
        СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Вывести табличную часть (товары и услуги)
        ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицыСНДС");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.Номер = Номер;
        ОбластьМакета.Параметры.Товар = "Товары (работы, услуги)";
        ОбластьМакета.Параметры.Количество = Количество;
        ОбластьМакета.Параметры.Цена = Цена;
        ОбластьМакета.Параметры.СтавкаНДС = СтавкаНДС;
        ОбластьМакета.Параметры.СуммаНДС = СуммаНДС;
        ОбластьМакета.Параметры.Сумма = Сумма;
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицыСНДС");
        НомерСтроки = 0;
        
    Для Каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
        НомерСтроки = НомерСтроки+1;
        
        ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
        ОбластьМакета.Параметры.НомерСтроки = Номер;
        ОбластьМакета.Параметры.Товары = СокрЛП(СтрокаТабличнойЧасти.Товар);
        ОбластьМакета.Параметры.Количество = СтрокаКоличество;
        ОбластьМакета.Параметры.ЕдиницаИзмерения = СтрокаЕдиницаИзмерения;
        ОбластьМакета.Параметры.Цена = СтрокаЦена;
        ОбластьМакета.Параметры.СтавкаНДС = СтрокаСтавкаНДС;
        ОбластьМакета.Параметры.СуммаНДС = СтрокаСуммаНДС;
        ОбластьМакета.Параметры.Сумма = СтрокаСумма;
        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЦикла;
    
        // Выводим секцию с итоговой суммой
        ОбластьМакета = Макет.ПолучитьОбласть("Итого");
        ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Итого);
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        // Выводим секцию с итоговой суммой с НДС
    Если СуммаСНДС <> 0 Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("ИтогоСНДС");
        ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
        СуммаСНДС = Сумма + СуммаНДС;
        ОбластьМакета.Параметры.НДС = ?(Выборка.СуммаВключаетНДС, "Итого с НДС", " Сумма НДС");    
        ОбластьМакета.Параметры.ВсегоСНДС = ОбщегоНазначения.ФорматСумм(СуммаСНДС);
        ТабличныйДокумент.Вывести(ОбластьМакета);    
    КонецЕсли;
    
        // Выводим сумму прописью
        ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
        ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи) + " руб.";
        ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(СуммаКПрописи, "L=ru_RU", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
        
        // Заполнить реквизиты подвала
        ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");
        ОбластьМакета.Параметры.ФИОРуководителя = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.Руководитель);
        ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.ГлавныйБухгалтер);
        ОбластьМакета.Параметры.ФИОменеджера = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.Менеджер);
        ТабличныйДокумент.Вывести(ОбластьМакета);
        
        Возврат ТабличныйДокумент;
        
КонецФункции // СформироватьПечатнуюФорму()
21 programmist1c8_
2
 
19.11.13
11:13
Сейчас гляну, где ей не хватат в каком условии
22 anaed
 
19.11.13
12:23
не закрытое условие:
Если Тип = "Счет" Тогда
23 programmist1c8_
2
 
19.11.13
12:31
anaed, написать
Если Тип = "Счет" Тогда
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
        ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
КонецЕсли;
Так попробовать?
24 programmist1c8_
2
 
19.11.13
12:34
Ставлю КонецЕсли; Материцца )
25 programmist1c8_
2
 
19.11.13
12:36
Попробую пересмотреть весь код от А до Я заново или переписать вовсе.
26 anaed
 
19.11.13
12:42
(25) очень разумное решение. Ошибка в выводе шапки счета, где воткнуть конецесли тебе решать, но вроде бы перед // Вывести область заголовка
27 Godofsin
 
19.11.13
12:50
ойбля....

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

        Иначе
        ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
КонецЕсли;
   КонецЕсли;
        ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;

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

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

Тут тоже есть ) Ладно, сейчас буду перелопачивать всю функцию по всем "потрахам". Видимо, что-то не хватает, либо какой-то параметр не так как надо указан. Я по кускам собирал, смотрел в нете, кто и как делал. Учусь вот.

Слушай, а нет ни где типа методички что-нить? По ВПФ-кам под УП. Общее хотя бы. Я где не находил, всё одна "поверхность".
29 Godofsin
 
19.11.13
12:51
+(27) в конце еще один коецесли забыл
30 Godofsin
 
19.11.13
12:53
ПустаяСтрока заменить на ЗначениеЗаполнено
31 Aprobator
 
19.11.13
12:57
(0) что за ужас? Внешняя обработка должна содержать внешнюю экспортную Функция печать, которая возвращает сформированный табличный документ.
32 Aprobator
 
19.11.13
12:57
.... внешнюю экспортную функция.... )))))) Просто экспортную функцию в модуле объекта.
33 Aprobator
 
19.11.13
12:59
а млин - это специфика УФ что ли какая?
34 programmist1c8_
2
 
19.11.13
13:01
Godofsin, написал. Вот так
// Выводим шапку счета
    СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
   Если Тип = "Счет" Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
        ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
    Если ТипЗнчения(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
        Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиницаБанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов);
        БИК = Банк.Код;
        КоррСчет = Банк.КоррСчет;
        ГородБанка = Банк.Город;
        НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница);
        
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БанкПолучателяПредставление = СокрЛП(Банк) + " " + ГородБанка;
        ОбластьМакета.Параметры.СчетБанкаПолучателя = КоррСчет;
        ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
        ОбластьМакета.Параметры.СчетПолучателяПредставление = НомерСчета;
        ОбластьМакета.Параметры.СчетПолучателя = НомерСчета;
        
    Если ЗначениеЗаполнено(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
        ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
    Если ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
        ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета
        + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;

        Иначе
        ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
КонецЕсли;
   КонецЕсли;
        ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;

        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
35 programmist1c8_
2
 
19.11.13
13:02
Всё, закипел, башня едет
36 Aprobator
 
19.11.13
13:03
(35) башня с водным радиатором?
37 programmist1c8_
2
 
19.11.13
13:04
Ага )
38 programmist1c8_
2
 
19.11.13
13:04
Не пойму, опять материццо:
{ВнешняяОбработка.СчетНаОплатуПокупателю.МодульОбъекта(313,1)}: Ожидается ключевое слово 'КонецЕсли' ('EndIf')
<<?>>КонецФункции // СформироватьПечатнуюФорму() (Проверка: Сервер)
39 Godofsin
 
19.11.13
13:04
(34) я ж написал, что в конце одно КонецЕсли; забыл
40 programmist1c8_
2
 
19.11.13
13:04
Куды его ишшо втыкать
41 Godofsin
 
19.11.13
13:05
(38) Ты сам глазами не видишь что ли? у тебя 4 начала условия "Если", а окончания условия "КонецЕсли" 3.
42 Wobland
 
19.11.13
13:05
может, уже лучше выкинуть одно Если?
43 programmist1c8_
2
 
19.11.13
13:05
ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
тут добавить? или в самом конце функции
44 Godofsin
 
19.11.13
13:05
СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
   Если Тип = "Счет" Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
        ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
    Если ТипЗнчения(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
        Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиницаБанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов);
        БИК = Банк.Код;
        КоррСчет = Банк.КоррСчет;
        ГородБанка = Банк.Город;
        НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница);
        
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БанкПолучателяПредставление = СокрЛП(Банк) + " " + ГородБанка;
        ОбластьМакета.Параметры.СчетБанкаПолучателя = КоррСчет;
        ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
        ОбластьМакета.Параметры.СчетПолучателяПредставление = НомерСчета;
        ОбластьМакета.Параметры.СчетПолучателя = НомерСчета;
        
    Если ЗначениеЗаполнено(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
        ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
    Если ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
        ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета
        + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;

        Иначе
        ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
КонецЕсли;
   КонецЕсли;
        ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;

        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
КонецЕсли;
45 programmist1c8_
2
 
19.11.13
13:08
Godofsin, написал так, куча ошибок теперь получилась
Извини, если что не так, всё равно не получаиццо
46 Aprobator
 
19.11.13
13:09
(44) ...ИначеЕсли.... )
(45) он чуть чуть ошибся. Не надо все бездумно слизывать.
47 programmist1c8_
2
 
19.11.13
13:09
Если оставить ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли; то ругается на самое окончание функции
48 programmist1c8_
2
 
19.11.13
13:10
Aprobator, понял, пробую
49 programmist1c8_
2
 
19.11.13
13:12
Написать что то типа так
Иначе Если ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента Тогда
.....
50 Aprobator
 
19.11.13
13:13
(49) надо понять функционал модуля и правильно расставить условия.
51 programmist1c8_
2
 
19.11.13
13:14
Ясно
52 Aprobator
 
19.11.13
13:55
кстати по условиям то в (44) - код рабочий
53 programmist1c8_
2
 
19.11.13
14:02
?
54 programmist1c8_
2
 
19.11.13
14:03
Перепробовал варианты, всё равно ругается, не хватает
{ВнешняяОбработка.СчетНаОплатуПокупателю.МодульОбъекта(314,1)}: Ожидается ключевое слово 'КонецЕсли' ('EndIf')
<<?>>КонецФункции // СформироватьПечатнуюФорму() (Проверка: Сервер)
55 programmist1c8_
2
 
19.11.13
14:03
//кстати по условиям то в (44) - код рабочий
А по поподробнее можно? Если не затруднит
56 Wobland
 
19.11.13
14:06
(54) ты не все варианты попробовал. попробуй ещё один: добавить слово КонецЕсли
57 programmist1c8_
2
 
19.11.13
14:08
Wobland, в каком месте?
58 programmist1c8_
2
 
19.11.13
14:08
СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
   Если Тип = "Счет" Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
        ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
    Если ТипЗнчения(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
        Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиницаБанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов);
        БИК = Банк.Код;
        КоррСчет = Банк.КоррСчет;
        ГородБанка = Банк.Город;
        НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница);
        
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БанкПолучателяПредставление = СокрЛП(Банк) + " " + ГородБанка;
        ОбластьМакета.Параметры.СчетБанкаПолучателя = КоррСчет;
        ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
        ОбластьМакета.Параметры.СчетПолучателяПредставление = НомерСчета;
        ОбластьМакета.Параметры.СчетПолучателя = НомерСчета;
        
    Если ЗначениеЗаполнено(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
        ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
    Если ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
        ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета
        + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;

        Иначе
        ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
КонецЕсли;
   КонецЕсли;
        ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;

        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
59 Wobland
 
19.11.13
14:10
(57) мне лениво в логике обработки разбираться
60 Wobland
 
19.11.13
14:12
я сейчас новость скажу. каждый Если должен иметь свой КонецЕсли. из этого следует любопытное наблюдение: число Еслев в синтаксически верном коде всегда равно числу КонцовЕсли
61 programmist1c8_
2
 
19.11.13
14:15
О! Значит, получается такая штукенциЁ. Если.....что-то....КонецЕсли. Если "Если.." 5 то и "КонцовЕсли..." 5
62 programmist1c8_
2
 
19.11.13
14:16
Осталось только направить в правильное русло код
63 Кай066
 
19.11.13
14:18
СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
    Если           ( раз Если)     Тип = "Счет" Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
        ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
    Если      ( два Если)    ТипЗнчения(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
        Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиницаБанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов);
        БИК = Банк.Код;
        КоррСчет = Банк.КоррСчет;
        ГородБанка = Банк.Город;
        НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница);
        
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК;
        ОбластьМакета.Параметры.БанкПолучателя = Банк;
        ОбластьМакета.Параметры.БанкПолучателяПредставление = СокрЛП(Банк) + " " + ГородБанка;
        ОбластьМакета.Параметры.СчетБанкаПолучателя = КоррСчет;
        ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
        ОбластьМакета.Параметры.СчетПолучателяПредставление = НомерСчета;
        ОбластьМакета.Параметры.СчетПолучателя = НомерСчета;
        
        Если        (три Если )  ПустаяСтрока(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
        ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
        Если ( четыре Если)  ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
        ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета
        + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;
    КонецЕсли; (раз Конец)
        Иначе
        ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
    КонецЕсли;  (два Конец)
        ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;

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

одного Конце не хватает
64 Wobland
 
19.11.13
14:19
(61) а я думал, что пошутил..
65 programmist1c8_
2
 
19.11.13
14:21
Вот "втыкаю"  КонецЕсли; да попасть не могу что-то никак не попаду. По-ходу придется код переделывать полностью
66 programmist1c8_
2
 
19.11.13
14:22
Потому что куда не вставляешь этот "конец" сразу куча ошибок
67 programmist1c8_
2
 
19.11.13
14:23
Опять таки брал с примера х з может пример не правильный
68 programmist1c8_
2
 
19.11.13
14:24
часть взял с 1с про, часть насобирал в одном примере так, в другом так в третьем уже перетак в четвертом недоперетак
69 programmist1c8_
2
 
19.11.13
14:24
Пепелац короче
70 programmist1c8_
2
 
19.11.13
14:26
ох и загрузил я вас однако
71 Wobland
 
19.11.13
14:28
(70) да не, я вот код почти не смотрел ;)
72 programmist1c8_
2
 
19.11.13
14:33
Тут видишь как получается. Я искал пример хоть як нибудь глянуть, как правильно делается. В одном примере похожий код. Нахожу другой, там уже по-другому. И Функция в одних случаях "Функция печать()Экспорт, потом "Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати) Экспорт" с экспортом и без.  Мне вот интересно, как правильно написать модуль. Первый раз вроде добавилась нормально, но сработала ошибка "МЕТОД ОБЪЕКТА НЕ ОБНАРУЖЕН (ПЕЧАТЬ). Стал копацца теперь вот допрыгался  - КонецЕсли просит.
73 programmist1c8_
2
 
19.11.13
14:34
Попробую снести и заново прописать
74 Кай066
 
19.11.13
14:35
(73)
Если <Логическое выражение > Тогда

// Операторы [ИначеЕсли] <Логическое выражением Тогда]

// Операторы [Иначе]

// Операторы

КонецЕсли ;
75 Кай066
 
19.11.13
14:36
мож так

Если    ПустаяСтрока(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
        ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
        ИначеЕсли    ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
        ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета
        + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;
КонецЕсли;
76 programmist1c8_
2
 
19.11.13
14:37
Кай066, сейчас попробую
77 Aprobator
 
19.11.13
14:40
имхо, только TeamViewer и добрая душа спасут ТС.
78 programmist1c8_
2
 
19.11.13
14:40
Иначе    
            ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента; Оставить или убрать?
А то ругаиццо {ВнешняяОбработка.СчетНаОплатуПокупателю.МодульОбъекта(224,9)}: Ожидается ключевое слово 'КонецЕсли' ('EndIf')
        <<?>>Иначе     (Проверка: Сервер)
79 anaed
 
19.11.13
14:41
я ж блин в самом начале сказал как сделать группировку условий, чтобы можно было смотреть какое не свернулось = не имеет конецесли.
80 programmist1c8_
2
 
19.11.13
14:42
Сделал, добавляю, ошибки выскакивают
81 programmist1c8_
2
 
19.11.13
14:49
Может, попробуешь у себя прописать
82 programmist1c8_
2
 
19.11.13
14:50
Я бы скрин показал, да не знаю как сюда выкладывать
83 programmist1c8_
2
 
19.11.13
14:55
Пойду чай пить, а то уже голова не соображает.
84 anaed
 
19.11.13
14:56
(80) я начинаю подозревать что ты как мартышка все делаешь - пробуя какой-то вариант не убираешь предыдущий.

Попробуй включить мозг, нарисуй себе блок схему и по ней пиши раз не можешь понять что за проблемы у тебя с условиями.
85 singlych
 
19.11.13
14:58
Делаешь печатную форму для УТ 11, а процедура СформироватьПечатнуюФорму у тебя из УТ10.
86 programmist1c8_
2
 
19.11.13
15:10
Смотрел вот здесь 1c-pro.ru/topic26882.html.
Там (как в теме сказано)для УТ 11. По этому примеру и делаю.
87 programmist1c8_
2
 
19.11.13
15:12
Получается, что убрать Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
А сделать Функция Печать()Экспорт
88 programmist1c8_
2
 
19.11.13
15:14
Но я делаю в УТ 11.1.2.18
89 programmist1c8_
2
 
19.11.13
15:14
А то беру как пример
90 programmist1c8_
2
 
19.11.13
15:18
Ок, тогда какие процедуры и функции должны быть в печатной форме для УТ версии 11.1.2.хх?
91 hhhh
 
19.11.13
15:19
(78)
<<?>>Иначе     (Проверка: Сервер)

два раза Иначе всандалил
92 singlych
 
19.11.13
15:26
По твоей ссылке все правильно написано, какие процедуры и функции нужны, чтобы твоя печатная форма успешно зарегистрировалась и работала в УТ 11 как внешняя печатная форма. А содержимое процедуры СформироватьПечатнуюФорму зависит от того, что ты там напечатать хочешь.
Сейчас у тебя в этой процедуре - код из внешней печатной формы счета для УТ10, причем криво скопированный.
93 programmist1c8_
2
 
19.11.13
15:28
Понятно
94 programmist1c8_
2
 
19.11.13
15:33
Так и для версии 11.1.2.хх тоже самое, да? тольки последнюю функцию сварганить правильно
95 programmist1c8_
2
 
19.11.13
15:34
СформироватьПечатнуюФорму
96 singlych
 
19.11.13
15:37
(94) Да. Не забудь о СведенияОВнешнейОбработке() и сопутствующих процедурах.
97 programmist1c8_
2
 
19.11.13
15:39
Спасибо,  singlych
98 programmist1c8_
2
 
19.11.13
23:03
Объясните пожалуйста еще один момент. В запросе есть такая строка: ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар

Что значит 1000 в скобках? Спасибо
99 programmist1c8_
2
 
20.11.13
02:55
переписал код
100 programmist1c8_
2
 
20.11.13
02:55
ВнешняяОбработка.СчетНаОплатуПокупателю.МодульОбъекта(189,2)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
<<?>>КонецЕсли; (Проверка: Сервер)
{ВнешняяОбработка.СчетНаОплатуПокупателю.МодульОбъекта(262,46)}: Обнаружено логическое завершение исходного текста модуля
    ТабличныйДокумент.Вывести(ОбластьМакета);<<?>> (Проверка: Сервер)
101 programmist1c8_
2
 
20.11.13
02:55
Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати) Экспорт  
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
    Запрос.Текст =
    "ВЫБРАТЬ
    |       ЗаказКлиента.Номер,
    |       ЗаказКлиента.Дата,
    |       ЗаказКлиента.ДоговорКонтрагента,
    |       ЗаказКлиента.Организация,
    |       ЗаказКлиента.Контрагент            КАК Покупатель,
    |       ЗаказКлиента.Организация           КАК Поставщик,
    |       ЗаказКлиента.СуммаДокумента,      
    |       ЗаказКлиента.ВалютаДокумента,
    |       ЗаказКлиента.УчитыватьНДС,
    |       ЗаказКлиента.СуммаВключаетНДС,
    |
    |ИЗ
    |       Документ.ЗаказКлиента КАК Заказклиента
    |ГДЕ
    |       ЗаказКлиента.Ссылка = &ТекущийДокумент";
    
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказКлиента_СчетНаОплату";
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
    Запрос.Текст =
    "ВЫБРАТЬ
    |ВложенныйЗапрос.НомерСтроки                                                 КАК НомерСтроки,
    |ВложенныйЗапрос.Номенклатура                                                КАК Номенклатура,
    |ВЫРАЗИТЬ (ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар,
    |ВложенныйЗапрос.Количество,
    |ВложенныйЗапрос.ЕдиницаИзмерения,
    |ВложенныйЗапрос.Цена,
    |ВложенныйЗапрос.СтавкаНДС,
    |ВложенныйЗапрос.СуммаНДС,
    |ВложенныйЗапрос.Сумма
    |1 КАК ID
    |ИЗ
    |(ВЫБРАТЬ
    |ЗаказКлиента.Номенклатура                                                   КАК Номенклатура,
    |ЗаказКлиента.Номенклатура.БазоваяЕдиницаИзмерения.Наименование              КАК ЕдиницаИзмерения,
    |ЗаказКлиента.Цена                                                           КАК Цена,
    |ЗаказКлиента.СтавкаНДС                                                      КАК СтавкаНДС,
    |СУММА(ЗаказКлиента.Количество)                                              КАК Количество,
    |СУММА(ЗаказКлиента.Сумма)                                                   КАК Сумма,
    |СУММА(ЗаказКлиента.СуммаНДС)                                                КАК СуммаНДС,
    |ЗаказКлиента.ХарактеристикаНоменклатуры                                     КАК ХарактеристикаНоменклатуры,
    |МИНИМУМ(ЗаказКлиента.НомерСтроки)                                           КАК НомерСтроки,
    |ИЗ
    |Документ.ЗаказКлиента.Товары                                                КАК ЗаказКлиента,
    |
    |ГДЕ
    |ЗаказКлиента.Ссылка = &ТекущийДокумент
    |
    |СГРУППИРОВАТЬ ПО
    |ЗаказКлиента.Номенклатура,
    |ЗаказКлиента.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
    |ЗаказКлиента.Цена)                                                          КАК ВложенныйЗапрос                                
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |ЗкакзКлиента.Количество,
    |ЗаказКлиента.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
    |ЗаказКлиента.Цена,         
    |ЗаказКлиента.Сумма,
    |ЗаказКлиента.СуммаНДС,
    |ЗаказКлиента.НомерСтроки
    |2
    |ИЗ
    |Документ.ЗаказКлиента.Услуги                                                КАК ЗаказКлиента
    |
    |ГДЕ
    |ЗаказКлиента.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |
    |ID
    |
    |НомерСтроки";
    
    ЗапросТовары = Запрос.Выполнить().Выгрузить();
    Макет = ПолучитьМакет("Счет");
    
    // Выводи шапку счета
    СведенияОПолучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
    Если Тип = "Счет" Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
        ОбластьМакета.Параметры.Заполнить(Шапка);
        ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
        ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
        Если ТипЗначения(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
            Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов);
            БИК        = Банк.Код;
            КоррСчет   = Банк.КоррСчет;
            ГородБанка = Банк.Город;
            НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница);
            ОбластьМакета.Параметры.БИКБанкаПолучателя               = БИК;
            ОбластьМакета.Параметры.БанкПолучателя                   = Банк;
            ОбластьМакета.Параметры.БанкПолучателяПредставление      = СокрЛП(Банк) + " " + ГородБанка;
            ОбластьМакета.Параметры.СчетБанкаПолучателя              = КоррСчет;
            ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
            ОбластьМакета.Параметры.СчетПолучателяПредставление      = НомерСчета;
            ОбластьМакета.Параметры.СчетПолучателя                   = НомерСчета;
        КонецЕсли;
        Если ПустаяСтрока(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
            ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
            Если ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
                ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;
            КонецЕсли;
        Иначе
            ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
        КонецЕсли;
        ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;
        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
КонецЕсли;
    
    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ОБластьМакета.Параметры.ТекстЗаголовка = "Счет на оплату № " + НомерДокумента + " от " + Формат(Шапка.ДатаДокумента , "ДФ=""dd MMMM yyyy""");
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата);
    ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
    ТабДокумент.Вывести(ОбластьМакета);
    
    ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата);
    ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
    ТабДокумент.Вывести(ОбластьМакета);
    
    // Вывести табличную часть (товары и услуги)
    ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицыСНДС");
    ОбластьМакета.Параметры.Заполнить(Шапка);
    ОбластьМакета.Параметры.Номер = Номер;
    ОбластьМакета.Параметры.Товар = "Товары (работы, услуги)";
    ОбластьМакета.Параметры.Количество = Количество;
    ОбластьМакета.Параметры.Цена = Цена;
    ОбластьМакета.Параметры.СтавкаНДС = СтавкаНДС;
    ОбластьМакета.Параметры.СуммаНДС = СуммаНДС;
    ОбластьМакета.Параметры.Сумма = Сумма;
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицыСНДС");
    НомерСтроки = 0;
    
    Для Каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
        НомерСтроки = НомерСтроки + 1;
        ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
        ОбластьМакета.Параметры.НомерСтроки = Номер;
        ОбластьМакета.Параметры.Товары = СокрЛП(СтрокаТабличнойЧасти.Товар);
        ОбластьМакета.Параметры.Количество = СтрокаКоличество;
        ОбластьМакета.Параметры.ЕдиницаИзмерения = СтрокаЕдиницаИзмерения;
        ОбластьМакета.Параметры.Цена = СтрокаЦена;
        ОбластьМакета.Параметры.СтавкаНДС = СтрокаСтавкаНДС;
        ОбластьМакета.Параметры.СуммаНДС = СтрокаСуммаНДС;
        ОбластьМакета.Параметры.Сумма = СтрокаСумма;
        ТабличныйДокумент.Вывести(ОбластьМакета);
   КонецЦикла;
        
    // Вывести екцию с итоговой суммой
    ОбластьМакета = Макет.ПолучитьОбласть("Итого");
    ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Итого);
    ТабличныйДокумент.Вывести(ОбластьМакета);
      
    // Выводим секцию с итоговой суммой с НДС
    Если СуммаСНДС <> 0 Тогда
        ОбластьМакета = Макет.ПолучитьОбласть("ИтогоСНДС");
        ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
        СуммаСНДС = Сумма + СуммаНДС;
        ОбластьМакета.Параметры.НДС = ?(Выборка.СуммаВключаетНДС, "Итого с НДС", " Сумма НДС");  
        ОбластьМакета.Параметры.ВсегоСНДС = ОбщегоНазначения.ФорматСумм(СуммаСНДС);
        ТабличныйДокумент.Вывести(ОбластьМакета);  
   КонецЕсли;
  
    // Выводим сумму прописью
    ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
    ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи) + " руб.";
    ОбластьМакета.Параметры.СуммаПрописью = ЧислоПрописью(СуммаКПрописи, "L=ru_RU", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2");
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    // Вывести Реквизиты подвала
    ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");
    ОбластьМакета.Параметры.ФИОРуководителя = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.Руководитель);
    ОбластьМакета.Параметры.ФИОГлавногоБухгалтера = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.ГлавныйБухгалтер);
    ОбластьМакета.Параметры.ФИОменеджера = ФизическиеЛица.ФамилияИнициалыФизЛица(Данные.Менеджер);
    ТабличныйДокумент.Вывести(ОбластьМакета);
    
    
КонецФункции // СформироватьПечатнуюФорму()
102 singlych
 
20.11.13
09:37
Тебе же разжевали уже все в (60). Но толку от этого не будет. Не будет этот код работать в УТ11.
103 singlych
 
20.11.13
09:37
А 1000 - это максимальная длина строки.
104 programmist1c8_
2
 
20.11.13
13:28
А Как правильно написать, уж извините за назойливость
105 singlych
 
20.11.13
16:37
Во-первых, ссылка на печатаемый документ передается в твою обработку как элемент массива МассивОбъектов. Тк в УТ11 можно печатать сразу несколько документов, поэтому массив.
Во-вторых, посмотри уже, как в типовой конфе печатается Счет, делай аналогично. Типовая процедура печати ЕМНИП лежит в модуле менеджера то ли документа ЗаказПокупателя, то ли обработки ПечатьСчетовНаОплату.
106 Noob_Of_1C
 
20.11.13
16:59
Форматирование кода на высоте, вложенность условий хрен поймешь...мдяяяяяя
107 hhhh
 
20.11.13
17:00
(100) ну значит лишнее КонецЕсли или еще чего-нибудь.

Ну неужели у вас до такой степени рассеянное внимание, что не можете сосчитать сколько у вас там Если и КонецЕсли, Цикл и КонецЦикла? Это же у вас займет 3 минуты. А вы вместо этого форум полдня из-за этой ерунды мурыжите.
108 Noob_Of_1C
 
20.11.13
17:02
(107) лучше пусть вложенность покажет и все встанет на свои места В-)
109 singlych
 
20.11.13
17:41
(108) а потом будет (45)
110 Noob_Of_1C
 
20.11.13
17:51
(109) (45) это когда без (108) xD я просто даже сейчас вижу что у него в одном из последних примеров кода лишний конец торчит
111 programmist1c8_
2
 
20.11.13
21:22
Ок, я вас понял. Не буду больше отвлекать. Буду смотреть и разбирацца. Спасибо за советы.