|
Передача данных между серверными и клиентскими частями | ☑ | ||
---|---|---|---|---|
0
Dermidont2006
24.12.12
✎
14:15
|
Добрый день, уважаемые форумчане. Никто не скажет, как нибудь можно из серверной функции вызвать какой либо диалог, чтобы пользователь выбрал нужную номенклатуру например?
|
|||
1
Wobland
24.12.12
✎
14:16
|
сделать кусок1 на сервере, отдаться клиенту, спросить юзера, сделать кусок2 на сервере. или спросить заранее
|
|||
2
ДенисЧ
24.12.12
✎
14:17
|
неа. Выбирай заранее или бей серверную процедуру на части
|
|||
3
Dermidont2006
24.12.12
✎
14:17
|
В нашей организации есть небольшая специфика, по которой у нескольких товаров может быть один артикул покупателя. И при загрузке заказа из файла xml оператор должен выбрать, какая именно номенклатура должна попасть в заказ. На 81 работало нормально, на 82 переделали всё, за исключением этого момента.
|
|||
4
Dermidont2006
24.12.12
✎
14:19
|
Wobland, а отдаться клиенту и спросить юзера это как? Вот функция
&НаСервере Функция ПолучитьНоменклатуру(Партнер, АртикулПокупателя, НенужныйСейчасПараметр = Неопределено, ДатаПоставки, МассивПартнеров); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НоменклатураПартнеров.Номенклатура |ИЗ | РегистрСведений.НоменклатураПартнеров КАК НоменклатураПартнеров |ГДЕ | НоменклатураПартнеров.АртикулНоменклатурыПартнера ПОДОБНО &ВыбранныйАртикул | И НоменклатураПартнеров.Партнер В(&МассивПартнеров)"; Запрос.УстановитьПараметр("ВыбранныйАртикул", "%" + АртикулПокупателя + "%"); Запрос.УстановитьПараметр("МассивПартнеров", МассивПартнеров); Номенклатура = Неопределено; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Количество() > 0 Тогда Массив = Новый Массив; Массив.Добавить(АртикулПокупателя); Пока Выборка.Следующий() Цикл Массив.Добавить(Выборка.Номенклатура); КонецЦикла; // заполняем табличную часть внешней обработки ЗаполнитьИдентичнуюНоменклатуру(Массив); // здесь данные о номенклатуре с одинаковыми артикулами уже содержаться в табличной части // нужно как - то предоставить возможность пользователю выбрать нужную позицию Иначе Если Выборка.Следующий() Тогда Номенклатура = Выборка.Номенклатура; КонецЕсли; СтруктураНоменклатуры = Новый Структура("Номенклатура, ЕдиницаИзмерения", Номенклатура, Справочники.ЕдиницыИзмерения.НайтиПоКоду("996")); КонецЕсли; Возврат СтруктураНоменклатуры; КонецФункции |
|||
5
ДенисЧ
24.12.12
✎
14:19
|
(3) На на 82, а на управляемых формах :_)
|
|||
6
Wobland
24.12.12
✎
14:23
|
(4) на клиенте:
ДелайРаз(); НужнаяНоменклатура=.. ДелайДва(НужнаяНоменклатура) |
|||
7
vmv
24.12.12
✎
14:26
|
(6) повтори десять раз, сегодня такой контингент, надо идти навстречу
|
|||
8
Wobland
24.12.12
✎
14:30
|
(7) готово! теперь сюда запостить?
|
|||
9
Dermidont2006
25.12.12
✎
10:15
|
Всё, сделал обработку. Пришлось почти всю переписать чтобы заработало. Всем большое спасибо за ответы, особенно огромное спасибо тебе Вобланд, очень сильно помог со своим ДелайРаз(), делайДва().
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |