Вход | Регистрация
 

УФ 8.2, внешняя обработка заполнения ТЧ. Как обновить форму ???

УФ 8.2, внешняя обработка заполнения ТЧ. Как обновить форму ???
Я
   s202
 
05.05.19 - 09:50
УФ 8.2, внешняя обработка заполнения ТЧ. Сама обработка написана в соответствии с требованиями и подключена к базе.

Заполняю документ реализации остатками на складе (задача такая - затолкать в реализацию все товары имеющиеся на складе).
В обычных формах никаких проблем быть не могло: Получил остатки, добрался до табличной части документа, заполнил ее.

Но это же УФ.
Получил остатки, добрался до табличной части документа, заполнил ее.
А на форме документа - ничего не добавляется.
Пробовал:
ВладелецФормы.ОбновитьОтображениеДанных();
ВладелецФормы.Элементы.Товары.Обновить();
ВладелецФормы.Прочитать();

Никакого результата. В табличной части объекта 3000 строк, на форме документа - ноль строк.
Что я делаю не так?
 
 
   МимохожийОднако
 
1 - 05.05.19 - 09:55
(0) Не стесняйся. Показывай код заполнения.
   impulse9
 
2 - 05.05.19 - 09:56
Не стесняйся жмакать на кнопку Я в правом верхнем углу
   s202
 
3 - 05.05.19 - 10:03
&НаКлиенте
Процедура ВыполнитьКоманду(Команда, ОбъектыНазначенияМассив) Экспорт

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

        //ВладелецФормы.Элементы.Товары.Обновить();

        //ВладелецФормы.ОбновитьОтображениеДанных();

        //ВладелецФормы.Прочитать();

        ВладелецФормы.Модифицированность=Истина;

    КонецЕсли; 
    
КонецПроцедуры

Процедура ПолучитьОстатки(ДокОб)
    
    Запрос=Новый Запрос(
    "ВЫБРАТЬ
    |    ТоварыНаСкладахОстатки.Номенклатура,
    |    ТоварыНаСкладахОстатки.ВНаличииОстаток,
    |    ТоварыНаСкладахОстатки.ВРезервеОстаток
    |ИЗ
    |    РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата1, Склад = &Склад) КАК ТоварыНаСкладахОстатки");
    Запрос.УстановитьПараметр("Дата1", КонецДня(ДокОб.Дата));
    Запрос.УстановитьПараметр("Склад", ДокОб.Склад);
    Выборка=Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        СтрокаДок=ДокОб.Товары.Добавить();
        СтрокаДок.Номенклатура=Выборка.Номенклатура;
        СтрокаДок.Количество=Выборка.ВНаличииОстаток;
    КонецЦикла; 

КонецПроцедуры
   s202
 
4 - 05.05.19 - 10:04
(2) Кнопка "Я" уже не помогает.
   s202
 
5 - 05.05.19 - 10:27
Эта гадость работает, только если записать документ.
А если записывать нежелательно ? Кнопка "Я" показывает, что никак. Это действительно так?
   rozer76
 
6 - 05.05.19 - 10:30
вызови прочитать() в форме реалки
   rozer76
 
7 - 05.05.19 - 10:37
+ (6) оповестить форму а там в обработке оповещения есть вроде в ут11 прочитать() вроде
   s202
 
8 - 05.05.19 - 10:40
(6),(7) Весь смысл внешней обработки заполнения - НЕ трогать конфигурацию.
   rozer76
 
9 - 05.05.19 - 10:44
(8) расширения есть
   rozer76
 
10 - 05.05.19 - 10:44
если чо
   s202
 
11 - 05.05.19 - 10:48
УФ 8.2 - нет там расширений.
   rozer76
 
12 - 05.05.19 - 10:53
ну тогда сорри, другого способа нет
   hhhh
 
13 - 05.05.19 - 11:13
(11) вообще-то у меня точно такая же обработка есть как у вас, всё работает, без всяких прочитать и обновить. Что-то вы не договариваете.
   palsergeich
 
14 - 05.05.19 - 11:20
Вместо ДокОб=ВладелецФормы.Объект; 
Используй 2 метода:
В началле ДанныеФормыВЗначение
и в конец
ЗначениеВДАнныеФормы
   hhhh
 
15 - 05.05.19 - 11:32
(11) а понял, делайте заполнение &НаКлиенте
   palsergeich
 
16 - 05.05.19 - 12:16
(15) Кстати вариант.
Данные на сервере получаете, на клиенте пихаете и все ок будет

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.