|
Интерактивный ввод родителя номенклатуры | ☑ | ||
---|---|---|---|---|
0
SkAt
16.10.18
✎
11:09
|
Доброго времени суток! Создаю элемент справочника "Номенклатура" программно. Реквизиты все тоже заполняю программно. Но, по просьбе заказчика, ввод родителя (выбор группы справочника для создаваемой номенклатуры) должен быть интерактивным, т.е. при создании запрашивать в какую группу расположить. Как это реализовать? Конф. БП 3.0. Например, что сделать в процедуре ВыбратьГруппу():
&НаСервере Процедура СоздатьНоменклатуру() НоваяН = Справочники.Номенклатура.СоздатьЭлемент(); //Заполняю реквизиты программно НоваяН.Родитель = ВыбратьГруппу(); НоваяН.Записать(); КонецПроцедуры Заранее спасибо! |
|||
1
Cool_Profi
16.10.18
✎
11:10
|
Выбирай на клиенте, потом беги на сервер и создавай
|
|||
2
SkAt
16.10.18
✎
11:12
|
(1) Хорошо, как на клиенте правильно открыть форму выбора? Чтобы вернулось значение? Я понимаю, в этот пример нужно сразу передать выбранное значение группы, но как на клиенте предложить выбор? Хоть наметку какую-нибудь
|
|||
3
DrWatson
16.10.18
✎
11:17
|
А не подойдёт просто расположить поле выбора номенклатуры на твоей форме? Нужно прям форму выбора открывать?
|
|||
4
Автосервис
16.10.18
✎
11:18
|
Всегда вводил через "ВвестиЗначение" или "ПоказатьВводЗначения". Но использовал только для чисел, строк и дат. В синтаксис-помощнике не описано ограничение типов. Можешь через эти команды попробовать .
|
|||
5
Автосервис
16.10.18
✎
11:19
|
(4) Хотя нет, от элементов там же отбор не установить))
|
|||
6
catena
16.10.18
✎
11:25
|
(5)В обработке после ввода проверять на группу и, если нет, возвращать на ввод))
|
|||
7
SkAt
16.10.18
✎
11:29
|
(5) (6) ПоказатьВводЗначений() не позволяет выбрать группу, он сразу выводит ошибку, что надо выбрать элемент. Это уже проверено.
(3) нет, номенклатура создается программно. Её откуда выбирать? Нужна какая-либо форма выбора, где пользователь укажет группу и номенклатура будет создана. |
|||
8
catena
16.10.18
✎
11:34
|
(7)Номенклатура программно создается же откуда-то. У этого "где-то" форма есть же. Там заранее и выбрать группу.
ОткрытьФорму() может абсолютно все, любые типы, отборы и цветуечки. |
|||
9
DrWatson
16.10.18
✎
11:36
|
(7) Ну, эта программа же откуда-то запускается, с какой-то формы. Вот в ней и расположить поле выбора группы где пользователю нужно создать ... в общем catena уже написал.
|
|||
10
DrWatson
16.10.18
✎
12:03
|
Ладно, держи
&НаКлиенте Процедура СоздатьНоменклатуруНаКлиенте(Команда) ПараметрыФормы = Новый Структура("ТекущаяСтрока", ЭтотОбъект.ПапкаНоменклатуры); ОповещениеВыбора = Новый ОписаниеОповещения("ВыборГруппыЗавершение", ЭтотОбъект); ОткрытьФорму("Справочник.уэкОбработчикиТочекМаршрута.ФормаВыбораГруппы", ПараметрыФормы, ЭтотОбъект,,,, ОповещениеВыбора, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); КонецПроцедуры &НаКлиенте Процедура ВыборГруппыЗавершение(Результат, ДополнительныеПараметры) Экспорт Если НЕ ЗначениеЗаполнено(Результат) Тогда //Пользователь ничего не выбрал Возврат; КонецЕсли; //Мы знаем нашу группу, можно продолжать ЭтотОбъект.ПапкаНоменклатуры = Результат; СоздатьНоменклатуруНаСервере(Результат); КонецПроцедуры |
|||
11
SkAt
16.10.18
✎
13:17
|
(10) Да! То что доктор прописал! Благодарю!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |