работа с подчинеными справочниками

Форум 1С: Одинэс.Ру

Найти!

работа с подчинеными справочниками

Angg
15.06.2009 - 16:36
Проблема: с четырех баз dbf собираются подчиненные справочники
1 справочник населенных пунктов ->
2 справочник улиц ->
3 справочник домов ->
4 справочник лицевых счетов
до 3 пункта все проходит нормально если исключить четвертый. т.е. дома перебрасываются исключительно правильно как задумано
в коде покажу где начинается загвозка
Процедура Обновить()
    Гор=СоздатьОбъект("Справочник.НаселенныйПункт");
    Ул=СоздатьОбъект("Справочник.Улица");
    До=СоздатьОбъект("Справочник.Дома");
    ЛС=СоздатьОбъект("Справочник.ЛицевыеСчета");
 
ФайлУлиц=СоздатьОбъект("XBase");
ФайлУлиц.ОткрытьФайл(КаталогИБ()+"\Base\"+"UlicaOLs.dbf");
ФайлДомов=СоздатьОбъект("XBase");
ФайлДомов.ОткрытьФайл(КаталогИБ()+"\Base\"+"Dom.dbf");
ФайлЛС=СоздатьОбъект("XBase");
ФайлЛС.ОткрытьФайл(КаталогИБ()+"\Base\"+"Ls.dbf");  
   ФайлУлиц.Первая();
   Пока ФайлУлиц.ВКонце()=0 цикл  
Гор.НайтиПоКоду(ФайлУлиц.KODORGLS);
   Ул.ИспользоватьВладельца(Гор.ТекущийЭлемент());
Если Ул.НайтиПоКоду(ФайлУлиц.KODUL)=0 тогда
    Ул.Новый();
Ул.Код=ФайлУлиц.KODUL;
Ул.Наименование=ФайлУлиц.NAMEUL;
   Сообщить("Улица: "+СокрЛП(Ул.Наименование));
Ул.Записать();
КонецЕсли;  
Ул.НайтиПоКоду(ФайлУлиц.KODUL);
До.ИспользоватьВладельца(Ул.ТекущийЭлемент());
   ФайлДомов.Первая();
   Пока ФайлДомов.ВКонце()=0 цикл
                 Если (СокрЛП(ФайлДомов.KODORGLS)=Ул.Владелец.Код) и          
                      (ФайлДомов.KODUL=Число(Ул.Код)) тогда
   Если До.НайтиПоКоду(ФайлДомов.KODDOM)=0 тогда
   До.Новый();
До.Код=ФайлДомов.KODDOM;
До.ГодПостройки=ФайлДомов.GODPOSTR;
НомерДома= СокрЛП(Число(Лев  
                                (ФайлДомов.KODDOM,3)))+?(СокрЛП(Прав
                                (ФайлДомов.KODDOM,1))="0","",СокрЛП(Прав
                                (ФайлДомов.KODDOM,1))) ;
До.Наименование=СокрЛП(Ул.Наименование)
                                +" "+НомерДома;
Сообщить("Дом: "+СокрЛП(До.Наименование));
До.Записать();
   КонецЕсли;
КонецЕсли;
 
До.НайтиПоКоду(ФайлДомов.KODDOM);
ЛС.ИспользоватьВладельца(До.ТекущийЭлемент());
 
   ФайлЛС.Первая();
   Пока ФайлЛС.ВКонце()=0 цикл
Если (СокрЛП(ФайлЛС.KODORGLS)=Ул.Владелец.Код) и (ФайлЛС.KODUL=Число(До.Владелец.Код)) и (СокрЛП(ФайлЛС.KODDOM)=ЛС.Владелец.Код) тогда
//!!! вот в этом месте ЛС.Владелец.Код показывает-""
//хотя ЛС.ИспользоватьВладельца(До.ТекущийЭлемент()).Код показывает
//правильный код;
  Если ЛС.НайтиПоКоду(ФайлЛС.LS)=0 тогда
  ЛС.Новый();
  ЛС.Код=ФайлЛС.LS;
  НомерКвартиры= СокрЛП(Число(Лев(ФайлЛС.KODKV,3)));
  ЛС.Квартира=НомерКвартиры;
          ЛС.Площадь=ФайлЛС.S1;
          ЛС.ДатаДоговора=ФайлЛС.DTDOG;
ЛС.Наименование=СокрЛП(До.Наименование)+", кв. "+НомерКвартиры;
Сообщить("ЛС: "+СокрЛП(ЛС.Наименование));
ЛС.Записать();
КонецЕсли;
КонецЕсли;
  
ФайлЛС.Следующая();
КонецЦикла;
    
ФайлДомов.Следующая();
КонецЦикла;
 
ФайлУлиц.Следующая();
    КонецЦикла;
 
вот такая беда... может кто что подскажет заранее признателен  
 
К списку тем К списку форумов

Интересные темы

odines.ru
28.03.2024 - 21:47
Смотри также:
Как закрыть 76АВ
Бюджетка: можно ли перенести план счетов из одной базы в другую?
Не проводится закрытие месяца

Re: работа с подчинеными справочниками

roma n
1 - 15.06.2009 - 17:35
с телефона плохо код читать. ИМХО не спозиционирован. Воткни сообщить(...выбран())

Re: работа с подчинеными справочниками

Angg
2 - 15.06.2009 - 17:44
на самом деле интересует вот этот момент...
 
До.НайтиПоКоду(ФайлДомов.KODDOM);
ЛС.ИспользоватьВладельца(До.ТекущийЭлемент());
 
   ФайлЛС.Первая();
   Пока ФайлЛС.ВКонце()=0 цикл
Если (СокрЛП(ФайлЛС.KODORGLS)=Ул.Владелец.Код) и (ФайлЛС.KODUL=Число(До.Владелец.Код)) и (СокрЛП(ФайлЛС.KODDOM)=ЛС.Владелец.Код) тогда
 
в отладчике ЛС.Владелец.Код показывает "" и вообще при вычислении ЛС все поля показывает ""

Re: работа с подчинеными справочниками

Angg
3 - 15.06.2009 - 17:46
До.НайтиПоКоду(ФайлДомов.KODDOM);- отладчик-1
ЛС.ИспользоватьВладельца(До.ТекущийЭлемент()); отладчик показывает всё нормально
а ЛС- показывает ничего нет...

Re: работа с подчинеными справочниками

VZ
4 - 15.06.2009 - 18:38
(3) Правильно делает. Чуши нагородил...
ЛС у тебя - ссылка на открытый объект метаданных, справочник. Ты у всего справочника спрашиваешь реквизит Владельца?

Re: работа с подчинеными справочниками

Angg
5 - 16.06.2009 - 01:32
(3) то что это чушь это понятно-иначе бы не обращался...

Интересные темы

odines.ru
28.03.2024 - 21:47
Смотри также:
Нумерация 2НДФЛ в 1С:Налогоплатещик 7.7
Давальческая схема и ЕНВД.
Расчет нагрузки

Re: работа с подчинеными справочниками

VZ
6 - 16.06.2009 - 05:11
5-Angg > Еще раз, вдумайся: когда используешь конструкцию ЛС.Владелец.Код Ты у всего справочника спрашиваешь реквизит Владельца? В данном случае "Код"?
 
На самом деле получить реквизит владельца гораздо проще, но тебе надо вкурить причину своей ошибки...
К списку тем К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« отчет по материалам Как закрыть 76АВ »
© 2009 Форум 1С: Одинэс.Ру