Это более простой вариант сравнения таблиц с эталоном, чем, например, в 53. Здесь используется тот факт, что КОЛИЧЕСТВО(*) показывает общее количество строк полного соединения, а КОЛИЧЕСТВО(Товары.Номенклатура) и КОЛИЧЕСТВО(Эталон.Номенклатура) только число строк не ЕСТЬNULL. При совпадении таблиц все эти количества должны быть равны, что и проверяется самым коротким способом с использованием тернарного логического условия МЕЖДУ.
Автор: ildarovich
ВЫБРАТЬ
Товары.Номенклатура,
Товары.Количество
ПОМЕСТИТЬ Эталон
ИЗ
&Товары КАК Товары
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Товары.Ссылка
ИЗ
Документ.ЗаказПокупателя.Товары КАК Товары
ПОЛНОЕ СОЕДИНЕНИЕ Эталон КАК Эталон
ПО Товары.Номенклатура = Эталон.Номенклатура
И Товары.Количество = Эталон.Количество
СГРУППИРОВАТЬ ПО
Товары.Ссылка
ИМЕЮЩИЕ
КОЛИЧЕСТВО(Товары.Номенклатура) МЕЖДУ КОЛИЧЕСТВО(*) И КОЛИЧЕСТВО(Эталон.Номенклатура)
{2} Ожидается идентификатор
Функция сравнения значений (рекурсивно)
СформироватьСловарьПолныхПутейКФормам (БСП)
ПолныйПутьКФормеПередЗаписьюПередЗаписью (БСП)
ЗаполнитьХешПолногоПутиКФорме (БСП)
Полный путь до предопределенного значения, включая имя самого значения