Com соединение

1. thenroach 4 06.05.14 14:21 Сейчас в теме
На клиенте в Бухгалтерии 3.0 получаю Таблицу значений запросом по com-соединению к УТ 10.3 (обычные формы)
На сервере делаю запрос к данным самой Бухгалтерии 3.0, но для запроса мне нужна ТЗ, полученная из Торговли.
Как ее передать? Таблица значений создана в com, который нельзя передать на сервер. А на клиенте я не могу редактировать и создавать локальные таблицы значений. Как выкрутиться?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
4. spezc 789 06.05.14 15:07 Сейчас в теме
Почему нельзя выполнить подключение на сервере?

Если все таки нельзя - тогда перебирайте на клиенте таблицу содержащую ком и помещайте значения в массив структур. Причем передавать в массиве структур надо не ком, а конкретные значения (примитивные типы)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. l_oleg 07.05.14 19:18 Сейчас в теме
(1) thenroach,
Попробуй сделать так:
Функция ПреобразоватьТаблицуВМассив(ТаблицаТоваров)
МассивТаблицы = Новый Массив;
Колонки = ТаблицаТоваров.Колонки;

Для Каждого Строка Из ТаблицаТоваров Цикл
СтруктураВМассив = Новый Структура;
Для Каждого Колонка Из Колонки Цикл
СтруктураВМассив.Вставить(Колонка.Имя,Строка[Колонка.Имя]);
КонецЦикла;
МассивТаблицы.Добавить(СтруктураВМассив);

КонецЦикла;
Возврат МассивТаблицы;
КонецФункции // ПреобразоватьТаблицуВМассив()
2. thenroach 4 06.05.14 14:22 Сейчас в теме
3. qwinter 682 06.05.14 14:39 Сейчас в теме
А почему ее не выгрузить просто в ТЗ формы или объекта?
4. spezc 789 06.05.14 15:07 Сейчас в теме
Почему нельзя выполнить подключение на сервере?

Если все таки нельзя - тогда перебирайте на клиенте таблицу содержащую ком и помещайте значения в массив структур. Причем передавать в массиве структур надо не ком, а конкретные значения (примитивные типы)
5. Roman004 07.05.14 07:38 Сейчас в теме
А можно и наоборот. На сервере получить нужную ТЗ, упаковать в массив структур и "отправить" на клиента, где и сравнивать с комом.
6. alexpa2005 07.05.14 14:59 Сейчас в теме
На сервере COM соединение, насколько я знаю, не работает.
Поддерживаю spezc. Сам так перетаскивал данные из внешнего справочника. Данные каждой строки запроса к справочнику упаковывал в Структуру и отправлял в программу приёмник. В вашем случае можно во внешней программе предварительно упаковать все строки ТЗ в массив структур, а потом в приёмнике преобразовывать массив обратно в ТЗ , либо в программе приёмнике каждую полученную структуру данных строки последовательно загонять в ТЗ.
7. markela 36 07.05.14 15:50 Сейчас в теме
Попробуйте создать обработку, на форму обработки поместите ТЗ, из обработки вызывайте com соединение, заполняйте тз, после чего спокойно на сервере сможете обратиться к данной тз на форме и проделать все необходимые операции
9. monsta 58 08.05.14 11:48 Сейчас в теме
Можно ТЗ передать на сервер как массив, а на сервере с ним можно работать как с ТЗ.
ЗаменаТаблицыЗначений = Новый Массив;            
Для каждого СтрокаТаблицыЗначений из ТаблицыЗначенийСтарая Цикл
    Счетчик = 0;
    СтрокаАнлогаТаблицы = Новый Структура;
    Для каждого СтрокаСтроки из СтрокаТаблицыЗначений Цикл
        СтрокаАнлогаТаблицы.Вставить(ТаблицыЗначенийСтарая.Колонки[Счетчик ].Имя,СтрокаСтроки);    
        Счетчик = Счетчик + 1;
    КонецЦикла;
    ЗаменаТаблицыЗначений.Добавить(СтрокаАнлогаТаблицы);
КонецЦикла;
Показать
10. strangers 08.05.14 18:28 Сейчас в теме
Сохранить ТЗ в хранилише
11. spec8s 838 08.05.14 23:52 Сейчас в теме
Адрес = ПоместитьВоВременноеХранилище(ТаблицаЗначений);

&НаСервере
Процедура ОбработатьТаблицу(Адрес)
ТаблицаЗначений = ПолучитьИзВременногоХранилища(Адрес);
КонецПроцедуры
12. thenroach 4 12.05.14 11:24 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот