Имя: Пароль:
1C
1С v8
Непонятное поведение обработки УТ 11
0 skillu_ua
 
27.09.11
18:10
Вообщем есть внешняя обработка, которая подключается к документу. ВО содержит ТЧ "Товары" (Номенклатура, ДатаПоступления, НоваяДатаПоступления)

В модуле самой обработки следующая процедура

Процедура ЗаполнитьТЧОбработки(ДокументСсылка) Экспорт
   
   ЗаполнитьЗначенияСвойств(Товары,ДокументСсылка.Товары);
   
   НС = Товары.Добавить();
   НС.Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
   НС.ДатаПоступления = ДАТА("20110505");
   
   
КонецПроцедуры


В модуле управляемой формы 2 процедуры:

&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
   
   Для Каждого ОчереднойДокумент Из ОбъектыНазначенияМассив Цикл
       
       Форма = ПолучитьФорму("ВнешняяОбработка.МеханизмИзвещенияПоПоставкеТоваров.Форма.Форма");
       ВыполнитьЗаполнение(ОчереднойДокумент);
       Форма.Открыть();    
       
   КонецЦикла;    

КонецПроцедуры

&НаСервере
Процедура ВыполнитьЗаполнение(Док)
     
   ОбъектНаСервере = РеквизитФормыВЗначение("Объект");
   ОбъектНаСервере.ЗаполнитьТЧОбработки(Док);
   ЗначениеВРеквизитФормы(ОбъектНаСервере,"Объект");
   
КонецПроцедуры

Если смотреть отладчиком то в последней строке процедуры "ВыполнитьЗнаполнение(Док)" переменная ОбъектНаСервере.Товары содержит нужные строки, но в самой форме обработки это не отображается, почему я просто не понимаю ....
1 Мимохожий Однако
 
27.09.11
18:28
А чего ты хочешь? В чем проблема то?
2 skillu_ua
 
27.09.11
18:33
У меня создается форма с пустой ТЧ "Товары". И эта ТЧ должна заполниться ТЧ "Товары" из нужного мне документа (который передается как "Док"), В процедуре  << ЗаполнитьТЧОбработки(ДокументСсылка) >> специально добавил это:

НС = Товары.Добавить();
НС.Номенклатура = Справочники.Номенклатура.ПустаяСсылка();
НС.ДатаПоступления = ДАТА("20110505");

получается следующее ТЧ обработки заполняется нормально, но когда форма этой же обработки открывается, то показана пустая ТЧ, в чем дело не могу понять уже часа 2....
3 Мимохожий Однако
 
27.09.11
20:37
Документ записывал?
4 Поручик
 
27.09.11
21:03
(0) Посмотри, как работает форма подбора в конфигурации.

Ещё это глянь http://forum.aeroion.ru/topic558.html
Только здесь заполнение ТЧ документа, но наверное близко похоже
5 skillu_ua
 
28.09.11
17:34
"Документ записывал?"

А это здесь причем ???
ТЧ "Товары" связана с "Объект.Товары", при выполнении процедуры "ЗаполнитьТЧОбработки" Объект.Товары нормально заполняется, потом нормально конвертируется в "ДанныеФормыОбъект", но с табличной частью на форме ничего не проиходит....
6 Фокусник
 
28.09.11
17:38
(5) видимо разные об'екты: один заполняется, а другой связан с формой
7 skillu_ua
 
28.09.11
17:40
Но как они могут быть разными ?? Для этого же использую

ОбъектНаСервере = РеквизитФормыВЗначение("Объект");
ЗначениеВРеквизитФормы(ОбъектНаСервере,"Объект");
8 skillu_ua
 
28.09.11
17:48
Вообщем проблема в следующем

Имеем код в модуле формы обработки

&НаСервере
Процедура ВыполнитьЗаполнение(Док)
     
   ОбъектНаСервере = РеквизитФормыВЗначение("Объект");
   ОбъектНаСервере.ЗаполнитьТЧОбработки(Док);
   ЗначениеВРеквизитФормы(ОбъектНаСервере,"Объект");
   
КонецПроцедуры


&НаКлиенте
Процедура ПроверитьТЧЧ(Команда)
   
   Для Каждого ОчереднаяСтрока Из Объект.Товары Цикл
       Сообщить(ОчереднаяСтрока);
   КонецЦикла;
КонецПроцедуры

Получается, что в процедуре &НаКлиенте Объект.Товары - пустая ТЧ, а в процедуре &НаСервере Объект.Товары - заполнена, как это вообще возможно если это реквизит обработки ?
9 banco
 
28.09.11
17:54
а зачем выносить заполнение в модуль объекта, делай в модуле формы
10 skillu_ua
 
28.09.11
18:10
banco, ну ситуация будет точно-такая же
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший