Имя: Пароль:
1C
 
УФ : Выгрузка полей ДанныеФормыЭлементКоллекции в структуру
0 bvb
 
23.08.24
12:19
Добрый день
Гуглил, гуглил - не нагуглил...

Хочу в цикле загнать поля из сабжа в структуру для передачи на сервер


&НаКлиенте
Процедура СписокДокументовПриАктивизацииСтроки(Элемент)
      
    Если Элемент.ТекущаяСтрока <> Неопределено Тогда
        
Вместо :
        СтруктураПараметров = Новый Структура;
        СтруктураПараметров.Вставить("Вид", Элемент.ТекущиеДанные.Вид);
        СтруктураПараметров.Вставить("Номер", Элемент.ТекущиеДанные.Номер);
        СтруктураПараметров.Вставить("Дата", Элемент.ТекущиеДанные.Дата);
        
        
        ОбновитьТабличныеЧастиНаСервере(СтруктураПараметров);
    КонецЕсли;
    
КонецПроцедуры
1 lEvGl
 
23.08.24
12:49
сейчас скажут, что при активизации строки это плохо

собственно, а зачем это?
если на сервере контекст есть, то получить строку можно там
можно передать клиентский идентификатор строки серверу и там получить строку коллекции
если общий модуль, то как в (0) будет работать
2 bvb
 
23.08.24
14:14
(1) Взять строку из ТЗ на сервере по номеру ?
Логично. Я так пробовал.

Фича в том что что в таблицу по которой вызывается СписокДокументовПриАктивизацииСтроки(Элемент) данные грузятся из внешного источника и
при загрузке вызывается СписокДокументовПриАктивизацииСтроки  (почему я не понимаю на форме же ничего не происходит)

и возникат ситуация когда номер строки Элемент.ТекущаяСтрока  = 1000, а в ТЗ = 750 записей и получается индекс за границами массива.

КАк это получается я также не понимаю.

Возможно правильнее вызывать серверный вызов через ПодключитьОбработчикОжидания
3 Мультук
 
23.08.24
14:25
4 bvb
 
24.08.24
08:33
(3) НЕ то.
  ДанныеФормыЭлементКоллекции у меня уже есть.
Нужно обойти его поля в цикле.

Вопрос: данная хрень поддается сериализации ?
5 Mort
 
24.08.24
14:22
правильнее вызывать серверный вызов через ПодключитьОбработчикОжидания
6 Mort
 
24.08.24
14:27
"Элемент.ТекущаяСтрока  = 1000, а в ТЗ = 750"

да хоть Элемент.ТекущаяСтрока  = 100000. (3) правильно намекает.

А вот почему при активизации строки вызывается при загрузке - вероятно происходит неявный серверный вызов в цикле, это надо лечить.
7 lEvGl
 
24.08.24
16:52
(6) это не лечится, оно срабатывает при практически любом движении на форме, можно только условно как то обработать, чтобы код выполнялся только когда надо
8 bvb
 
26.08.24
11:08
(7) может применить ПодключитьОбработчикОжидания?

Или УФ это не актуально ?
9 lEvGl
 
26.08.24
11:52
(8) да актуально как раз для УФ, хотя бы и поспорил насчет эффективности, но лень)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn