На клиенте в Бухгалтерии 3.0 получаю Таблицу значений запросом по com-соединению к УТ 10.3 (обычные формы)
На сервере делаю запрос к данным самой Бухгалтерии 3.0, но для запроса мне нужна ТЗ, полученная из Торговли.
Как ее передать? Таблица значений создана в com, который нельзя передать на сервер. А на клиенте я не могу редактировать и создавать локальные таблицы значений. Как выкрутиться?
На сервере делаю запрос к данным самой Бухгалтерии 3.0, но для запроса мне нужна ТЗ, полученная из Торговли.
Как ее передать? Таблица значений создана в com, который нельзя передать на сервер. А на клиенте я не могу редактировать и создавать локальные таблицы значений. Как выкрутиться?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) thenroach,
Попробуй сделать так:
Функция ПреобразоватьТаблицуВМассив(ТаблицаТоваров)
МассивТаблицы = Новый Массив;
Колонки = ТаблицаТоваров.Колонки;
Для Каждого Строка Из ТаблицаТоваров Цикл
СтруктураВМассив = Новый Структура;
Для Каждого Колонка Из Колонки Цикл
СтруктураВМассив.Вставить(Колонка.Имя,Строка[Колонка.Имя]);
КонецЦикла;
МассивТаблицы.Добавить(СтруктураВМассив);
КонецЦикла;
Возврат МассивТаблицы;
КонецФункции // ПреобразоватьТаблицуВМассив()
Попробуй сделать так:
Функция ПреобразоватьТаблицуВМассив(ТаблицаТоваров)
МассивТаблицы = Новый Массив;
Колонки = ТаблицаТоваров.Колонки;
Для Каждого Строка Из ТаблицаТоваров Цикл
СтруктураВМассив = Новый Структура;
Для Каждого Колонка Из Колонки Цикл
СтруктураВМассив.Вставить(Колонка.Имя,Строка[Колонка.Имя]);
КонецЦикла;
МассивТаблицы.Добавить(СтруктураВМассив);
КонецЦикла;
Возврат МассивТаблицы;
КонецФункции // ПреобразоватьТаблицуВМассив()
Почему нельзя выполнить подключение на сервере?
Если все таки нельзя - тогда перебирайте на клиенте таблицу содержащую ком и помещайте значения в массив структур. Причем передавать в массиве структур надо не ком, а конкретные значения (примитивные типы)
Если все таки нельзя - тогда перебирайте на клиенте таблицу содержащую ком и помещайте значения в массив структур. Причем передавать в массиве структур надо не ком, а конкретные значения (примитивные типы)
На сервере COM соединение, насколько я знаю, не работает.
Поддерживаю spezc. Сам так перетаскивал данные из внешнего справочника. Данные каждой строки запроса к справочнику упаковывал в Структуру и отправлял в программу приёмник. В вашем случае можно во внешней программе предварительно упаковать все строки ТЗ в массив структур, а потом в приёмнике преобразовывать массив обратно в ТЗ , либо в программе приёмнике каждую полученную структуру данных строки последовательно загонять в ТЗ.
Поддерживаю spezc. Сам так перетаскивал данные из внешнего справочника. Данные каждой строки запроса к справочнику упаковывал в Структуру и отправлял в программу приёмник. В вашем случае можно во внешней программе предварительно упаковать все строки ТЗ в массив структур, а потом в приёмнике преобразовывать массив обратно в ТЗ , либо в программе приёмнике каждую полученную структуру данных строки последовательно загонять в ТЗ.
Попробуйте создать обработку, на форму обработки поместите ТЗ, из обработки вызывайте com соединение, заполняйте тз, после чего спокойно на сервере сможете обратиться к данной тз на форме и проделать все необходимые операции
Можно ТЗ передать на сервер как массив, а на сервере с ним можно работать как с ТЗ.
ЗаменаТаблицыЗначений = Новый Массив;
Для каждого СтрокаТаблицыЗначений из ТаблицыЗначенийСтарая Цикл
Счетчик = 0;
СтрокаАнлогаТаблицы = Новый Структура;
Для каждого СтрокаСтроки из СтрокаТаблицыЗначений Цикл
СтрокаАнлогаТаблицы.Вставить(ТаблицыЗначенийСтарая.Колонки[Счетчик ].Имя,СтрокаСтроки);
Счетчик = Счетчик + 1;
КонецЦикла;
ЗаменаТаблицыЗначений.Добавить(СтрокаАнлогаТаблицы);
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот