Платформа 1С:Предприятие 8.2 (8.2.18.109), толстый клиент обычное приложение,
Конфигурация Комплексная автоматизация, редакция 1.1 (1.1.36.2) (хотя это, наверное, не важно).
Исполняю следующий запрос:
ВЫБРАТЬ
1 КАК Количество
ПОМЕСТИТЬ ВтТаблицаКоличество
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
-1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВЫБОР
КОГДА ТаблицаКоличество.Количество < 0
ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
КОНЕЦ КАК ВидДвижения
ПОМЕСТИТЬ ВтТаблицаДвижений
ИЗ
ВтТаблицаКоличество КАК ТаблицаКоличество
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТаблицаДвижений.ВидДвижения КАК ВидДвиженияИсходный,
ВЫБОР
КОГДА ТаблицаДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК ЭтоПриход
ИЗ
ВтТаблицаДвижений КАК ТаблицаДвижений
Получаю:
ВидДвиженияИсходный ЭтоПриход
Приход Да
Расход Да
А вот такой запрос исполняется нормально:
ВЫБРАТЬ
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения
ПОМЕСТИТЬ ВтТаблицаДвижений
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТаблицаДвижений.ВидДвижения КАК ВидДвиженияИсходный,
ВЫБОР
КОГДА ТаблицаДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК ЭтоПриход
ИЗ
ВтТаблицаДвижений КАК ТаблицаДвижений
ВидДвиженияИсходный ЭтоПриход
Приход Да
Расход Нет
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший