|
Передача данных между серверными и клиентскими частями |
☑ |
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
|
Всё, сделал обработку. Пришлось почти всю переписать чтобы заработало. Всем большое спасибо за ответы, особенно огромное спасибо тебе Вобланд, очень сильно помог со своим ДелайРаз(), делайДва().
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший