Имя: Пароль:
1C
1С v8
Обработка. Сравнение данных из РеквизитаСведений и Справочника
0 Sympak
 
19.10.21
12:47
Добрый день.
1С: Предприятие 8.2
Необходимо создать  табличную обработку с тремя полями(Адрес с регистра. Адрес с АдресДанные и Совпадение(булево)), которая проверит адресные данные из РегистраСведений.АдресныйКлассификатор и Справочник.АдресныеДанные. Выявит разность заполненных данных и отметит в третьей колонке (булево) совпадают или нет.
Пока получилось вывести список только Справочник.АдресныеДанные.

Процедура ОсновныеДействияФормыДействие(Выбрать)

Если ЗначениеЗаполнено(ЭлементыФормы.ПроверитьАдрес.Значение) Тогда        
        КЛАДР_Отбор = "
    |    И "+?(ЭлементыФормы.ОтборКЛАДР.Значение = Ложь,"НЕ","")+" RO_КонтейнерныеПлощадки.ПоКладру";            
    Иначе        
        КЛАДР_Отбор = "";        
    КонецЕсли;
    
    Запрос.Текст =
    "ВЫБРАТЬ
    |    АдресныеДанные.Регион,
        |    АдресныеДанные.Район,
        |    АдресныеДанные.Город,
        |    АдресныеДанные.НасПункт,
        |    АдресныеДанные.Улица,
    |ИЗ
    |    Справочник.АдресныеДанные КАК АдресныеДанные
    |ГДЕ
    |    НЕ АдресныеДанные.ПометкаУдаления;
    
    Результат = Запрос.Выполнить().Выгрузить();
    РезультатПоиска.Загрузить(Результат);

КонецПроцедуры
1 acht
 
19.10.21
12:54
(0) Ты из Результат "Обработки" - ошибка какие-нибудь выводы сделал?
2 Sympak
 
19.10.21
12:59
Да.
Код заработал. Поэтому основываясь на проделанном вывел результат одного адреса, но сравнить второй не как ни понимаю.
3 Максим Нижегородец
 
19.10.21
13:01
Лучше воспользоваться той процедурой, которая уже есть в справочнике с адресными данными (если конфигурация не самописная). Обычно при открытии элемента справочника с адресными данными производится проверка их КЛАДРУ. Возвращаемый результат БУЛЕВО: Да - адрес разбирается по КЛАДРУ, Нет - при разборке произошли проблемы.