1С v 7.7 Подчиненный подчиненному справочнику. Не могу выбрать элементы.
06.05.2009
02:46
#1
"Суть проблемы такая. Пишу конфигурацию на основе 1С:Бухгалтерия 7.7. Возникла необходимость создать следующую структуру данных: Справочник1 <-- Справочник2 <-- Справочник3. Т.е. Справочнику1 подчинен Справочник2, которому в свою очередь подчинен Справочник3.
В модуле формы элемента Справочника1 расположена ТЗ с данными, которые заполняются при открытии из Справочника2. Необходимо при изменении данных через ТЗ и соответственно в Справочнике2 (это реализовано) вносить соответствующие изменения и в Справочик3.
...
Спр2 = СоздатьОбъект("Справочник.2");
Если Спр2.НайтиЭлемент(ТекущийЭлемент())=1 Тогда
Спр3 = СоздатьОбъект("Справочник.3");
Если Спр3.НайтиЭлемент(Спр2.ТекущийЭлемент().Владелец) = 1 Тогда
Сообщить(Спр3.ТекущийЭлемент());
Иначе
Сообщить("Бууууууууу");
КонецЕсли;
КонецЕсли;
...
В этом случае выводит Бууууууууу. Т.Е. не позиционирует на текущий элемент Справочника3
Если так
...
Спр2 = СоздатьОбъект("Справочник.2");
Если Спр2.НайтиЭлемент(ТекущийЭлемент())=1 Тогда
Спр3 = СоздатьОбъект("Справочник.3");
Спр3.ИспользоватьВладельца(Спр2.ТекущийЭлемент().Владелец);
Если Спр3.НайтиПоРеквизиту("ГодУчета",Период,0)=1 Тогда
Если Спр3.Выбран() > 0 Тогда
Спр3.КубыГод.Установить(ДатаВСпр, ЛгКуб);
КонецЕсли;
Иначе
Спр3.Новый();
Спр3.ГодУчета = Период;
Спр3.КубыГод.Установить(ДатаВСпр, ЛгКуб);
Спр3.Записать();
КонецЕсли;
КонецЕсли;
...
Тогда результат такой:
Если Спр3.НайтиПоРеквизиту("ГодУчета",Период,0)=1 Тогда
{Справочник.ХХХХХХ.Форма.Модуль(22)}: Неверное имя реквизита!
В общем проблема такая. Не получается из Справочника1 изменить значение элемента Справочника3.
Может кто знает, подскажите хотя бы куда рыть. Просто не очень хотелось бы менять структуру справочников"
В модуле формы элемента Справочника1 расположена ТЗ с данными, которые заполняются при открытии из Справочника2. Необходимо при изменении данных через ТЗ и соответственно в Справочнике2 (это реализовано) вносить соответствующие изменения и в Справочик3.
...
Спр2 = СоздатьОбъект("Справочник.2");
Если Спр2.НайтиЭлемент(ТекущийЭлемент())=1 Тогда
Спр3 = СоздатьОбъект("Справочник.3");
Если Спр3.НайтиЭлемент(Спр2.ТекущийЭлемент().Владелец) = 1 Тогда
Сообщить(Спр3.ТекущийЭлемент());
Иначе
Сообщить("Бууууууууу");
КонецЕсли;
КонецЕсли;
...
В этом случае выводит Бууууууууу. Т.Е. не позиционирует на текущий элемент Справочника3
Если так
...
Спр2 = СоздатьОбъект("Справочник.2");
Если Спр2.НайтиЭлемент(ТекущийЭлемент())=1 Тогда
Спр3 = СоздатьОбъект("Справочник.3");
Спр3.ИспользоватьВладельца(Спр2.ТекущийЭлемент().Владелец);
Если Спр3.НайтиПоРеквизиту("ГодУчета",Период,0)=1 Тогда
Если Спр3.Выбран() > 0 Тогда
Спр3.КубыГод.Установить(ДатаВСпр, ЛгКуб);
КонецЕсли;
Иначе
Спр3.Новый();
Спр3.ГодУчета = Период;
Спр3.КубыГод.Установить(ДатаВСпр, ЛгКуб);
Спр3.Записать();
КонецЕсли;
КонецЕсли;
...
Тогда результат такой:
Если Спр3.НайтиПоРеквизиту("ГодУчета",Период,0)=1 Тогда
{Справочник.ХХХХХХ.Форма.Модуль(22)}: Неверное имя реквизита!
В общем проблема такая. Не получается из Справочника1 изменить значение элемента Справочника3.
Может кто знает, подскажите хотя бы куда рыть. Просто не очень хотелось бы менять структуру справочников"
Читают тему
(гостей: 1)