Версия для печати темы (https://pro1c.org.ua/index.php?s=2528814ab4b086cdfb09bcb7ea5914fe&showtopic=66658)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Какой подход использовать для работы с COMObject

Автор: kserg2012 19.07.21, 17:57

1С:Предприятие 8.3 (8.3.15.1778)
Business automation software for accounting, edition 2.1 (2.1.14.3)

Имеем несколько десяткой БУ-баз.
В БУ есть обработка ЗагрузкаДанныхИзЗУП (Загрузка данных зарплаты в формате ЗУП, ред. 2.1)
у обр-ки единственный реквизит ИмяФайлаДанных.

Необходимо автоматизировать Загрузку данных зарплаты в формате ЗУП непосредственно из ЗУП(в момент формирования данных)
путем подключения через COMObject к БУ-базе.
Но работа с COMObject предполагает работу с базой на стороне сервера
и мне не понятно, как поместить во времен.хранилище файл ИмяФайлаДанных, который фактически находится на "клиенте"

т.е. понятно когда работа организуется по обычной схеме - в базе на клиенте в форме выбрали файл,
здесь же на клиенте файл помещается в Хранилище, получаем адрес хранилища, делаем вызов серверной процедуры с передачей адреса.

Подскажите пож-та какой подход можно использовать в этой ситуации?

Автор: sava1 19.07.21, 18:41

в БУ возьмите обработку Унив. обмен ХМЛ и посмотрите как работает через СОМ (вариант на клиенте, непосредственное подключение).
там все есть

Автор: Vofka 19.07.21, 20:35

kserg2012, база ЗУП выгружает данные в файл, путь к которому указывается в обработке? Если так, то полагаю, что базы у вас находятся на одном сервере. Если да, то на стороне инициатора загрузки формируете временный файл и в ЗУП через COM вызываете обработку и передаете ей имя файла. После того, как обработка закончит работу, забираете файл.

Автор: kserg2012 20.07.21, 6:51

Vofka @ Вчера, 21:35 * ,
Идея понятна, но изначально забыл указать - базы ЗУП и BAS-ы на серверной платформе, и лежат они на разных серверах

Автор: Vofka 20.07.21, 8:21

kserg2012, если можно сделать общую сетевую папку - тогда это может быть вариантом. Если нет, то мне не приходит в голову ничего, что можно было бы сделать без доработки ЗУП-а. Если доработать его можно, то я думаю не сложно будет сделать, что бы он изменения писал не в файл, а отдавал строкой, например. Я правда не знаю как будет работать передача этой строки, если там десятки или сотни мегабайт будут.

Автор: kserg2012 20.07.21, 13:43

Vofka @ Сегодня, 9:21 * ,
для пояснения картины

немного покопавшись и выяснив как работает алгоритм обработки, стало понятно что основа загрузки данных в БУ - это единственная процедура из модуль менеджера объекта

Обработки.ЗагрузкаДанныхИзЗУП.ЗагрузитьДанныеВИБ(ПараметрыВыгрузки, АдресХранилища)

весь код в алгоритме на стороне ЗУПа занимает 6 строк: через ПодключениеCOM подготовить пар-ры вызываемой процедуры и вызвать эту процедуру
при этом временное хранилище даже не использую, напрямую подкидываю двоичные данные из файла, который лежит в доступном сетевом каталоге

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua