Коллеги, всем доброго дня!
Вопрос знатокам.
Есть вот такой код на форме, который должен заполнять реквизит формы "Таблица" с типом "Таблица значений".
Проблема в строке ЗначениеВРеквизитФормы(ТЗ, ТаблицаФормы) - ТЗ не преобразуется в данные формы, а так и остается ТЗ. Но и исключение метод не генерит. Есть способ преобразовать ТЗ в данные формы коллекция без контекста?
Вопрос знатокам.
Есть вот такой код на форме, который должен заполнять реквизит формы "Таблица" с типом "Таблица значений".
Проблема в строке ЗначениеВРеквизитФормы(ТЗ, ТаблицаФормы) - ТЗ не преобразуется в данные формы, а так и остается ТЗ. Но и исключение метод не генерит. Есть способ преобразовать ТЗ в данные формы коллекция без контекста?
&НаКлиенте
Процедура ВыполнитьОбработку(Команда)
Результат = ПолучитьРезультат(ЭтаФорма.Таблица);
КопироватьДанныеФормы(Результат, ЭтаФорма.Таблица);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьРезультат(знач ТаблицаФормы) Экспорт
ТЗ = ДанныеФормыВЗначение(ТаблицаФормы, Тип("ТаблицаЗначений"));
Строка = ТЗ.Добавить();
Строка.Реквизит1 = 15654;
ЗначениеВРеквизитФормы(ТЗ, ТаблицаФормы);
Возврат ТЗ;
КонецФункции
ПоказатьНайденные решения
(4) Не нужны в данном случае все эти реквизитформывзначение и обратно. У реквизита формы с типом ТаблицаЗначений есть метод Выгрузить - возвращает таблицу значений. Есть у него же метод Загрузить - в него передаем таблицу значений параметром и все работает (на сервере).
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) немного не так
&НаКлиенте
Процедура ВыполнитьОбработку(Команда)
Результат = ПолучитьРезультат(ЭтаФорма.Таблица);
//КопироватьДанныеФормы(Результат, ЭтаФорма.Таблица);
КонецПроцедуры
&НаСервере
Функция ПолучитьРезультат(знач ТаблицаФормы) Экспорт
ТЗ = ДанныеФормыВЗначение(ТаблицаФормы, Тип("ТаблицаЗначений"));
Строка = ТЗ.Добавить();
Строка.Реквизит1 = 15654;
ЗначениеВРеквизитФормы(ТЗ, "ТаблицаФормы"); //ИМЯ реквизита
Возврат Истина;
КонецФункции
Показать
(3)Немного ввел в заблуждение. Вы правы в контекстном вызове это будет работать.
А вот без контекста как-то все грустно, ТЗ в данные форму не преобразуется, видимо потому, что таблица значений не имеет отображение в данных формы, а так и остается таблицей значений:
&НаСервереБезКонтектста
Функция ПолучитьРезультат(знач ТаблицаФормы) Экспорт
ТЗ = ДанныеФормыВЗначение(ТаблицаФормы, Тип("ТаблицаЗначений"));
Строка = ТЗ.Добавить();
Строка.Реквизит1 = 15654;
ЗначениеВРеквизитФормы(ТЗ, ТаблицаФормы);
Возврат ТЗ;
КонецФункции
А вот без контекста как-то все грустно, ТЗ в данные форму не преобразуется, видимо потому, что таблица значений не имеет отображение в данных формы, а так и остается таблицей значений:
&НаСервереБезКонтектста
Функция ПолучитьРезультат(знач ТаблицаФормы) Экспорт
ТЗ = ДанныеФормыВЗначение(ТаблицаФормы, Тип("ТаблицаЗначений"));
Строка = ТЗ.Добавить();
Строка.Реквизит1 = 15654;
ЗначениеВРеквизитФормы(ТЗ, ТаблицаФормы);
Возврат ТЗ;
КонецФункции
(4) Не нужны в данном случае все эти реквизитформывзначение и обратно. У реквизита формы с типом ТаблицаЗначений есть метод Выгрузить - возвращает таблицу значений. Есть у него же метод Загрузить - в него передаем таблицу значений параметром и все работает (на сервере).
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот