Имя: Пароль:
1C
1С v8
Программно не задается значение реквизита
,
0 mefisto666series
 
20.08.14
16:53
Собственно, пытаюсь заполнить документ программно, и для того, чтобы упростить себе задачу, то есть чтобы автоматом происходило заполнение всего связанного, заполняю док через форму с помощью честно найденного где-то готового решения, которое, кстати, на какой-то другой конфе работало. Итак, беру форму документа ЗаказКлиента(конфигурация, кстати, ут 11.1):
Форма = ПолучитьФорму("Документ.ЗаказКлиента.ФормаОбъекта");
и пытаюсь заполнить поле партнер таким образом:
ИнтерактивноЗаписатьВЭлементУправления(Форма.Элементы.Партнер,Партнер,ФормаДляВыбора);
где
Функция ИнтерактивноЗаписатьВЭлементУправления(ЭлементУправления, Значение, ФормаДляВыбора = Неопределено) Экспорт
    Если ФормаДляВыбора = Неопределено Тогда
        ФормаДляВыбора = ПолучитьФорму("ВнешняяОбработка.EDIServiceSOAPFNS.Форма.ИнтерактивноеДобавление", ЭлементУправления);
    Иначе
        ФормаДляВыбора.ВладелецФормы = ЭлементУправления;
    КонецЕсли;
    ФормаДляВыбора.ОповеститьОВыборе(Значение);

    Возврат ФормаДляВыбора;
КонецФункции
, а форма для выбора - просто прицепленная к обработке форма для имитации выбора. то есть пустая форма. и вот не заполняется поле, собственно. обработчик из модуля дока ПриИзмененииПартнера вызывается, но, т.к. Объект.Партнер - пустое ничего, само собой не происходит. так вот почему Объект.Партнер - пустой - непонятно. то же самое с Контрагентом. в то же время,
ИнтерактивноЗаписатьВЭлементУправления(Форма.Элементы.Статус,ПредопределенноеЗначение("Перечисление.СтатусыЗаказовКлиентов.КОтгрузке"),ФормаДляВыбора);
делает своё дело как надо. в чем может быть дело?
1 Timon1405
 
20.08.14
17:01
я нашел в коридоре чайник похожий на принтер , но у меня с него не печатаются документы, кто может подсказать в чем дело?
2 Wobland
 
20.08.14
17:02
а зачем ты пытаешься что-то там заполнить на форме?
3 mefisto666series
 
20.08.14
17:13
(2) создаю док с 0, из xmlки заполняю.можно в лоб просто создать док и заполнять все поля, но тогда напряжно цены заполнять, суммы и т.п. а если через форму, то достаточно только партнера и контрагента заполнить, остальное подтягивается из соответсвующего соглашения.
4 Wobland
 
20.08.14
17:14
(3) не дошло. ну и ладно
5 mefisto666series
 
20.08.14
17:15
(1) дада, понятно какой ты смищной. если считаешь, что код не рабочий - поясни. если не понял - уточни. ну или промолчи.
6 salvator
 
20.08.14
17:17
Найди процедуру, которая заполняет данные и вызови ее через создаваемый объект.
7 mefisto666series
 
20.08.14
17:24
(6) ну это, конечно, да, так и делается, обычно,но хочется короче.
8 Wobland
 
20.08.14
17:24
(7) а от нас чего хочешь?
9 mefisto666series
 
20.08.14
17:26
(8) ну есть вообще логика в моих действиях, или я иду заведомо ложным путем?
10 Timon1405
 
20.08.14
17:26
от нас ТС, видимо, хочет объяснения почему у него "Объект.Партнер - пустой"
11 Timon1405
 
20.08.14
17:40
есть предположение что http://infostart.ru/public/153602/
12 mefisto666series
 
20.08.14
17:44
(11) вся эта канитель затеяна, среди прочего, ещё и для того, чтобы не делать процедуру серверной, т.к. с сервера недоступны клиентские процедуры, которые, проблематично сделать серверными, т.к. они обращаются к клиентским...
13 mefisto666series
 
20.08.14
17:47
(11) но в целом, возможно это то что нужно
14 Franchiser
 
гуру
20.08.14
18:12
(0) Наверно это функция предназначена для толстого клиента на обычных формах, а ты используешь в УФ.
15 Franchiser
 
гуру
20.08.14
18:17
в уф если пишешь в реквизит объекта в одной форме не получится считать этот реквизит в другой, там в объекте будет последнее открытое в ней значение.