Получение ссылки по GUIDу в COMConnector Известно:
ИмяДокумента (Тип Строка)
УникальныйИдентификатор искомого документа в базе-источнике (тип Строка)
COMСоединение установлено.
Код 1C v 8.х МД= ВнешняяБаза. XMLTypeOf( ВнешняяБаза. Документы[ИмяДокумента]. ПустаяСсылка( ) ) ;
Попытка
тСсылка= ВнешняяБаза. XMLValue( ВнешняяБаза. FromXMLType( МД) , ЭтотУникальныйИдентификатор) ;
Исключение
Сообщить( “COM: “+ ОписаниеОшибки( ) ) ;
возврат ;
КонецПопытки ;
тОбъект= тСсылка. ПолучитьОбъект( ) ;
ЗаписьXML= ВнешняяБаза. NewObject( “ЗаписьXML”) ;
ЗаписьXML. УстановитьСтроку( ) ;
ВнешняяБаза. WriteXML( ЗаписьXML, тОбъект) ;
тСтрXML= ЗаписьXML. Закрыть( ) ;
Для перечислений:
ИмяПеречисления (Тип Строка)
ИмяЗначенияПеречисления (Тип Строка)
COMСоединение установлено.
Код 1C v 8.х МД= ВнешняяБаза. XMLTypeOf( ВнешняяБаза. Перечисления[ИмяПеречисления]. ПустаяСсылка( ) ) ;
Попытка
тСсылка= ВнешняяБаза. XMLValue( ВнешняяБаза. FromXMLType( МД) , ИмяЗначенияПеречисления) ;
Исключение
Сообщить( “COM: “+ ОписаниеОшибки( ) ) ;
возврат ;
КонецПопытки ;
в переменной тСсылка – лежит Ссылка на объект (тип COMОбъект)
Категория:
COM-объекты, WMI, WSH Получение ссылки на значение перечисления по имени перечисления и по имени его значения Если известно имя самого перечисления и имя его значения, то получить ссылку которая будет являться значением, например субконто, можно следующим образом:
ПеречислениеСсылка = Перечисления[пИмяПречисления][пИмяЗначения];
Исходный код функции ПолучитьСсылкуНаЗначениеПеречисления( пИмяПеречисления, пИмяЗначения )
Код 1C v 8.х
Функция ПолучитьСсылкуНаЗначениеПеречисления( пИмяПеречисления, пИмяЗначения ) Экспорт
Попытка
Возврат Перечисления[пИмяПеречисления][пИмяЗначения];
исключение
Сообщить( "Ошибка получения ссылки на значение перечисления. " + пИмяПеречисления + " :: " + пИмяЗначения) ;
Возврат неопределено ;
КонецПопытки ;
КонецФункции
Категория:
Перечисления Как получить имя значения перечисления, если известен синоним значения? Если известно перечисление, и известно, что одно из значений имеет известный нам синоним, то перебрав в цикле коллекцию значений перечисления можно получить его имя. Совокупность имени перечисления и имени значения перечисления позволяют получить ссылку на перечисление, которую уже можно применять в качестве значения реквизитов справочников, документов и регистров.
Исходный код функции ИмяЗначенияПеречисленияПоСинониму(ИмяПеречисления, СинонимЗначения):
Код 1C v 8.х
Функция ИмяЗначенияПеречисленияПоСинониму( пИмяПеречисления, пСинонимЗначения ) Экспорт
КолекцияЗначенийПеречисления = Метаданные. Перечисления[пИмяПеречисления]. ЗначенияПеречисления;
Для каждого пНайденноеЗначение из КолекцияЗначенийПеречисления Цикл
Если пНайденноеЗначение. Синоним = пСинонимЗначения Тогда
Возврат пНайденноеЗначение. Имя;
КонецЕсли
КонецЦикла ;
Возврат неопределено ;
КонецФункции
Категория:
Перечисления Как получить имя перечисления по Синониму? лгоритмически можно получить коллекцию перечислений из конфигурации и перебрав их в цикле сравнить значение реквизита синоним с параметром функции вернуть имя перечисления.
Исходный код функции ИмяПеречисленияПоСинониму (СинонимПеречисления):
Код 1C v 8.х
Функция ИмяПеречисленияПоСинониму( пСинонимПеречисления ) Экспорт
КолекцияПеречислений = Метаданные. Перечисления;
Для каждого пНайденноеЗначение из КолекцияПеречислений Цикл
Если пНайденноеЗначение. Синоним = пСинонимПеречисления Тогда
Возврат пНайденноеЗначение. Имя;
КонецЕсли ;
КонецЦикла ;
Возврат неопределено ;
КонецФункции
Категория:
Перечисления Функция сравнение значений перечислений на больше/меньше Код 1C v 8.х
Функция СравнениеПеречислений(Значение1, Значение2) Экспорт
ИмяПеречисления = Метаданные. НайтиПоТипу( ТипЗнч( Значение1 ) ) . Имя;
Менеджер = Перечисления[ИмяПеречисления];
Если Менеджер. Индекс( Значение1 ) > Менеджер. Индекс( Значение2 ) Тогда
Возврат 1 ;
ИначеЕсли Менеджер. Индекс( Значение1 ) < Менеджер. Индекс( Значение2 ) Тогда
Возврат - 1 ;
Иначе
Возврат 0 ;
КонецЕсли ;
КонецФункции
Категория:
Перечисления Функция формирует список элементов перечисления Код 1C v 8.х
Функция ПолучитьСписокЭлементовПеречисления(ИмяПеречисления) Экспорт
СписокЭлементовПеречисления = Новый СписокЗначений;
Попытка
КоллекцияЭлементовПеречисления = Перечисления[ИмяПеречисления];
Исключение
Возврат СписокЭлементовПеречисления;
КонецПопытки ;
Для каждого ЭлементПеречисления Из КоллекцияЭлементовПеречисления Цикл
СписокЭлементовПеречисления. Добавить( ЭлементПеречисления, Строка( ЭлементПеречисления) ) ;
КонецЦикла ;
Возврат СписокЭлементовПеречисления;
КонецФункции
Категория:
Перечисления