Ситуация такая: нужно было получать данные из стороннего MySQL сервера и выводить результаты на печать, вместе с данными из базы 1С. Т.к. эти данные MySQL на сервере не нужны, была написана функция их получения с директивой НаКлиенте, и все работало замечательно. Но, макет (по правилам) формируется на сервере. А из серверной процедуры вызвать клиентскую нельзя. После танцев с бубном, я просто изменил директиву с "НаКлиенте" на "НаСервере", и о, чудо всё сработало. Вот только один нюанс: на компьютере-кленте установлен драйвер для работы с MySQL, а на сервере - НЕТ. Получается, что серверная процедура выполняется на клиенте? Может кто-нибудь прояснить как это получается? И это всё происходит в тонком клиенте.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вы по ходу дела все делаете в модуле формы , а это некорректно поэтому
1) получаете данные для обработки на клиенте
2) передаете эти данные на сервер и с сервера вызываете модуль объекта должно быть что-то вроде такого
ЭтаОбработка = РеквизитФормыВЗначение(«Объект»)
3) В модуле объекта должна быть экспортная процедура/ функция , СформироватьОтчет(ДанныеДляОтчета) которая получает нужный макет и формирует отчет
4) Вызываете эту функцию и передаете в нее данные для формирования. ТабДок=ЭтаОбработка.СформироватьОтчет(…) , после ее выполнения Вы получите готовый табличный документ .
1) получаете данные для обработки на клиенте
2) передаете эти данные на сервер и с сервера вызываете модуль объекта должно быть что-то вроде такого
ЭтаОбработка = РеквизитФормыВЗначение(«Объект»)
3) В модуле объекта должна быть экспортная процедура/ функция , СформироватьОтчет(ДанныеДляОтчета) которая получает нужный макет и формирует отчет
4) Вызываете эту функцию и передаете в нее данные для формирования. ТабДок=ЭтаОбработка.СформироватьОтчет(…) , после ее выполнения Вы получите готовый табличный документ .
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот