Есть тз1 с колонками счетзатрат|статья|сумма|коррсчет
И есть некая тз2 с правилами распределения затрат раздел|статья|коррсчетзатрат
Не хочеться использовать перебор, есть ли алгоритм поиска строк тз1 в тз2. Причем алгоритм сначала ищет по ключу Статья|коррсчет, если не находит уже только по Статья?
Запросом это реально реализовать?
наглядно так
Запрос.Текст =
"ВЫБРАТЬ
| ПравилаФормированияФХДСтатьиЗатрат.Ссылка КАК Ссылка,
| ПравилаФормированияФХДСтатьиЗатрат.СтатьяЗатрат КАК СтатьяЗатрат,
| ПравилаФормированияФХДСчетУчета.СчетУчета КАК СчетУчета
|ПОМЕСТИТЬ ВТПравила
|ИЗ
| Справочник.ПравилаФормированияФХД.СтатьиЗатрат КАК ПравилаФормированияФХДСтатьиЗатрат
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПравилаФормированияФХД.СчетУчета КАК ПравилаФормированияФХДСчетУчета
| ПО ПравилаФормированияФХДСтатьиЗатрат.Ссылка = ПравилаФормированияФХДСчетУчета.Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Источник.Счет КАК Счет,
| Источник.СтатьяЗатрат КАК СтатьяЗатрат,
| Источник.КоррСчет КАК КоррСчет,
| Источник.СуммаОборотДт КАК СуммаОборотДт,
|ПОМЕСТИТЬ ВТЗатраты
|ИЗ
| &ВнешнийИсточник КАК Источник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТЗатраты.СтатьяЗатрат КАК СтатьяЗатрат,
| ВТЗатраты.СуммаОборотДт КАК СуммаОборотДт,
| ЕСТЬNULL(ВТПравила.Ссылка, ВТПравила1.Ссылка) КАК Правило
|ИЗ
| ВТЗатраты КАК ВТЗатраты
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПравила КАК ВТПравила
| ПО ВТЗатраты.СтатьяЗатрат = ВТПравила.СтатьяЗатрат
| И ВТЗатраты.КоррСчет = ВТПравила.СчетУчета
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПравила КАК ВТПравила1
| ПО ВТЗатраты.СтатьяЗатрат = ВТПравила1.СтатьяЗатрат";
(4) а при соединении с ВТПравила1 не нужно условие на пустой коррсчет? У тебя же без него несколько правил подтягиваться будет
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший