Всем привет!
Нужно извлечь коды организации по коду ОКПО из регистра сведений КодыОрганизаций. Следующий фрагмент не работает. Организация с нужным ОКПО точно есть в справочнике. В структере КодыОрганизаций возаращаются пустые поля. В чем ошибка?
Сообщить("Ищем организацию "+ Покупатель.НайтиПоЗначению("Наименование"));
ОКПО = Покупатель.НайтиПоЗначению("ОКПО");
Организации = Справочники.Организации.Выбрать();
Пока Организации.Следующий() Цикл
Организация = Организации.ПолучитьОбъект();
Сообщить(Организация);
Отбор = Новый Структура;
Отбор.Вставить("Организация", Организация);
КодыОрганизации = РегистрыСведений.КодыОрганизации.ПолучитьПоследнее(,Отбор);
Если КодыОрганизации.КодПоЕДРПОУ = ОКПО Тогда
Сообщить("НАШЛИ!");
КонецЕсли;
Сообщить(КодыОрганизации.КодПоЕДРПОУ);
КонецЦикла;
(1) При коде:
Организация = Организации;
в табло отладчика:
ТипЗнч(Организация) = Справочник выборка: Организации
а нужно СправочникСсылка.Организации?
Что изменить в коде?
Заработал такой код:
ОКПО = СокрЛП(Покупатель.НайтиПоЗначению("ОКПО"));
Организации = Справочники.Организации.Выбрать();
Пока Организации.Следующий() Цикл
Организация = Организации.Ссылка;
Сообщить(Организация);
Отбор = Новый Структура;
Отбор.Вставить("Организация", Организация);
КодыОрганизации = РегистрыСведений.КодыОрганизации.ПолучитьПоследнее(,Отбор);
Если СокрЛП(КодыОрганизации.КодПоЕДРПОУ) = ОКПО Тогда
Сообщить("НАШЛИ!");
КонецЕсли;
Сообщить(КодыОрганизации.КодПоЕДРПОУ);
КонецЦикла;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший