Имя: Пароль:
1C
 
Запись данных списка значений: странное поведение клиент-сервер
0 formista2000
 
06.11.25
12:18
Привет!
Есть реквизит формы типа список значений. Содержит структуры.
Есть процедура ПередЗаписьюНаСервере, где происходит запись содержимого этого списка в ТЧ документа.
На клиенте работа со списком проходит нормально, но на сервер список структур передаётся за исключением последнего изменения в какой-то его структуре.
Если после работы со списком на клиенте вставить что-нибудь вроде
МойСписок.Добавить("");
МойСписок.Удалить(МойСписок.Количество() - 1);
То всё в порядке.
Такое впечатление, что список где-то "подвисает".
Это фича или бага?
Есть какой-нибудь стандартный способ освежить его на сервере?
1 Garykom
 
гуру
06.11.25
12:21
РеквизитФормыВЗначение не помогает?
2 formista2000
 
06.11.25
12:24
(1) Не помогает. ((
3 СвинТуз
 
06.11.25
14:46
Интересно.
На клиенте работаем в реквизите.
Идем на сервер и записываем.
Не сложно?
4 Ботаник Гарден Меран
 
06.11.25
16:55
Редкая фича. Было такое, но в текущем коде уже не нашел.
5 formista2000
 
10.11.25
16:26
Ап. Вопрос актуален. ((
ЗЫ: С обновлением платформы до 8.3.27.1786 и костыль из (0) перестал работать. ((
6 arsik
 
гуру
10.11.25
16:34
(5) А почему именно список значений используется? Наследие 77.
Может проще структуру или массив или соответствие?
7 formista2000
 
10.11.25
16:42
(6) Массив не работает. Если назначить тип реквизита произвольный и в коде задать ему значение типа массив будет ошибка. С соответствием та же фигня.
Нет, не наследие 7.7. Просто всё очень динамическое и клиент-серверное.
Если не получится - буду на таблицу значений переписывать.
8 arsik
 
гуру
10.11.25
16:43
(7) У тебя этот реквизит на форму вынесен?
9 formista2000
 
10.11.25
16:46
(8) Нет. Но и с вынесенным на форму то же самое, я пробовал. Правда, с Видимость = Ложь.
10 arsik
 
гуру
10.11.25
16:48
(9) Структура нормально работает
11 formista2000
 
10.11.25
16:55
(10) Просто структура? У меня массив структур в списке значений.
+ ну то есть список структур.
12 arsik
 
гуру
10.11.25
16:57
(11) Ну можно и ФиксированныйМассив.
Только перед изменением нужно будет каждый раз
Массив = новый Массив(Реквизит);
Массив.Добавить(Значение);
Реквизит = новый ФиксированныйМассив(Массив);

А можно ключем структуры сделать "Строка"+НомерСтроки
Но вот выборка из структуры не факт что будет в том порядке котором добавляли. Короче там рандом.

Ну или вариант попробовать ТаблицуЗначений вместо СпискаЗначений
13 formista2000
 
10.11.25
17:15
(12) Да, придётся, видимо, с таблицей значений заморочиться. Хреново, что на клиенте с ней не поработаешь, и всякие серверные вызовы сильно скажутся на производительности. ((
14 arsik
 
гуру
10.11.25
18:58
Как это не поработаешь то? Что то новое.