Имя: Пароль:
1C
 
Отбор по значению субконто
,
0 moonlight
 
15.07.19
21:34
Добрый день!

Надо в запросе отобрать проводки по, у которых значение субконт "Склад" равен определенному значению склада. Субконто типа "Склад" для разных счетов может быть как СубконтоДт1,..., СубконтоДтN и СубконтоКт1, ... , СубконтоДтN, т.е. не понятно  к какому субконто применять отбор?

Каким образом должен выглядеть отбор в запросе, чтобы получить необходимую выборку?

Спасибо
1 Консультант Баранов
 
15.07.19
21:40
(0) Отобрать обороты с детализаций до номера строки потом отобрать проводки по паре Регистратор Номер строки.
2 karabas11
 
15.07.19
21:44
передать в параметре виртуальной таблицы массив с видами субконто в нужном ВАМ порядке. если нужно только склад передать массив с одним элементом Склады
В запросе это субкотно внезапно станет под номером 1
3 Консультант Баранов
 
15.07.19
21:46
ВЫБРАТЬ
    ХозрасчетныйОбороты.Регистратор КАК Регистратор,
    ХозрасчетныйОбороты.НомерСтроки КАК НомерСтроки
ПОМЕСТИТЬ втОтборПоскладам
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, Запись, , ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады), , , ) КАК ХозрасчетныйОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Хозрасчетный.Активность КАК Активность
ИЗ
    РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
ГДЕ
    (Хозрасчетный.Регистратор, Хозрасчетный.НомерСтроки) В
            (ВЫБРАТЬ
                втОтборПоскладам.Регистратор КАК Регистратор,
                втОтборПоскладам.НомерСтроки КАК НомерСтроки
            ИЗ
                втОтборПоскладам КАК втОтборПоскладам)
4 karabas11
 
15.07.19
21:52
(3) в 1с индекс по Период+Регистратор+НомерСтроки , так что не хватает периода. ну и зачем временная таблица и хитровыдуманная конструкция со скобками в ГДЕ? джоин рулит.
5 palsergeich
 
15.07.19
21:58
(4) там используется таблица субконто и все намного печальнее. Самое печальное в нем, что нельзя угадать какой именно индекс оптимизатор выберет...
6 palsergeich
 
15.07.19
21:58
(5) Я уже сожрал г-на ложку на этом
7 Консультант Баранов
 
15.07.19
21:58
(4) Чушь. Регистратор+НомерСтроки - однозначно определяют запись.
8 RomanYS
 
15.07.19
21:59
(3) Эээ... Зачем второй запрос? В первом заведомо активность=истина.
9 Консультант Баранов
 
15.07.19
22:00
(8) В задаче сформулировано: "проводки". Мало ли что ему нужно. Может "Содержание".
10 RomanYS
 
15.07.19
22:00
Альтернативный вариант: взять реальную таблицу субконто и наложить нужные отборы.
11 RomanYS
 
15.07.19
22:01
(9) Принято
12 palsergeich
 
15.07.19
22:02
(10) ИМХО, самый тру вариант.
13 karabas11
 
15.07.19
22:02
(5) а почему бы просто не соединить 2 талицы реальные  Субконто и Хозрасчетный. А на первой поставить отбор по виду субконто и значеню субконто? Я так эмулировал таблицу движенийССубконто на десятках миллионов записей.