Имя: Пароль:
1C
 
где разместить функции заполнения ТЧ в 8.3
,
0 qeos
 
28.04.17
11:28
Коллеги подскажите-ка, как правильней запрограмить?

Нужна функция которая будет заполнять ТЧ документа.
Вызов будет происходить из формы документа, а так же программно, создавая новый документ.

Вот чтото не могусообразить как правильней.
Не хочется пользоваться костылями типа РеквизитФормыВЗначение..

поместить в модуль менеджера? тогда из формы наСервере нет такой функции..

или создать для этого модуль, и функция такого модуля будет возвращать ТЧ которую вгружать на форме?

или я вообще чтото не так делаю?
1 DrShad
 
28.04.17
11:32
сделай внешнюю обработку заполнения объекта
2 drcrasher
 
28.04.17
11:32
форма:
#Область ОбработчикиСобытийЭлементовШапкиФормы
&НаКлиенте
Процедура ЗаказУслугПриИзменении(Элемент)
    ЗаполнитьПоЗаказу();
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции
&НаСервере
Процедура ЗаполнитьПоЗаказу()

    Документы.РеализацияУслуг.ЗаполнитьРеализациюУслугПоЗаказу(Объект, Объект.ЗаказУслуг);
КонецПроцедуры

#КонецОбласти

----
менеджер:

Процедура ЗаполнитьРеализациюУслугПоЗаказу(РеализацияОбъект, ЗаказУслуг) Экспорт
    
    ЗаполнитьЗначенияСвойств(РеализацияОбъект, ЗаказУслуг,, "Услуги,Дата,Номер");
    
    РеализацияОбъект.Услуги.Очистить();
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Организация", РеализацияОбъект.Организация);
...    
    РеализацияОбъект.Услуги.Загрузить(Запрос.Выполнить().Выгрузить());
    
КонецПроцедуры


_____________

объект:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
    
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказУслуг") Тогда
        ЗаказУслуг = ДанныеЗаполнения;
        Документы.РеализацияУслуг.ЗаполнитьРеализациюУслугПоЗаказу(ЭтотОбъект, ДанныеЗаполнения);
3 drcrasher
 
28.04.17
11:33
+(1) работает откуда угодна и как угодно
4 qeos
 
28.04.17
11:35
(2) спасибо огромное!
5 drcrasher
 
28.04.17
11:48
6 qeos
 
28.04.17
12:06
слегонца конешно странно выглядит..
https://i.imgur.com/Sbg1Lkd.png
7 drcrasher
 
28.04.17
12:08
(6) но зачем? Заполнить(...) это заполнение на основании. в чём прикол?

ну и раз у тебя СоздатьДокумент() то и заполняй по человечески, ты ж на сервере код исполняешь
8 qeos
 
28.04.17
12:19
так не менее странно
https://i.imgur.com/PEGB80I.png
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой