Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[1С:Бухгалтерия 8]

Внешняя обработка реализация товаров и услуг

chuma
новичок
офлайн
Пост №1
 
15.05.2013 15:38

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

ZhAmAn
читатель
офлайн
Дата регистрации: 23.12.2010
Сообщений: 1333
Пост №2
 
15.05.2013 15:39

А зачем весь модуль сюда писать?

Вьюн
читатель
офлайн
Дата регистрации: 14.01.2007
Сообщений: 657
Пост №3
 
15.05.2013 20:10

Определитесь, как называется реквизит Валюта у объекта, а то у вас 2 варианта встречаются:<br>СсылкаНаОбъект.мВалютаРегламентированногоУчета<br>СсылкаНаОбъект.ВалютаРегламентированногоУчета

zak555 (398843952)
читатель
офлайн
Дата регистрации: 27.03.2008
Сообщений: 4656
Пост №4
 
16.05.2013 09:32

вложенные запросы -- это лишнее

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №5
 
16.05.2013 10:25

Это скорее в "Пожелания по форуму", сделать возможность писать "Скрытый текст"...

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация