|
|
|
Заполнить реквизит с типом ДанныеФормыКоллекция | ☑ | ||
|---|---|---|---|---|
|
0
Nerevar86
24.03.23
✎
00:21
|
Добрый вечер,уважаемые форумчане.
Встала задача заполнить данными реквизит с типом ДанныеФормыКоллекция, который размещен на форме (УФ). Вот код: &НаСервереБезКонтекста
Функция ner_СписокСтандартныйПоискНоменклатураПриАктивизацииСтрокиПослеНаСервере(Номенклатура)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СвободныеОстаткиОстатки.Номенклатура КАК Номенклатура,
| СвободныеОстаткиОстатки.Характеристика КАК Характеристика,
| СвободныеОстаткиОстатки.Склад КАК Склад,
| СвободныеОстаткиОстатки.ВРезервеСоСкладаОстаток КАК РезервНаСкладе,
| СвободныеОстаткиОстатки.ВРезервеПодЗаказОстаток КАК РезервПодЗаказ
|ИЗ
| РегистрНакопления.СвободныеОстатки.Остатки(, Номенклатура = &Номенклатура) КАК СвободныеОстаткиОстатки";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат ОбщегоНазначения.ТаблицаЗначенийВМассив(РезультатЗапроса);
КонецФункции
&НаКлиенте
&После("ПодборТаблицаНоменклатураПриАктивизацииСтроки")
Процедура ner_ПодборТаблицаНоменклатураПриАктивизацииСтроки(Элемент)
ner_СписокСтандартныйПоискНоменклатураПриАктивизацииСтрокиПослеНаСервере(Элемент.ТекущиеДанные.Номенклатура);
КонецПроцедуры
У меня есть реквизит "ТоварыВРезерве" с типом ДанныеФормыКоллекция. Я бы мог его конечно заполнить на сервере, если сделал бы контекстный вызов,но всю форму тянуть не хочется. Не подскажите как возможно это реализовать? Метод загрузить на клиенте насколько я знаю не работает:) |
|||
|
1
Волшебник
24.03.23
✎
00:23
|
Покажите скриншот
|
|||
|
2
Nerevar86
24.03.23
✎
00:25
|
Скриншот чего именно?
|
|||
|
3
Волшебник
24.03.23
✎
00:25
|
Вашей формы
|
|||
|
4
Nerevar86
24.03.23
✎
00:37
|
||||
|
5
H A D G E H O G s
24.03.23
✎
01:08
|
Перебирай возвращенный массив структур на клиенте и добавляй построчно в коллекцию через Добавить()
|
|||
|
6
eddy_n
24.03.23
✎
02:43
|
В этой же серверной процедуре и заполняй свой реквизит формы 'ТоварыВРезерве' с типом таблица значений через всё тот же Добавить(). Только процедура должна быть контекстной.
|
|||
|
7
Nerevar86
24.03.23
✎
06:54
|
(6) В событии "ПриАктивизиацииСтроки" не предусмотрена возможность контекстного серверного вызова. В синтаксис-поомщнике так и неписано. Да и платформа сама не дает создать контекстный вызов. Можно конечно руками директиву поправить, но поведение платформы оставит желать лучшего.
|
|||
|
8
Мультук
гуру
24.03.23
✎
07:59
|
(7)
1) Прочитать в кэш все остатки по номенклатуре из коллекции и показывать не подходит ? Нужны остатки "прямо сейчас из базы" ? 2) Можно из события "" запускать "ПодключитьОбработчикОжидания" Вот так делают ребята из 1С &НаКлиенте Процедура ТоварыПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) [skip] ПодключитьОбработчикОжидания("ТоварыПриОкончанииРедактированияДляСерверногоВызова", 0.5, Истина); КонецПроцедуры 3) РегистрНакопления.СвободныеОстатки.Остатки( Это необновленная УТ ? |
|||
|
9
Nerevar86
24.03.23
✎
08:04
|
(8) Это типовая УТ 11.4
|
|||
|
10
Nerevar86
24.03.23
✎
08:05
|
(8) У меня есть расширение, где нужно в реквизите на форме с типом ТЗ (ДанныеФормыКоллекция) при активизации строки на форме, вывести информацию об остатках в этот реквизит.
|
|||
|
11
eddy_n
24.03.23
✎
09:02
|
&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент) СервернаяПроцедура(); КонецПроцедуры Процедура СервернаяПроцедура() НовСтрока = ЭтаФорма.ТаблГТД.Добавить(); НовСтрока.ГТД = ""; КонецПроцедуры |
|||
|
12
Nerevar86
24.03.23
✎
09:25
|
(11) Так у меня платформа не дает создать процедуру с директивой &НаСервере.
|
|||
|
13
eddy_n
24.03.23
✎
09:52
|
(12) А почему у меня даёт?
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |