Имя: Пароль:
1C
1С v8
Автозаполнение реквизита ВПФ
,
0 AntonNo Professional
 
26.01.18
14:15
Проблема с автозаполнением реквизита СсылкаНаОбъект ВПФ. Необходимо, чтобы при открытии формы внешней обработки этот реквизит был уже заполнен. Но ВладелецФормы = Неопределено. С какого края подступиться к решению? Помогите, если кто сталкивался. Спасибо.
1 Tatitutu
 
26.01.18
14:26
Не важно название Планеты, ты хоть название Галактики намекни (с)
2 Darych
 
26.01.18
14:27
ты кто?
3 AntonNo Professional
 
26.01.18
14:29
(1) Хмм...
4 AntonNo Professional
 
26.01.18
14:30
(2) В пальто
5 Darych
 
26.01.18
14:32
(4) в пальто был я... а ты в манто
6 AntonNo Professional
 
26.01.18
14:34
(5) Вам по существу вопроса нечего сказать?
7 Darych
 
26.01.18
14:34
код, конфа, версия бсп.. и т п (см 1)
8 Гипервизор
 
26.01.18
14:37
Раз, два... Меркурий во втором доме... луна ушла... шесть – несчастье... вечер – семь... (с)
9 AntonNo Professional
 
26.01.18
14:40
(7) БП 3.0 Какой код? Как можно при открытии Формы внешней обработки ВПФ автоматически заполнить реквизит этой формы "СсылкаНаОбъект" (с типом документ.поступлениетоваровуслуг)?
10 Darych
 
26.01.18
14:44
(9) бредишь? какая форма открывается у ВПФ?
11 AntonNo Professional
 
26.01.18
14:46
(10) Во внешней обработке форма.
12 AntonNo Professional
 
26.01.18
14:47
(10) НоваяКоманда.Использование        = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
13 Darych
 
26.01.18
14:50
(12) ты что-то совсем не то делаешь... что нужно?
14 AntonNo Professional
 
26.01.18
14:54
(13) Чтобы пользователь в форме обработки не выбирал вручную конкретный документ из списка(а сейчас в этом реквизите список всех документов "ПоступлениеТоваровУслуг"), а программно заполнялся реквизит "СсылкаНаОбъект" той ссылкой на документ из которого нажата кнопка "печать"
15 Darych
 
26.01.18
14:56
(14) передавай в параметре
16 AntonNo Professional
 
26.01.18
14:56
(15) В каком?
17 Tatitutu
 
26.01.18
15:02
ВПФ - это Внешняя Печатная Форма ?
вызывается из меню печать документа

вот и подсунь туда ссылку свою - в чем проблема ?
18 ximik33rus
 
26.01.18
15:04
(14) понимаешь в чем дело... в ВПФ не должно быть формы, что бы СсылкуНаОбъект автоматом определить.

А если уж ты сделал форму и на ней такой реквизит СсылкуНаОбъект, то либо найди по коду конкретный документ и присвой к нему, либо ручками..
19 AntonNo Professional
 
26.01.18
15:05
(17) Проблема втом, что не могу выдернуть ссылку. Откуда ее подсунуть?
20 AntonNo Professional
 
26.01.18
15:05
(18) То есть автоматически не получится?
21 ximik33rus
 
26.01.18
15:06
А вообще вот.

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "АктПриемПерадачаОборудования", "АКТ ПРИЕМА-ПЕРЕДАЧИ ОБОРУДОВАНИЯ", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));

КонецПроцедуры // Печать()

