8.х Помогите с ВПФ

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Framm, 11 янв 2010.

  1. TopicStarter Overlay
    Framm
    Offline

    Framm

    Регистрация:
    11 янв 2010
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    УТ 10.3.8
    Создаю ВПФ счета для документа "Заказ покупателя"
    подключаю ВПФ к базе, при попытке печати выдает ошибку
    {ОбщийМодуль.УниверсальныеМеханизмы(1051)}: Поле объекта не обнаружено (АвтоМасштаб)
    Если НЕ ПечДокумент.АвтоМасштаб

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

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Потому что, надо возвращать готовый табличный документ, а Вы возвращаете структуру, у которой нет свойства "АвтоМасштаб"
  3. TopicStarter Overlay
    Framm
    Offline

    Framm

    Регистрация:
    11 янв 2010
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Спасибо, чтото я ступил) сейчас всё получилось)))
  4. senik3
    Offline

    senik3

    Регистрация:
    12 ноя 2012
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    УПП 1.3 Та же проблема, тоже делаю счёт и то же самое "Поле объекта не обнаружено (АвтоМасштаб)"
    Поясните плиз по конкретнее
    Я начинающий
  5. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    397
    Баллы:
    104
    Код напишите свой
  6. senik3
    Offline

    senik3

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

    senik3

    Регистрация:
    12 ноя 2012
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Спасибо за помощь. :angry2:
  8. n.s.gnedash
    Offline

    n.s.gnedash Опытный в 1С Команда форума

    Регистрация:
    15 авг 2010
    Сообщения:
    1.358
    Симпатии:
    5
    Баллы:
    29
  9. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    397
    Баллы:
    104
    Давайте без обид, Вам никто здесь ничем не обязан. У Вас в коде функция возвращает структуру. А нужно табличный документ. Вы сами писали это?
  10. senik3
    Offline

    senik3

    Регистрация:
    12 ноя 2012
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Благодарю, уже всё сделал.
  11. Евгений34
    Offline

    Евгений34

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

    Евгений34

    Регистрация:
    21 июн 2013
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    а вот теперь выдает


    Не удалось сформировать внешнюю печатную форму!
    Метод объекта не обнаружен (Вставить)

    Че сказать ребят я нуб в этом и некому подскозать
  13. Евгений34
    Offline

    Евгений34

    Регистрация:
    21 июн 2013
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    мертвей форума невидал!!!!!!!!!!
  14. n.s.gnedash
    Offline

    n.s.gnedash Опытный в 1С Команда форума

    Регистрация:
    15 авг 2010
    Сообщения:
    1.358
    Симпатии:
    5
    Баллы:
    29
    да иди уже от сюда))
    ну или напиши в каком месте у тебя затык и что именно не получается! по тому,что ты написал метод объекта не обнаружен - значит не тому объекту пытаешься вставить))))
    а если хочешь, чтобы быстро за 5 сек сделали - заплати и все.
  15. Евгений34
    Offline

    Евгений34

    Регистрация:
    21 июн 2013
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Да на ###### такой форум делать если ######и умники так отвечают, Если сложно помочь так и пиши, вы как твари последнии строити из себя умных, а сами пожизни очкатые ######и которых в школи гнабили, теперь крутые. на ###### вас на ######.
  16. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    для нуба у вас слишком много гонора, даже желание помочь отпало

    З.Ы. вам тут никто не обязан помогать, все по желанию и по наличию времени, а вы тут обижаете всех такими словами...

Поделиться этой страницей