Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как обратиться к заказу покупателя?

Как обратиться к заказу покупателя?
Я
   alexodel
 
19.03.19 - 15:52
Здравствуйте

подскажите, пожалуйста

я сделал функцию:


-----
Функция ПолучитьУсловияОплаты(Заказ)
    Для каждого стрДР из Заказ.ДополнительныеРеквизиты Цикл
        
        Если стрДР.Свойство.Имя = "УсловияОплаты_5c34859355a04de38ae807db93964400" Тогда
            Реквизит = СтрДР.Значение;
        КонецЕсли;
    КонецЦикла;
    
    Возврат Реквизит;

КонецФункции
--------


ПолучитьУсловияОплаты(Заказ) при вызове функции не понимаю как передать заказ покупателя на место "Заказ", подскажите пожалуйста как?
 
 
   FIXXXL
 
1 - 19.03.19 - 15:55
(0) какой именно Заказ?
   alexodel
 
2 - 19.03.19 - 16:27
Я из заказа покупателя открываю печатную форму во внешней обработки
Мне нужно передать заказ покупателя из которого открывается печатная форма
   aleks_default
 
3 - 19.03.19 - 16:34
Попробуй "Ссылка" или "Объект.Ссылка":)
   aleks_default
 
4 - 19.03.19 - 16:34
Что-то одно обязательно прокатит...
   Cyberhawk
 
5 - 19.03.19 - 16:52
Попробуй обратиться с уважением...
   alexodel
 
6 - 19.03.19 - 18:19
Пробовал.... с уважением тоже не получается :(
   alexodel
 
7 - 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" Тогда
            Реквизит = СтрДР.Значение;
        КонецЕсли;
    КонецЦикла;
    
    Возврат Реквизит;

КонецФункции
   Turku
 
8 - 19.03.19 - 19:22
&НаСервере
Функция ПечатьУК(МассивОбъектов, ОбъектыПечати)
    
    ТабДокумент = Новый ТабличныйДокумент;
    Для каждого Ссылка из МассивОбъектов Цикл
        ТабДокументОбъекта = СформироватьЗадание(Ссылка); 
        Если ТабДокумент.ВысотаТаблицы > 0 И ТабДокументОбъекта.ВысотаТаблицы > 0 Тогда 
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц()
        КонецЕсли;
        ТабДокумент.Вывести(ТабДокументОбъекта)
    КонецЦикла;

    Возврат ТабДокумент
КонецФункции

Ссылка - это и будет Ваш Заказ.
   alexodel
 
9 - 21.03.19 - 22:35
Спасибо.
   МимохожийОднако
 
10 - 21.03.19 - 23:20
Кроме Миста-СП попробуй воспользоваться отладчиком. Сбережешь время.
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует