Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: В "Первый запуск" не заполняется справочник
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
vadim007
Обработка "Первый запуск" прерывает свою работу в процедуре ЗаполнитьСтатьиНалоговыхДеклараций() с ошибкой:

СпрСтНД.Родитель = ТекущийРодитель;
{Обработка.ПервыйЗапуск.Форма.Модуль(5117)}: Неверное значение!

Прогонял отладчиком- все в норме, ТекущийРодитель типа Справочник. Вот текст самой процедур:
Процедура ЗаполнитьСтатьиНалоговыхДеклараций()
    Перем Обл;
    Перем ПолныйКод, КодРодителя, Код, Наим, Гр;
    
    СпрСтНД = СоздатьОбъект("Справочник.СтатьиНалоговыхДеклараций");
    
    Таб=СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("ДобавлениеСтДекл"); //Берем структуру добавляемых элементов из таблицы
    Таб.Вывести();
        
    Сч=2;
    Пока Сч>0 Цикл
        Обл=Таб.Область(Сч,1);
        Код=Обл.Текст;
        Обл=Таб.Область(Сч,2);
        Наим=Обл.Текст;
        Обл=Таб.Область(Сч,3);
        Гр=Обл.Текст;
        
        Если Код="" Тогда
            Прервать;//дошли до конца таблицы
        КонецЕсли;    
        
        ПолныйКод=Код;
        РазделитьКод(Код, КодРодителя);
        
        СпрСтНД.НайтиПоКоду(КодРодителя);
        ТекущийРодитель = СпрСтНД.ТекущийЭлемент();
        
        Если СпрСтНД.НайтиПоКоду(ПолныйКод) = 0 Тогда
            Если Гр="г" тогда
                СпрСтНД.НоваяГруппа(); //это группа
            Иначе
                СпрСтНД.Новый();       //это просто элемент
            КонецЕсли;
            СпрСтНД.Код = Код;
            СпрСтНД.Наименование = Наим;
            Если КодРодителя<>0 Тогда //если это не верхний в иерархии
                СпрСтНД.Родитель = ТекущийРодитель;
            КонецЕсли;    
            СпрСтНД.Записать();
        КонецЕсли;    
        
        Сч=Сч+1;
    КонецЦикла;
        
КонецПроцедуры

Не могу найти причину, хоть тресни. Прошу помощи клуба.
mister-x
Цитата(vadim007 @ 22.03.12, 13:07) необходимо зарегистрироваться для просмотра ссылки
СпрСтНД.Родитель = ТекущийРодитель;

стикався з такою помилкою - поставте провірку на групу ТекущийРодитель
если ТекущийРодитель.ЭтоГруппа()=1 тогда 
СпрСтНД.Родитель = ТекущийРодитель
...

а то скоріше всього ТекущийРодитель - інколи виходить елемент
kalyamov
Цитата(vadim007 @ 22.03.12, 13:07) необходимо зарегистрироваться для просмотра ссылки
ТекущийРодитель типа Справочник


А типа он элемент или группа ?

Не увидел ответ мистера-х, пардон.
vadim007
И как я пропустил это?! Он элементом оказался. Все спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.