Имя: Пароль:
1C
 
перенос даных через COM-соедиенение 1с
0 Starhan
 
31.03.08
15:59
из одной конфигурации 1с8.1 в другую перносятся не которые справочник один из реквизиов которого - ссылка на перечисления


ва обоих конфигурация перечесления абсолютно одинаковые

надо проверить при переносе изменилось ли значеие реквизита


теперь вопрос по вот этому куску кода

Если Строка(ТипАптеки81) <> Строка(ТипАптекиСклада)

ТипАптеки81-сыылка напперечисление в сом соединении
ТипАптекиСклада- ссылка на перечисление в основонй конфигурации

значение превой функции Строка(ТипАптеки81) будет "COMОбъект"
второй "Склад"

скажите как правильно переносить значения из одной конфгурацуии в другую?

если их не возможно сравнить как узнат ьименилоась ли ссылка или нент ?
1 asady
 
31.03.08
16:03
2 Starhan
 
28.04.08
08:13
Спасибо помогло с перечислениями разобрался.

теперь такой вопрос

есть два аналогичных справочника в одной и другой базе
у которых есть табличная часть

нужно одну табличную часть выгрузить в другую

я делаю так

выгружаю запрос по ТЧ справочника первой базы в таблицу значений
загружаю ТЧ справочника во второй базе из ТЗ

выдается ошибка

{Обработка.ОбменДанными81.Форма.ОсновнаяФорма(458)}: Ошибка при вызове метода контекста (Загрузить): Произошла исключительная ситуация: Несоответствие типов (параметр номер '1')
       НовыйЭлемент.СерииПроизводителя.Загрузить(СерииПроизводителяСклада);    //!!! продложить     !!!ТЕСТ
по причине:
Произошла исключительная ситуация: Несоответствие типов (параметр номер '1')
3 SiAl-chel
 
28.04.08
08:25
(2) ТЗ тоже есть объект, и имеет смысл в контексте "родной" БД. ТЧ у тебя из разных БД, так что так как ты делаешь не получиться. Передаются только базовый объекты: число, строка, дата...
4 Starhan
 
28.04.08
09:05
как еще можно передать данные ТЧ в другую базу

если не по строчно добовлять каждую строку в ТЧ новой базы
5 Starhan
 
28.04.08
09:06
и еще такой вопрос как освободить базу к которой подключен через Ком
6 SiAl-chel
 
28.04.08
10:41
(4) Примерно так.
(5) Например: ТвойОбъектCOM = Неопределено;
7 Starhan
 
04.05.08
08:53
------------------------------------------------------------------------------
Полезный прием для работы с перечислениями при COM соединении с другой ИБ 8.0 (например при обмене данных):


надо передать ссылку на перечисление:
Здесь
V8 - COM объект "V8.Application" - ИБ внешнего соединения
СсылкаНаПеречислениеCOM - COM объект - ссылка на перечисление в ИБ внешнего соединения


ИмяЗначенияПеречисленияCOM= V8.XMLString(СсылкаНаПеречислениеCOM);
ПредставлениеПеречисленияCOM= V8.String(СсылкаНаПеречислениеCOM); //синоним
ИмяПеречисленияCOM= СсылкаНаПеречислениеCOM.Метаданные().Имя;
СсылкаНаПеречисление = XMLЗначение(Тип("ПеречислениеСсылка."+ИмяПеречисленияCOM),ИмяЗначенияПеречисленияCOM);
--------------------------------------------------------------------------------
здесь сказано как ссылку на перечисление из ком-объекта сделать ссылкой на перечисления в базе

а можно ли наоброт?
по аналогии

СсылкаНаПеречислениеCOM=V81.XMLзначение(V81.Тип("ПеречислениеСсылка."+ИмяПеречисления),ИмяЗначенияПеречисления))



Выдает ошибку
Обработка.ОбменДанными81.Форма.ОсновнаяФорма(1092)}: Метод объекта не обнаружен (Type)
       возврат Касса81.XMLЗначение(Касса81.Тип("ПеречислениеСсылка."+ИмяПеречисления),ИмяЗначенияПеречисления);

есть ли другой способ?
8 asady
 
04.05.08
09:45
9 asady
 
04.05.08
09:50
(8)+ обновил статью - дал пример для перечислений