Имя: Пароль:
1C
 
СправочникМенеджер из СправочникСсылка
0 blindcat
 
02.07.05
20:14
Загрузка данных из DBF в 8.0. Есть справочник Номенклатура" содержащий в качестве реквизитов ссылки на другие справочники ("СправочникСсылка.КлассификаторЕденицИзмерения"). в DBF есть поле с кодами элементов существующих справочников. КАК организовать синхронизацию??? что на СправочникМенеджер (.<Имя>.НайтиПоКоду) из СправочникСсылка выйти никак нельзя7
(я с утра найти не смог:( )
1 x4
 
02.07.05
20:17
Справочники[ Ссылка.Метаданные().Имя ]
2 blindcat
 
02.07.05
20:34
(1) Имя? А если хочу универсально? Имея
"РеквизитСпр-(Базовая единица измерения)-ОбъектМетаданных;
РеквизитСпр.Тип-(Справочник ссылка: Классификатор единиц измерения)-ОписаниеТипов"
получить
"СправочникМенеджер.КлассификаторЕдиницИзмерения"
3 x4
 
02.07.05
20:41
(2) что в (1) не универсально?! "Имя" это свойство метаданных, оно так и называется, "Имя". Подставь в (1) вместо Ссылка свой РеквизитСпр и получишь свой менеджер
4 blindcat
 
02.07.05
20:46
(3) "Справочники[РеквизитСпр.Метаданные().Имя ]- "Метод объекта не обнаружен (Метаданные)"
5 x4
 
02.07.05
20:53
можешь проверить:

Ссылка = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию( "шт" );
Сообщить( ТипЗнч( Ссылка )); // Справочник ссылка: Классификатор единиц измерения
Сообщить( ТипЗнч( Ссылка.Метаданные())); // Объект метаданных
Сообщить( Ссылка.Метаданные().Имя ); // КлассификаторЕдиницИзмерения
Сообщить( ТипЗнч( Справочники[ Ссылка.Метаданные().Имя ])); // Справочник менеджер: Классификатор единиц измерения
6 blindcat
 
02.07.05
20:54
Самый универсальный способ!
Убедился 3-тий раз!
Загрузить в 7.7 старым добрым доделаным - переделаным RefImport.ert & УниверсальныйОбменДаннымиXML
7 blindcat
 
02.07.05
21:04
(5) Ссылка = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию( "шт" ) - в таком виде не используется.
Есть:
Для каждого Рекв Из Спр.Реквизиты Цикл  
   НовыйРек = Реквизиты.Добавить();
   НовыйРек.РеквизитСпр = Рекв;      
   НовыйРек.ТипРеквизитСпр = Рекв.Тип;
КонецЦикла;

где Спр - ТипСправочника(в конкретном случае "Номенклатура")

у тебя ссылка на конкретный элемент!

нет еще такой - на момент загрузки не знаю!

Справочник ссылка: <Имя> - тип реквизита загружаемого справочника!!!
8 x4
 
02.07.05
21:40
(7) ответ: Справочники[ Метаданные.НайтиПоТипу( Рекв.Тип.Типы()[0]).Имя ]

объяснение:
Спр это Метаданные.Справочники.Номенклатура типа Объект метаданных.
Рекв это Метаданные.Справочники.Номенклатура.Реквизиты.БазоваяЕдиницаИзмерения типа Объект метаданных.
Рекв.Тип типа ОписаниеТипов.
Рекв.Тип.Типы()[0] типа Тип.
Метаданные.НайтиПоТипу( Рекв.Тип.Типы()[0]) это Метаданные.Справочники.КлассификаторЕдиницИзмерения типа Объект метаданных.
Метаданные.НайтиПоТипу( Рекв.Тип.Типы()[0]).Имя это "КлассификаторЕдиницИзмерения" типа Строка.
Справочники[ Метаданные.НайтиПоТипу( Рекв.Тип.Типы()[0]).Имя ] типа СправочникМенеджер.КлассификаторЕдиницИзмерения
9 blindcat
 
02.07.05
23:14
ЙЙЙЙЙЙЙЙЙЙЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕССССССССССССС!!!!

Вопрос не в тему ? а попроще 1С-ники придумать не могут (или в 20 релизе дождемся)

Спасибо !
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший