Имя: Пароль:
1C
 
Нужно из дбф значения перенести в справочник. Процедура заци́кливается.
0 work92
 
26.09.16
12:39
Нужно из дбф значения перенести в справочник. Процедура  заци́кливается.

Процедура ВыполДляСпрОС()    
    
    ВремФлДБФ=СоздатьОбъект("XBase");
    СпрОС=Создатьобъект("Справочник.ОсновныеСредства");
    
    ВремФлДБФ.ОткрытьФайл ("D:\Бухгалтерия от 26.09.16\ОС.dbf");
    
    Если ВремФлДБФ.Открыта()=0 Тогда
    Сообщить("Не удалось открыть файл!");
     Иначе
      Сообщить("Открыт");    
КонецЕсли;  
  ВремФлДБФ.Первая();
      Пока ВремФлДБФ.ВКонце()=0 Цикл  
          
       СпрОС.НайтиПокоду("01");
      ГруппаОС = СпрОС.ТекущийЭлемент();
      
      СпрОС.ИспользоватьРодителя(ГруппаОС);
      
      СпрОС.ВыбратьЭлементы();
      
      Пока СпрОС.ПолучитьЭлемент()=1 Цикл
      
      Если СокрЛП(ВремФлДБФ.Number)=СокрЛП(СпрОС.Код) Тогда
              СпрОС.ИспользоватьДату(Дата("01.01.2012")) ;
            Сообщить("НайДен"+СпрОС.код);  
            
    //    Сообщить("данные"+СокрЛП(Число(ВремФлДБФ.PriBalans)));
      СпрОС.ВосстановительнаяСтоимость=СокрЛП(ВремФлДБФ.PriBalans);
      СпрОС.АмортизСтоимость=СокрЛП(ВремФлДБФ.PriBalans);
    
       СпрОС.Записать();
  
Иначе
    
      Сообщить("Нету Новый ЭЛ"+СпрОС.код) ;
      СпрОС.Новый();
    
       СпрОС.Код=СокрЛП(ВремФлДБФ.Number);
       СпрОС.ВосстановительнаяСтоимость=СокрЛП(Число(ВремФлДБФ.PriBalans));
      СпрОС.АмортизСтоимость=СокрЛП(Число(ВремФлДБФ.PriBalans));
        СпрОС.Записать() ;
        
    КонецЕсли;  
        
      ВремФлДБФ.Следующая();

КонецЦикла ;  

      
      КонецЦикла;
    КонецПроцедуры
1 Лефмихалыч
 
26.09.16
12:45
оубожэ!
НайтиПоКоду() вместо вложенного цикла используй
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.