Заполнить реквизит ДанныеФормыКоллекция
Добрый вечер,уважаемые форумчане.
Встала задача заполнить данными реквизит с типом ДанныеФормыКоллекция, который размещен на форме (УФ).
Вот код:
У меня есть реквизит "ТоварыВРезерве" с типом ДанныеФормыКоллекция. Я бы мог его конечно заполнить на сервере, если сделал бы контекстный вызов,но всю форму тянуть не хочется. Не подскажите как возможно это реализовать? Метод загрузить на клиенте насколько я знаю не работает:)
Скриншот ревизита на форме, который нужно заполнить, приложил
Встала задача заполнить данными реквизит с типом ДанныеФормыКоллекция, который размещен на форме (УФ).
Вот код:
&НаСервереБезКонтекста
Функция ner_СписокСтандартныйПоискНоменклатураПриАктивизацииСтрокиПо слеНаСервере(Номенклатура)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
| СвободныеОстаткиОстатки.Характеристика КАК Характеристика,
| СвободныеОстаткиОстатки.Склад КАК Склад,
| СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток КАК РезервНаСкладе,
| СвободныеОстаткиОстатки.ВРезервеПодЗаказОстаток КАК РезервПодЗаказ
|ИЗ
| РегистрНакопления.СвободныеОстатки.Остатки(, Номенклатура = &Номенклатура) КАК СвободныеОстаткиОстатки";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат ОбщегоНазначения.ТаблицаЗначенийВМассив(РезультатЗапроса);
КонецФункции
&НаКлиенте
&После("ПодборТаблицаНоменклатураПриАктивизацииСтроки")
Процедура ner_ПодборТаблицаНоменклатураПриАктивизацииСтроки(Элемент)
ner_СписокСтандартныйПоискНоменклатураПриАктивизацииСтрокиПо слеНаСервере(Элемент.ТекущиеДанные.Номенклатура);
КонецПроцедуры
ПоказатьУ меня есть реквизит "ТоварыВРезерве" с типом ДанныеФормыКоллекция. Я бы мог его конечно заполнить на сервере, если сделал бы контекстный вызов,но всю форму тянуть не хочется. Не подскажите как возможно это реализовать? Метод загрузить на клиенте насколько я знаю не работает:)
Скриншот ревизита на форме, который нужно заполнить, приложил
Прикрепленные файлы:
По теме из базы знаний
- Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы
- Синхронизация ЗУП 3.1 --> БП 3.0. Ошибка релиза бухгалтерии 3.0.60.46 - при загрузке отражения зарплаты на стороне бухгалтерии не заполняется Регистрация в налоговом органе для подразделений
- Заполнение дополнительных реквизитов при программном открытии формы из другой формы
- Полное копирование одной формы в другую
- Программное создание и расчет документов начисления зарплаты в конфигурации ЗУП 3.1 и ERP (по подразделениям)
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1) можно на клиенте в цикле заполнять построчно. Но если данных много то все же контекстный вызов и заполнение на сервере будет предпочтительнее.
PS. Делать серверный вызов (пусть и без контекста) напрямую на событие ПриАктивизацииСтроки... не желательно. Хотя бы через ПодключитьОбработчикОжидания.
PS. Делать серверный вызов (пусть и без контекста) напрямую на событие ПриАктивизацииСтроки... не желательно. Хотя бы через ПодключитьОбработчикОжидания.
(14) Без контекста только тормоза будут. А с контекстом - ещё и повторная активация события, переполнение стека, кровькишкираспидорасило.
В общем, вопрос только в том, как именно ты хочешь пользователя замучить. Если сразу в клякушку порвать вместе с приложением - тогда контекстный вызов. Если выбесить тормозным интерфейсом - тогда неконтекстный.
А если про феншую, то откладываешь неконтектстный вызов как можно дальше через подключение обработки ожидания. Как пользователь выдохнется на кнопки жать, так на сервер и сбегаешь. Причем уже вне активизации строки ячейки что там.
В общем, вопрос только в том, как именно ты хочешь пользователя замучить. Если сразу в клякушку порвать вместе с приложением - тогда контекстный вызов. Если выбесить тормозным интерфейсом - тогда неконтекстный.
А если про феншую, то откладываешь неконтектстный вызов как можно дальше через подключение обработки ожидания. Как пользователь выдохнется на кнопки жать, так на сервер и сбегаешь. Причем уже вне активизации строки ячейки что там.
(1) Поддержу выше сказанное что не желательно такое делать при активизации строки, но в принципе реализуемо, но повторюсь, делать такое не стоит
Например
Например
&НаКлиенте
Процедура ТаблицаДанныхПриАктивизацииСтроки(Элемент)
МояТаблица = ЭтаФорма.ТаблицаДанных; // Таблица на форме с типом ДанныеФормыКоллекция
ТаблицаДанныхПриАктивизацииСтрокиНаСервере(МояТаблица); // Передаем в качестве параметра в безконтекстный вызов
// где таблица будет заполнена
КопироватьДанныеФормы(МояТаблица,ЭтаФорма.ТаблицаДанных); // переносим изменения
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ТаблицаДанныхПриАктивизацииСтрокиНаСервере(ТаблицаДанных)
Т_З = ДанныеФормыВЗначение(ТаблицаДанных,тип("ТаблицаЗначений")); // преобразуем данные формы в ТаблицуЗначений
// тут работают уже все методы ТаблицыЗначений в.ч. Выгрузить(), Загрузить() и прочие
СтрокаТЗ = Т_З.Добавить();
СтрокаТЗ.Товар = "Товар";
СтрокаТЗ.Количество = "КолВо";
СтрокаТЗ.Сумма ="1000";
ЗначениеВДанныеФормы(Т_З,ТаблицаДанных); // после заполнения преобразуем обратно в ДанныеФормыКоллекция
// Вставить содержимое обработчика.
КонецПроцедуры
Показать
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день