Добрый день.
Заполняю УстановкуЦенНоменклатуры из внешней обработки с помощью общего модуля УстновкаЦенСервер Функция ЗагрузитьИзExcel(Форма, МассивСтруктурЦен, МассивСтруктурТовары). При ВидОбработкиЗаполнениеОбъекта() в модуль объекта обработки в процедуру ВыполнитьКоманду передается форма. Затем я передаю ее в Функция ЗагрузитьИзExcel(Форма, МассивСтруктурЦен, МассивСтруктурТовары). Нужно сделать отбор на номенклатуру перед загрузкой в документ. Используя ОткрытиеФормы(), форма есть во Вледельце Формы, но передать ее на сервер я не могу. Как правильнее организовать отбор в данном случае?
Заполняю УстановкуЦенНоменклатуры из внешней обработки с помощью общего модуля УстновкаЦенСервер Функция ЗагрузитьИзExcel(Форма, МассивСтруктурЦен, МассивСтруктурТовары). При ВидОбработкиЗаполнениеОбъекта() в модуль объекта обработки в процедуру ВыполнитьКоманду передается форма. Затем я передаю ее в Функция ЗагрузитьИзExcel(Форма, МассивСтруктурЦен, МассивСтруктурТовары). Нужно сделать отбор на номенклатуру перед загрузкой в документ. Используя ОткрытиеФормы(), форма есть во Вледельце Формы, но передать ее на сервер я не могу. Как правильнее организовать отбор в данном случае?
По теме из базы знаний
- Techlogqueryviewer - Вьювер запросов к СУБД из технологического журнала 1С: Предприятие
- Наличие товара у поставщика для УТ 10.3
- Обмен УПП 1.3, КА 1.1, УТ 10.3 с EnterpriseData (универсальный формат обмена) ED2
- Когда много строк в документе: Удобный редактор табличных частей
- Ценовая власть (УТ 11.5) - 2
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Я понял только
Это если по-простому. И уже при открытии вызываемой формы, как-то обрабатывать полученный параметр из структуры "Параметры".
С какими, формами и таблицами ты работаешь мне не известно, поэтому описывать установку параметров я не буду, ибо для каждой таблицы свой способ.
Заполняю УстановкуЦенНоменклатуры из внешней обработки с помощью общего модуля УстновкаЦенСервер Функция ЗагрузитьИзExcel(Форма, МассивСтруктурЦен, МассивСтруктурТовары).
и Нужно сделать отбор на номенклатуру перед загрузкой в документ.
Что написано между этим предложениями, то мне требуется переводчик. Если опираться только на те предложения, что понял я, то просто при вызове процедуры ОткрытьФорму() передать туда аргумент в виде ссылки на номенклатуру по которой нужен отбор.
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Номенклатура", Номенклатура);
ОткрытьФорму("БлаБла.БлабБла.Форма.МояФорма", ПараметрыФормы);
Это если по-простому. И уже при открытии вызываемой формы, как-то обрабатывать полученный параметр из структуры "Параметры".
С какими, формами и таблицами ты работаешь мне не известно, поэтому описывать установку параметров я не буду, ибо для каждой таблицы свой способ.
(3) ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
В данном случае, в модуль объекта обработки в процедуру ВыполнитьКоманду передается форма клиентского приложения. Затем я передаю ее в Функция ЗагрузитьИзExcel(Форма, МассивСтруктурЦен, МассивСтруктурТовары). Обработка работает, ТЧ Установки цен номенклатуры заполняется. Нужно сделать отбор на номенклатуру.
При
ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта"); Команда.Использование = "ОткрытиеФормы"; или Команда.Использование = "ВызовКлиентскогоМетода"; форма клиентского приложения есть во владельце формы внешней обработки.
Но передать ее на сервер я не могу, так как во владельце находится.
Форма внешней обработки открывается из Общего модуля ДополнительныеОтчетыИОбработкиКлиент Процедура ОбработчикКомандыЗаполнения. В параметрах есть только имя формы, сама форма во владельце.
В данном случае, в модуль объекта обработки в процедуру ВыполнитьКоманду передается форма клиентского приложения. Затем я передаю ее в Функция ЗагрузитьИзExcel(Форма, МассивСтруктурЦен, МассивСтруктурТовары). Обработка работает, ТЧ Установки цен номенклатуры заполняется. Нужно сделать отбор на номенклатуру.
При
ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта"); Команда.Использование = "ОткрытиеФормы"; или Команда.Использование = "ВызовКлиентскогоМетода"; форма клиентского приложения есть во владельце формы внешней обработки.
Но передать ее на сервер я не могу, так как во владельце находится.
Форма внешней обработки открывается из Общего модуля ДополнительныеОтчетыИОбработкиКлиент Процедура ОбработчикКомандыЗаполнения. В параметрах есть только имя формы, сама форма во владельце.
(4) Я все равно мало что понимаю, из твоих изречений. Для начала. Реквизит "ВладелецФормы" он в принципе не доступен на сервере. Дальше, с клиента на сервер ты не можешь передать Форму, тк она не является сериализуемым объектом (можешь почитать про это если не знаешь).
Еще один нюанс, я сам до сих не понимаю причину разработчиков выносить в ОбщиеМодули процедуры/функции, которые заточены на работу только с конкретным Объектом. В данном случае Функция ЗагрузитьИзExcel() принимает форму документа УстановкаЦенНоменклатуры. И взаимодействует только с ее реквизитами.
Теперь давай по порядку попробуем разобрать.
Зачем тебе Форма которую ты пытаешь передать на сервер? Как эта форма связана с отбором по номенклатуре?
Еще один нюанс, я сам до сих не понимаю причину разработчиков выносить в ОбщиеМодули процедуры/функции, которые заточены на работу только с конкретным Объектом. В данном случае Функция ЗагрузитьИзExcel() принимает форму документа УстановкаЦенНоменклатуры. И взаимодействует только с ее реквизитами.
Теперь давай по порядку попробуем разобрать.
Зачем тебе Форма которую ты пытаешь передать на сервер? Как эта форма связана с отбором по номенклатуре?
(5)Знаю что недоступен на сервере. Знаю что не могу передать форму.
Как раз форму документа УстановкаЦенНоменклутры и передаю в ЗагрузитьИзExcel().
Заполняю ТЧ документа УстановкаЦенНоменклатуры.
Перед заполнением ТЧ документа УстановкаЦен, нужно отбор произвести.
ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта") - в данном случае, в модуль объекта обработки в процедуру ВыполнитьКоманду передается форма клиентского приложения и ТЧ заполняется.
Как раз форму документа УстановкаЦенНоменклутры и передаю в ЗагрузитьИзExcel().
Заполняю ТЧ документа УстановкаЦенНоменклатуры.
Перед заполнением ТЧ документа УстановкаЦен, нужно отбор произвести.
ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта") - в данном случае, в модуль объекта обработки в процедуру ВыполнитьКоманду передается форма клиентского приложения и ТЧ заполняется.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот