|
Как обратиться к заказу покупателя? | ☑ | ||
---|---|---|---|---|
0
alexodel
19.03.19
✎
15:52
|
Здравствуйте
подскажите, пожалуйста я сделал функцию: ----- Функция ПолучитьУсловияОплаты(Заказ) Для каждого стрДР из Заказ.ДополнительныеРеквизиты Цикл Если стрДР.Свойство.Имя = "УсловияОплаты_5c34859355a04de38ae807db93964400" Тогда Реквизит = СтрДР.Значение; КонецЕсли; КонецЦикла; Возврат Реквизит; КонецФункции -------- ПолучитьУсловияОплаты(Заказ) при вызове функции не понимаю как передать заказ покупателя на место "Заказ", подскажите пожалуйста как? |
|||
1
FIXXXL
19.03.19
✎
15:55
|
(0) какой именно Заказ?
|
|||
2
alexodel
19.03.19
✎
16:27
|
Я из заказа покупателя открываю печатную форму во внешней обработки
Мне нужно передать заказ покупателя из которого открывается печатная форма |
|||
3
aleks_default
19.03.19
✎
16:34
|
Попробуй "Ссылка" или "Объект.Ссылка":)
|
|||
4
aleks_default
19.03.19
✎
16:34
|
Что-то одно обязательно прокатит...
|
|||
5
Cyberhawk
19.03.19
✎
16:52
|
Попробуй обратиться с уважением...
|
|||
6
alexodel
19.03.19
✎
18:19
|
Пробовал.... с уважением тоже не получается :(
|
|||
7
alexodel
19.03.19
✎
18:20
|
Весь код работает.... только не могу обуздать обращение к документу
Может подскажите что написать? я три места указал ?????????????... везде не знаю как обратиться к документу #Область ПрограммныйИнтерфейс // Возвращает сведения о внешней обработке. Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1"); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма(); ПараметрыРегистрации.Версия = "1.4"; ПараметрыРегистрации.Назначение.Добавить("Документ.ЗаказПокупателя"); НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(); НоваяКоманда.Представление = НСтр("ru = 'Спецификация к договору (Цена без НДС)'"); НоваяКоманда.Идентификатор = "ЗаказПокупателя"; НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); НоваяКоманда.ПоказыватьОповещение = Истина; НоваяКоманда.Модификатор = "ПечатьMXL"; Возврат ПараметрыРегистрации; КонецФункции Процедура ЗаполнитьДанныеПечатиПоСтрокеТабличнойЧастиЗаказПокупателя(СтрокаТабличнойЧасти, ДанныеПечати, ПараметрыНоменклатуры, СтруктураИтогов) ДанныеПечати.Очистить(); Если СтрокаТабличнойЧасти.ЭтоНабор Тогда НомерСтроки = 0; Иначе СтруктураИтогов.НомерСтроки = СтруктураИтогов.НомерСтроки+1; НомерСтроки = СтруктураИтогов.НомерСтроки; КонецЕсли; ДанныеПечати.Вставить("НомерСтроки", НомерСтроки); ПараметрыНоменклатуры.Очистить(); ПараметрыНоменклатуры.Вставить("Содержание", СтрокаТабличнойЧасти.Содержание); ПараметрыНоменклатуры.Вставить("ПредставлениеНоменклатуры", СтрокаТабличнойЧасти.ПредставлениеНоменклатуры); ПараметрыНоменклатуры.Вставить("ПредставлениеХарактеристики", СтрокаТабличнойЧасти.Характеристика); ПараметрыНоменклатуры.Вставить("ПредставлениеАртикула", СтрокаТабличнойЧасти.Артикул); // Наборы ПараметрыНоменклатуры.Вставить("НеобходимоВыделитьКакСоставНабора", СтрокаТабличнойЧасти.НеобходимоВыделитьКакСоставНабора); ДанныеПечати.Вставить("Запас", ПечатьДокументовУНФ.ПредставлениеНоменклатуры(ПараметрыНоменклатуры)); ДанныеПечати.Вставить("ПредставлениеКодаНоменклатуры", ПечатьДокументовУНФ.ПредставлениеКодаНоменклатуры(СтрокаТабличнойЧасти)); Если СтруктураИтогов.ЕстьСкидки Тогда ДанныеПечати.Вставить("ПредставлениеСкидки", ПечатьДокументовУНФ.ПредставлениеСкидки(СтрокаТабличнойЧасти, СтруктураИтогов)); КонецЕсли; Если НЕ СтрокаТабличнойЧасти.ЭтоНабор Тогда СтруктураИтогов.Сумма = СтруктураИтогов.Сумма + СтрокаТабличнойЧасти.Сумма; СтруктураИтогов.СуммаНДС = СтруктураИтогов.СуммаНДС + СтрокаТабличнойЧасти.СуммаНДС; СтруктураИтогов.Всего = СтруктураИтогов.Всего + СтрокаТабличнойЧасти.Всего; СтруктураИтогов.Вес = СтруктураИтогов.Вес + СтрокаТабличнойЧасти.Вес; СтруктураИтогов.Количество = СтруктураИтогов.Количество + 1; СтруктураИтогов.СкидкаПоДокументу = СтруктураИтогов.СкидкаПоДокументу + СтруктураИтогов.СкидкаПоСтроке; КонецЕсли; КонецПроцедуры /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ЗаказПокупателя", "Заказ покупателя внешний отчет", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати)); КонецПроцедуры // Печать() Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати) Перем ПервыйДокумент, НомерСтрокиНачало; ТабличныйДокумент = Новый ТабличныйДокумент; МакетОбработки = ПолучитьМакет("Макет"); ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка"); ОбластьШапка.Параметры.НомДог = СсылкаНаДокумент.Договор.НомерДоговора; ДатаДоговора = Формат(СсылкаНаДокумент.Договор.ДатаДоговора, "ДЛФ=DD"); ОбластьШапка.Параметры.ДатаДог = ДатаДоговора; //СсылкаНаДокумент.Договор.ДатаДоговора; Префикс = Прав (СсылкаНаДокумент.Номер,5); ОбластьШапка.Параметры.НомЗаказ = Префикс; //СсылкаНаДокумент.Номер; ДатДока=Формат(СсылкаНаДокумент.Дата,"ДФ=dd.MM.yyyy"); ОбластьШапка.Параметры.ДатаДок = ДатДока;//ДатаВходящегоДокумента ТабличныйДокумент.Вывести(ОбластьШапка); //Строка Ном = 0; ИтогоНаим=0; Итог = 0; СуммаИтого = 0; СуммаИтогоНДС = 0; Для каждого Стр из СсылкаНаДокумент.Запасы Цикл ОбластьСтр = МакетОбработки.ПолучитьОбласть("Строка"); Ном = Ном + 1; ОбластьСтр.Параметры.НПП = Ном; ОбластьСтр.Параметры.Количество = Стр.Количество; ИтогоНаим=ИтогоНаим+1; //ОбластьСтр.Параметры.Цена = Стр.Цена; //ОбластьСтр.Параметры.Сумма = Стр.Сумма; ОбластьСтр.Параметры.Ед = Стр.ЕдиницаИзмерения; ОбластьСтр.Параметры.НаимНомен = Стр.Номенклатура; //СуммаИтогоНДС = СуммаИтогоНДС + Стр.СуммаНДС; //СуммаИтого = СуммаИтого + Стр.Сумма; если Стр.СуммаНДС > 0 тогда ОбластьСтр.Параметры.Цена = окр(Стр.Цена - (Стр.Цена *20/120),2); //ОбластьСтр.Параметры.Цена = Стр.ЦенаБезНДС; ОбластьСтр.Параметры.Сумма = окр(Стр.Сумма - (Стр.Сумма*20/120),2); //ОбластьСтр.Параметры.Сумма = Стр.СуммаБезНДС; СуммаИтогоНДС = СуммаИтогоНДС + Стр.СуммаНДС; СуммаИтого = СуммаИтого + Стр.Сумма; иначе ОбластьСтр.Параметры.Цена = Стр.Цена; ОбластьСтр.Параметры.Сумма = Стр.Сумма; СуммаИтогоНДС = 0; СуммаИтого = СуммаИтого + Стр.Сумма; КонецЕсли; ТабличныйДокумент.Вывести(ОбластьСтр); КонецЦикла; ОбластьПодвал = МакетОбработки.ПолучитьОбласть("Подвал"); ОбластьПодвал.Параметры.ВсегоНДС = СуммаИтогоНДС; ОбластьПодвал.Параметры.Всего = СуммаИтого;//СсылкаНаДокумент.Запасы.Всего; ОбластьПодвал.Параметры.СуммаПрописью = ЧислоПрописью(СуммаИтого); ОбластьПодвал.Параметры.ИтогоНаим = ИтогоНаим; /// ЗДЕСЬ ПРИВЯЗАТЬ К ФОРМЕ ОбластьПодвал.Параметры.УсловияОплаты = ПолучитьУсловияОплаты(?????????????); ОбластьПодвал.Параметры.УсловияОтгрузки = ПолучитьУсловияОтгрузки(?????????????); ОбластьПодвал.Параметры.УсловияДоставки = ПолучитьУсловияДоставки(?????????????); ОбластьПодвал.Параметры.НаимОрган = СсылкаНаДОкумент.Организация; ОбластьПодвал.Параметры.НаимКонтр = СсылкаНаДокумент.Контрагент.НаименованиеПолное; ТабличныйДокумент.Вывести(ОбластьПодвал); Возврат ТабличныйДокумент; КонецФункции Функция ПолучитьУсловияОплаты(Заказ) Для каждого стрДР из Заказ.ДополнительныеРеквизиты Цикл Если стрДР.Свойство.Имя = "УсловияОтгрузки_e0d528c2a2e5468685d3b92e290a9158" Тогда Реквизит = СтрДР.Значение; КонецЕсли; КонецЦикла; Возврат Реквизит; КонецФункции #КонецОбласти Функция ПолучитьУсловияОплаты(Заказ) Для каждого стрДР из Заказ.ДополнительныеРеквизиты Цикл Если стрДР.Свойство.Имя = "УсловияОплаты_5c34859355a04de38ae807db93964400" Тогда Реквизит = СтрДР.Значение; КонецЕсли; КонецЦикла; Возврат Реквизит; КонецФункции Функция ПолучитьУсловияДоставки(Заказ) Для каждого стрДР из Заказ.ДополнительныеРеквизиты Цикл Если стрДР.Свойство.Имя = "УсловияДоставки_2d0c20a25a904a208eba222cee0ab7db" Тогда Реквизит = СтрДР.Значение; КонецЕсли; КонецЦикла; Возврат Реквизит; КонецФункции |
|||
8
Turku
19.03.19
✎
19:22
|
&НаСервере
Функция ПечатьУК(МассивОбъектов, ОбъектыПечати) ТабДокумент = Новый ТабличныйДокумент; Для каждого Ссылка из МассивОбъектов Цикл ТабДокументОбъекта = СформироватьЗадание(Ссылка); Если ТабДокумент.ВысотаТаблицы > 0 И ТабДокументОбъекта.ВысотаТаблицы > 0 Тогда ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц() КонецЕсли; ТабДокумент.Вывести(ТабДокументОбъекта) КонецЦикла; Возврат ТабДокумент КонецФункции Ссылка - это и будет Ваш Заказ. |
|||
9
alexodel
21.03.19
✎
22:35
|
Спасибо.
|
|||
10
Мимохожий Однако
21.03.19
✎
23:20
|
Кроме Миста-СП попробуй воспользоваться отладчиком. Сбережешь время.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |