Имя: Пароль:
1C
1С v8
Вывод дополнительного реквизита в печ форму счет на оплату (КА)
0 Asya666
 
27.07.20
15:44
Доброго дня!
Столкнулась с проблемой надо отдельной строчкой вывести на печать доп реквизит из заказа клиента. Думала обратиться из самого модуля менеджера счета на оплату к этому реквизиту. Я больше аналитик, чем разработчик, но в силу обстоятельств хотя бы такие мелочи хочу уметь настраивать. Помогите, пожалуйста! Текст моей попытки ниже. Строку с данными решила выводить отдельной областью в макете.
Область = Макет.ПолучитьОбласть("ДатаИзгТовара");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ЗаказКлиентаДополнительныеРеквизиты.Значение КАК ДатаИзготовленияТовара
    |ИЗ
    |    Документ.ЗаказКлиента.ДополнительныеРеквизиты КАК ЗаказКлиентаДополнительныеРеквизиты
    |ГДЕ
    |    ЗаказКлиентаДополнительныеРеквизиты.Свойство = ДатаИсполненияЗаказа_cb85b7049ecf49b78e5150a610da5b33";    
     Запрос.Выполнить();
    СтруктураДанныхДатаИзгТовара = Новый Структура;
    СтруктураДанныхДатаИзгТовара.Вставить("ДатаИзготовленияТовара", Документы.ТекущийДокумент);
    Область.Параметры.Заполнить(СтруктураДанныхДатаИзгТовара);
    ТабличныйДокумент.Вывести(Область);
1 МихаилМ
 
27.07.20
16:44
вы уж определитесь со своей гендерной принадлежностью. в профиле указан мужской пол, го пишите в женском.
2 Asya666
 
27.07.20
17:59
К вопросу отношения не имеет, а так женский.
3 Ёпрст
 
27.07.20
18:03
(0)
какая то каша, что в тексте запроса, что  в выоде потом
4 Ёпрст
 
27.07.20
18:08
1.в тексте запроса вот это не взлетит :

= ДатаИсполненияЗаказа_cb85b7049ecf49b78e5150a610da5b33
2. в структуру в ДатаИзготовленияТовара загоняешь зачем то ссылку на документ .

Сам запрос, непонятно зачем, и нет ни выборки, ни обхода результата, ни параметров/условия запроса, относящихся к конкретному документу.

3.всё в топку
5 Asya666
 
27.07.20
18:59
(4) соглашусь что в топку, но может кто сможет пояснить как надо?
6 vicof
 
27.07.20
19:07
+(4) и нет отбора конкретного документа, который собираешься распечатать
7 breezee
 
27.07.20
19:13
(0) 1 - в современных типовых есть макеты в регистр, сначала у юзера надо очистить параметры печати
2 - Область = Макет.ПолучитьОбласть("ДатаИзгТовара");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ЗаказКлиентаДополнительныеРеквизиты.Значение КАК ДатаИзготовленияТовара
    |ИЗ
    |    Документ.ЗаказКлиента.ДополнительныеРеквизиты КАК ЗаказКлиентаДополнительныеРеквизиты
    |ГДЕ
    |    ЗаказКлиентаДополнительныеРеквизиты.Свойство.Наименование = ""КакНазываетсяРеквизит""
    |  И  ЗаказКлиентаДополнительныеРеквизиты.Ссылка=&СсылкаНАЗаказа";
Запрос.УстановитьПараметр("СсылкаНАЗаказа", СсылкаНаЗАказ");//Или как ссылка на Ваш заказ называется  
     результат = Запрос.Выполнить().ВЫбрать();
пока результат.следующий() цикл
    СтруктураДанныхДатаИзгТовара = Новый Структура;
    СтруктураДанныхДатаИзгТовара.Вставить("ДатаИзготовленияТовара", результат.ДатаИзготовленияТовара);
    Область.Параметры.Заполнить(СтруктураДанныхДатаИзгТовара);
    ТабличныйДокумент.Вывести(Область);
КонецЦикла;
8 vicof
 
27.07.20
19:20
(0) Проще нанять программиста)
9 Asya666
 
27.07.20
19:50
(7) О благодарю, добрый ты человек) уточнение - если мне нужен текущий документ, то вместо СсылкаНаЗаказ мне прописывать ТекущийДокумент или ссылка правильно сработает на документ из которого обработка выводит печ форму?
(8) Было б проще если б реально было найти) у нас их трое и не справляются с объемом работ, мне учится надо, а наставника нет. Вот и хожу по форумам и читаю Хрусталева и Радченко.
10 acht
 
27.07.20
20:25
(7) Ну все. Женись.
11 Asya666
 
27.07.20
22:02
(10) Мне замуж выходить) А ему женится)
12 Timon1405
 
27.07.20
22:12
Если у вас КА на управляемый формах, используйте
УправлениеСвойствами.ЗначениеСвойства(Объект, Свойство), оно само поймёт что это допреквизит, и само поймёт что как искать в ПВХ по имени.
13 Asya666
 
27.07.20
23:37
(7) {Обработка.ПечатьСчетовНаОплату.МодульМенеджера(356,46)}: Переменная не определена (ДокументСсылка)
    Запрос.УстановитьПараметр("ДокументСсылка", <<?>>ДокументСсылка); (Проверка: Сервер)
Падает с ошибкой...
(12) Тут тоже падает с ошибкой:
Область = Макет.ПолучитьОбласть("ДатаИзгТовара");
СтруктураДанныхДатаИзгТовара = Новый Структура;
СтруктураДанныхДатаИзгТовара.Вставить(УправлениеСвойствами.ЗначениеСвойства(ДокументСсылка.ТекущийДокумент, ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения, ДатаИсполненияЗаказа));
Область.Параметры.Заполнить(СтруктураДанныхДатаИзгТовара);
ТабличныйДокумент.Вывести(Область);

{Обработка.ПечатьСчетовНаОплату.МодульМенеджера(365,78)}: Переменная не определена (ДокументСсылка)
    СтруктураДанныхДатаИзгТовара.Вставить(УправлениеСвойствами.ЗначениеСвойства(<<?>>ДокументСсылка.ТекущийДокумент, ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения, ДатаИсполненияЗаказа)); (Проверка: Сервер)
{Обработка.ПечатьСчетовНаОплату.МодульМенеджера(365,110)}: Переменная не определена (ПланВидовХарактеристикСсылка)
    СтруктураДанныхДатаИзгТовара.Вставить(УправлениеСвойствами.ЗначениеСвойства(ДокументСсылка.ТекущийДокумент, <<?>>ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения, ДатаИсполненияЗаказа)); (Проверка: Сервер)
{Обработка.ПечатьСчетовНаОплату.МодульМенеджера(365,173)}: Переменная не определена (ДатаИсполненияЗаказа)
    СтруктураДанныхДатаИзгТовара.Вставить(УправлениеСвойствами.ЗначениеСвойства(ДокументСсылка.ТекущийДокумент, ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения, <<?>>ДатаИсполненияЗаказа)); (Проверка: Сервер)


Я понимаю что наверно туплю на ровном месте, но вправьте мне, пожалуйста, один раз мозги!
14 Доминошник
 
28.07.20
00:54
(13) Не уверен, но возможно должно быть так

Область = Макет.ПолучитьОбласть("ДатаИзгТовара");
//Предполагаю, что "Текущий документ" - это и есть ссылка на текущий документ
//Так же предполагаю, что имя дополнительного свойства "ДатаИсполненияЗаказа_cb85b7049ecf49b78e5150a610da5b33" (см. "Для разработчиков" в карточке дополнительного реквизита)
СвойствоДатыИсполненияЗаказа = УправлениеСвойствами.ЗначениеСвойства(ТекущийДокумент, "ДатаИсполненияЗаказа_cb85b7049ecf49b78e5150a610da5b33");
//Если что-то получили - то заполним параметры макета
Если СвойствоДатыИсполненияЗаказа <> Неопределено Тогда
    СтруктураДанныхДатаИзгТовара = Новый Структура;
    СтруктураДанныхДатаИзгТовара.Вставить("ДатаИзготовленияТовара",СвойствоДатыИсполненияЗаказа);
    Область.Параметры.Заполнить(СтруктураДанныхДатаИзгТовара);
КонецЕсли;
ТабличныйДокумент.Вывести(Область);
15 Asya666
 
28.07.20
13:38
(14) Не смотря на все усилия все равно падает с ошибкой...
16 Velis
 
29.07.20
14:16
Не знаю правильно или нет, но выводил вот таким способом:
Область = МакетОбработки.ПолучитьОбласть("ДатаИзгТовара");
ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Заголовок","Тест");
ЕстьСтроки = СсылкаНаДокумент.ДополнительныеРеквизиты.НайтиСтроки(Новый Структура("Свойство", ДопРеквизит));
Если ЕстьСтроки.Количество() <> 0 Тогда
Область.Параметры.Реквизит = ЕстьСтроки[0].Значение;
КонецЕсли;
ТабличныйДокумент.Вывести(Область);
17 Asya666
 
30.07.20
16:40
(16) Спасибо! Буду пробовать