Функция СформироватьПечатнуюФорму(СсылкаНаОбъект, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктПриемПерадачаОборудования";

МакетОбработки = ПолучитьМакет("Макет");

//заполняем шапку
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
и так далее....


ну и все положенные потроха по сведеньям о внешней обработки и т.п....
22 AntonNo Professional
 
26.01.18
15:09
(21) Буду разбираться...
23 ximik33rus
 
26.01.18
15:10
(20) Смотри какая штука. Что бы все было автоматом, ВПФ не должна иметь формы и реквизита СсылкаНаОбъект. Все функции описываются в модуле объекта, а СсылкаНаОбъект - это параметр в который помещается первый элемент массива объектов - тоесть тот самый документ из под которого запускается печать формы.
24 ximik33rus
 
26.01.18
15:11
(22) Вот тебе в помощь, достаточно подробно. https://helpf.pro/faq83/view/1726.html
25 ximik33rus
 
26.01.18
15:12
Вернее, лучше вот это: http://programmist1s.ru/vneshnie-pechatnyie-formyi-v-1s/
26 AntonNo Professional
 
26.01.18
15:12
(24) Спасибо. Буду извращаться дальше. Без формы обработки, походу, никак(
27 ximik33rus
 
26.01.18
15:13
(26) А зачем тебе форма? Только что бы выбрать документ?
28 Darych
 
26.01.18
15:13
ниче не понимаю... (цы)
29 AntonNo Professional
 
26.01.18
15:15
(27) Заполняюся в ней дополнительные реквизиты
30 Tatitutu
 
26.01.18
15:16
(29) она как правило нужна для отладки
31 Darych
 
26.01.18
15:17
(29) ну так сделай отдельную команду.. не используй впф
32 hhhh
 
26.01.18
15:20
(29) как обычно на форме это делается. У формы ставишь галочку "сохранять значения" и "использовать список для сохранения". Находишь реквизит "СсылкаНаОбъект" напротив него ставишь галочку в колонке"Сохранять". всё.
33 AntonNo Professional
 
26.01.18
15:21
(31) Есть ВПФ ТТН по РТУ. Задача: переделать ее под ТТН по ПТУ(т.е. за поставщика, реквизиты заполняются зеркально). Плюс в ПТУ нет тех реквизитов, что есть в РТУ. В форме обработки я их добавил.
34 ximik33rus
 
26.01.18
15:23
(29) поправь меня, если ошибусь.
Тебе нужно в документе по кнопке "Печать" запустить обработку, при запуске у нее открывается Форма, в которой заполняются еще какие то реквизиты, и должно автоматом заполнится ссылка на объект того документа из которого эта обработка вызывалась и уже когда все заполнено отправлять на печать?
35 AntonNo Professional
 
26.01.18
15:24
(34) Точно так
36 Darych
 
26.01.18
15:26
автор путает впф и обработку печати
37 AntonNo Professional
 
26.01.18
15:28
(32) При таком сохранении заполняется предыдущим значением. И есть возможность у пользователя выбирать из списка документов
38 Tatitutu
 
26.01.18
15:31
(37) скачай и посмотрю любую другую ВПФ готовую
и не придумывай велосипед

в обработку макет
Параметры_Авторегистрации
там прописать твой документ

в модуль обработки


Функция Печать() Экспорт      
    ТабДокумент = ПечатьДокумента();
    Возврат ТабДокумент;      
КонецФункции // Печать
39 AntonNo Professional
 
26.01.18
15:33
Всем спасибо большое. Если найду решение - отпишусь.
40 AntonNo Professional
 
05.02.18
14:01
Решение:
В модуле формы внешней обработки:

&НаСервере
Процедура УстановитьСсылкуНаОбъектНаСервере(Ссылка)
    Объект.СсылкаНаОбъект = Ссылка;
КонецПроцедуры    

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    Если (ЭтаФорма.ВладелецФормы <> Неопределено) И (ЭтаФорма.ВладелецФормы.Параметры.Свойство("Ключ")) Тогда
        УстановитьСсылкуНаОбъектНаСервере(ЭтаФорма.ВладелецФормы.Параметры.Ключ);
        ОбновитьСписокПечатныхФормОбъекта();
    КонецЕсли;    
    
КонецПроцедуры