|
Внешняя обработка не работает в WEB-Клиенте, подскажите как поправить | ☑ | ||
---|---|---|---|---|
0
wallkman2011
20.08.24
✎
08:32
|
Всем здравствуйте.
В УТ 11 нужно дополнить документ "Перемещение товаров" товарами из документа "Приобретение товаров". Сделал доп. обработку, подключил ее через "Внешние обработки", далее выбрав документ "Приобретение товаров" нажимаю на кнопку "Создание связанных объектов" и далее запускаю внешнюю обработку, которая должна показать форму выбора документов "Перемещение товаров", где я выбираю ранее созданный документ "Перемещение товаров" и выбрав его, в его ТЧ дополняются товары из документа основания, т.е. из нашей "Приходной накладно". В толстом клиенте все работает, но при использовании WEB-клиента выходит ошибка: "Интерактивные операции недоступны". ------------ В модуле формы внешней обработки есть процедура "Выполнить команду", которая вызывает процедуру "ВыполнитьКомандуНаСервере" ---------------- &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты) Экспорт СозданныеОбъекты = Новый Массив; ВыполнитьКомандуНаСервере(ОбъектыНазначения, СозданныеОбъекты); Для Каждого ПеремещениеСсылка Из СозданныеОбъекты Цикл ОткрытьФорму("Документ.ПеремещениеТоваров.ФормаОбъекта", Новый Структура("Ключ", ПеремещениеСсылка)); КонецЦикла; КонецПроцедуры // ВыполнитьКоманду() ----------- И в процедуре "ВыполнитьКомандуНаСервере" используется метод "ПолучитьФормуВыбора", который доступен только на Толстом клиенте: &НаСервереБезКонтекста Процедура ВыполнитьКомандуНаСервере(ОбъектыНазначения, СозданныеОбъекты) Форма = Документы.ПеремещениеТоваров.ПолучитьФормуВыбора(); ВыбранныйДокумент = Форма.ОткрытьМодально(); КоличествоСтрок = ВыбранныйДокумент.Товары.Количество(); ТЧ = ОбъектыНазначения[0].Товары.Выгрузить(); --------------- я полагаю ошибка в этом, но каким методом заменить и как по другому сделать, пока не пойму. Буду рад помощи, спасибо. |
|||
1
denk32
20.08.24
✎
08:38
|
(0) можно через ОписаниеОповещения.
как тут описано. только свою форму подставь. https://infostart.ru/1c/articles/825702/ |
|||
2
Мультук
20.08.24
✎
08:38
|
(0)
1) Можно начать с чтения вот этого https://infostart.ru/1c/articles/1233756/ 2) А вообще лучше сходить на курсы 3) И наверное стоит научиться гуглить (пример): infostart формы выбор УФ P.S. 1С: Метод доступен только на Толстом клиенте. ВЫ: Ну мне оооочень надо! Ну давай я открою выбор на сервере и сервер что-нибудь выберет, а ? |
|||
3
Kigo_Kigo
20.08.24
✎
08:52
|
Сделай в расширении
|
|||
4
wallkman2011
20.08.24
✎
08:53
|
Буду разбираться ))
Спасибо всем за ответы |
|||
5
wallkman2011
20.08.24
✎
08:54
|
(3) в расширении пробовал сделать, но почему то процедура с префиксом "&После Не срабатывает, даже точка останова, я так и не понял причину
|
|||
6
Kigo_Kigo
20.08.24
✎
08:57
|
(5) попробуй удалить и заново создать в расширении, такое бывает
|
|||
7
Мультук
20.08.24
✎
09:08
|
(6)
Конечно бывает. Но что делать с кодом автора ? Думаешь в расширении заработает? &НаСервереБезКонтекста Процедура ВыполнитьКомандуНаСервере(ОбъектыНазначения, СозданныеОбъекты) Форма = Документы.ПеремещениеТоваров.ПолучитьФормуВыбора(); ВыбранныйДокумент = Форма.ОткрытьМодально(); КоличествоСтрок = ВыбранныйДокумент.Товары.Количество(); КонецПроцедуры Что не строчка, то шедевр! |
|||
8
wallkman2011
20.08.24
✎
09:11
|
(7) я этот пример брал из ресурса Курсы по 1С, а чем код плох? возможно он для 8.2, устаревший, но мне ведь главное чтоб работало.
|
|||
9
craxx
20.08.24
✎
09:50
|
(0) ОткрытьМодально выкинь и забудь раз и навсегда.
|
|||
10
Мультук
20.08.24
✎
09:24
|
(8)
а) Главное. Вы собираетесь в событии &НаСервере что-то показывать пользователю, чтобы пользователь что-то выбрал. На сервере нет пользователя. совсем. б) Конструкция морально устарела. ОткрытьМодально -- deprecated, а на WEB-клиенте (имхо вообще работать не будет) Форма = Документы.ПеремещениеТоваров.ПолучитьФормуВыбора(); ВыбранныйДокумент = Форма.ОткрытьМодально(); в) Тоже хрень, но работать будет. Вам за нее еще пояснят КоличествоСтрок = ВыбранныйДокумент.Товары.Количество(); P.S. 8.2 это паровоз. С машинистом, кочегаром и прочими фишками. Но уже появились тепловозы, электропоезда. А вы пытаетесь в электропоезд залить воду, прицепить вагон с углем и не понимаете, почему нет места для кочегара. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |