Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сравнение 2-х ТЗ
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
lensky
Доброго времени суток!
Сравниваю 2 ТЗ по двум колонкам. Вот запрос
Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
                       |    ТоварыВРезервеНаСкладах.Номенклатура,
                       |    ТоварыВРезервеНаСкладах.Количество
                       |ИЗ
                       |    РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах
                       |ГДЕ
                       |    ТоварыВРезервеНаСкладах.Регистратор ССЫЛКА Документ.КомплектацияНоменклатуры
                       |    И ТоварыВРезервеНаСкладах.ДокументРезерва = &ДокументРезерва
                       |    И ТоварыВРезервеНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                       |
                       |СГРУППИРОВАТЬ ПО
                       |    ТоварыВРезервеНаСкладах.Номенклатура,
                       |    ТоварыВРезервеНаСкладах.Количество";
        Запрос.УстановитьПараметр("ДокументРезерва", Сделка);    
        ТЗК = Запрос.Выполнить().Выгрузить();
        
        ТЗР = Товары.Выгрузить();
        ТЗК.Свернуть("Номенклатура", "Количество");
        ТЗР.Свернуть("Номенклатура", "Количество");
        
        Для каждого Стр1 Из ТЗР Цикл
            НР = ТЗР.Колонки.Номенклатура;
            КР = ТЗР.Колонки.Количество;
            Для каждого Стр2 Из ТЗК Цикл
                 НК = ТЗК.Колонки.Номенклатура;
                КК = ТЗК.Колонки.Количество;
                Если НК = НР и КК > КР Тогда
                    Сообщить("Сработало");
                Иначе
                    Сообщить("Не сработало");
                КонецЕсли;
            КонецЦикла;
        КонецЦикла;


В условии всегда выскакивает в "иначе". условие НК = НР почему то ЛОЖЬ, хотя должна быть ИСТИНА, а условие КК > КР выдаёт: {(1)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата).

Где я накосячил? Подскажите
Petre
lensky @ Сегодня, 11:33 необходимо зарегистрироваться для просмотра ссылки ,
1. Колонка одной тз не может быть равной колонке другой тз, т. к. тз разные.
2. Колонки нельзя сравнивать на больше/меньше.
lensky
Petre @ Сегодня, 11:50 необходимо зарегистрироваться для просмотра ссылки ,
А как сравнить тогда их содержимое?
Petre
lensky @ Сегодня, 11:53 необходимо зарегистрироваться для просмотра ссылки ,
Если вы хотите сравнить содержимое, то оно берется из текущей строки, например:
Для Каждого Стр1 Из ТЗР Цикл
    НР = Стр1.Номенклатура;
    КР = Стр1.Количество;
lensky
Petre @ Сегодня, 11:58 необходимо зарегистрироваться для просмотра ссылки ,
Точно, вот я балбес
Спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.