#0
by NikePopov
Добрый день! Хочу воспользоваться возможностью процедур с директивой "&НаСервереБезКонтекста" во внешней обработке. Все механизмы заполнения у меня в модуле объекта внешней обработки. У обработки при этом довольно увесистая форма, которую при каждом заполнении таскать на сервер нет никакого желания. Пример кода: &НаКлиенте При выполнении функции "ДанныеФормыВЗначение" возникает ошибка : {Форма.Форма.Форма}: Ошибка при вызове метода контекста (ДанныеФормыВЗначение) по причине: Несоответствие типов (параметр номер '2') Не могу понять как требуется указывать второй параметр функции "ДанныеФормыВЗначение". Если обработка внутри конфигуркции, то проблемы нет. Возможность обхода через процедуру "&НаСервере" я знаю, но такой подход сильно замедляет выполнение. Переносить процедуры заполнения в форму тоже не хочется.
#2
by NikePopov
Передача самой формы на сервер довольно долгое занятие, так как на форме довольно много разнообразных данных. Если пользоваться НаСервереБезКонтекста, то выполнение процедуры очень сильно ускоряется.
#3
by NikePopov
Интересно, что ТипЗнч(РеквизитФормыВЗначение("Объект")) <> Тип("ВнешняяОбработкаОбъект.ВнешняяОбработка1") А вот Строка(ТипЗнч(РеквизитФормыВЗначение("Объект"))) = Строка(Тип("ВнешняяОбработкаОбъект.НабивкаБлюд")) .
#8
by Aprobator
Попробуй на стороне сервера получить для теста через РеквизитФормыВЗначение - там тип не обязателен.
#9
by hhhh
а что вы там тестируете? вы же создаете свой контекст. Ваш контекст думаете будет быстрее нуралиевского?
#10
by NikePopov
РеквизитФормыВЗначение - это метод формы. Если использовать его то от "БезКонтекста" придется отказаться, что опять же приведет к большему времени передачи формы с клиента на сервер и обратно. Я не хочу тянуть контекст формы. Он мне не интересен. Для выполнения требуемых мне действий мне выше крыши хватит только объекта внешней обработки. Весь контекст тянуть долго.
#13
by DTXqueque
>Я не хочу тянуть контекст формы. Он мне не интересен. Для выполнения требуемых мне действий мне выше крыши хватит только объекта внешней обработки. Весь контекст тянуть долго. Курлык-курлык.. Интересно, а что там ещё в контекст попадёт кроме объекта обработки?)
#14
by Fragster
из-за этого в своих внешних обработках отказался от модуля обработки вообще - всё в форме.
#15
by NikePopov
Приличное количество объектов. Мало того, эти объекты - не ссылки, а целые таблицы, динамические списки, объекты, табличные документы. То, что должен видеть пользователь, а там довольно разнообразная информация. Объект - это способ заполнения, так скажем, одной записи. А таких записей в форме может быть довольно много.
#16
by NikePopov
Так раньше и делал, но теперь хотел бы решить для себя: есть ли возможность использовать форму - как способ отображения информации пользователю, а объект - как отдельный инструмент заполнения.
#17
by Aprobator
я понимаю, для чего всё это делается. Просто отладчиком можно будет посмотреть тип объекта и сравнить его с тем, что выдаёт Тип("ВнешниеОбработки......") и получить дальнейшую информацию для размышлений.
#18
by DTXqueque
Ну да, если ты в обработке наплодил кучу сущностей. Если хочешь отказаться от контекста, передавай нужные параметры в качестве параметров процедуры без контекста.
#19
by Fragster
вот пишешь ты обработку и под управляемые и под обычные формы, логично записать общие функции в модуль обработки. а в УФ - еще и без контекста к ним обращаться, чтобы работало поживее.
#21
by NikePopov
В том то и проблема: в я уже так и сделал. Результат удивил. У объекта "Тип" нельзя понять как именно требуется его получить. Мне нужны не параметры(нужны в меньшей степени), а методы ОбработкаОбъекта. Я хочу все обработки заполнения выполнять в модуле объекта, а формой пользоваться для показа результата пользователю в нужном ему виде. Да! Именно для этого и затевал обсуждение!
#22
by cathode
Тебе точно нужен вызов метода объекта без контекста? Если модуль объекта используется как библиотека процедур, то в управляемой форме можно сделать так: 1. Создать реквизит формы ОбъектТип, тип "строка неограниченной длины". 2. В ПриСозданииНаСервере: 3. Во внеконтекстную серверную процедуру передаем Знач ОбъектТип (можно еще передать Знач Объект, если нужны его данные): В результате получаем вызов метода объекта без передачи контекста, но тип объекта в виде строки для таких вызовов нужно хранить на клиенте.
#23
by NikePopov
Вот! Это действительно супер! Есть конечно минус с переносом данных реквизитов и табличных частей(их надо переносить перед экспортным методом в "ОбъектЗначение", а после из "ОбъектЗначение" в "Объект"), но уже отлично!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Доступ к табличной части внешней обработки из другой внешней обработки
- 8,2 Не удается использовать ДанныеФормыВЗначение() выдает ошибку.
- ДанныеФормыВЗначение, ЗначениеВДанныеФормы и тип ДанныеФормыДерево
- Подключение внешней компоненты из макета внешней обработки в толстом клиенте
- ДанныеФормыВЗначение недопустимое значение параметра 1
- ДанныеФормыВЗначение Ошибка
В этой группе 1С
- v7: ошибка блокировки открытия базы данных (dbf)
- ПроверитьВывод() - не полное заполнение страницы
- Как программно добавить итоги в табличную часть документа
- Запись xml через XDTO
- Лог звонков, ограничиваемый лишь аппаратными ресурсами смартфона
- v7: НДФЛ иностранцев в Бух 7.7
- изменение типа реквизита в табличной части при вводе по строке
- УПП 1.3 РАУЗ обслуживающИе производства НУ
- Какой командой можно напечатать штрихкод на чеке Штрих-ФР-Ф
- Дополнение нулями в скд
- УТ 10.3 Как сохранить настройки отчёта для другого пользователя?
- Универсальный отбор для динамического списка
- RDP: слетела ассоциация для расширения .rdp
- Продажа весового товара в 1С Рознице 2.1
- Какой регистр использовать для получения остатка в запросе?
- v7: определение вида движения регистра в запросе
- Управление торговлей 11. Начальное заполнение реквизитов
- Корректировка реализации. Не двигается регистр "Продажи".
- книга учета доходов и расходов для ип на осно 1с 8.2 в УПП
- УФ. Результат СКД вывести в ТЗ