Имя: Пароль:
1C
1С v8
Как быстрее из рег.Хозрасчетного получить счет по регистратору и субконто .
,
0 tmk315
 
17.01.22
15:26
таблица : документ прихода , номенклатура нужен счет дебета .
1 ДенисЧ
 
17.01.22
15:27
ДвиженияССубконто?
2 tmk315
 
17.01.22
15:30
(2)медленно ,быстрее бы
3 RomanYS
 
17.01.22
15:30
(1) это как раз самый медленный вариант)
(0) либо две живые таблицы соединить(РБ+Субконто), либо ВТ обороты с обязательным указанием параметра ВидСубконто
4 tmk315
 
17.01.22
15:51
здорово РБ+Субконто не делал так .Спасибо.
5 Ёпрст
 
17.01.22
17:35
(2) с 15 релиза движениясСубконто - реальная табличка в базе, поентому оч. быстро.
6 Ёпрст
 
17.01.22
17:36
если режим совместимости>=15 вестимо
7 RomanYS
 
17.01.22
18:54
(5)(6) ппц, т.е. данные в ней просто дублируют записи таблиц РБ и субконто?
И эта таблица доступна отдельно в таблицах запроса или используется только внутри для ускорения работы ВТ?
8 Ёпрст
 
17.01.22
18:59
(7) это теперь лишние 24 поля в основной табличке регистра бухгалтерии. Отсюда долгая реструктуризация, если v1.
9 Ёпрст
 
17.01.22
19:01
Ну и так товарищи с Селезневки оптимизировали работу с виртуальной табличкой движенияССубконто, сделав ее реальной.
10 RomanYS
 
17.01.22
19:07
(8) Афигеть!
Спасибо за инфо.
11 Новиков
 
17.01.22
20:00
(2) это самый быстрый способ, с максимальными отборами в параметрах виртуалки. У тебя должно быть примерно так:

    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
    |            ,
    |            ,
    |            Регистратор = &Регистратор
    |                И СчетДт В
    |                    (ВЫБРАТЬ
    |                        ВТ_Счета.Счет
    |                    ИЗ
    |                        ВТ_Счета)
    |                И ВидСубконтоДт1 = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ХХХ)
    |                И (Субконто1 ССЫЛКА Документ.YYY
    |                    ИЛИ Субконто1 ССЫЛКА Документ.ZZZ)

Соотв., в ВТ_Счета кладешь и индексируешь все возможные различные счета Дт. Должно работать быстрее, чем в (3).
12 RomanYS
 
17.01.22
20:14
(11) прямо интересно замеры увидеть.
Засунуть ВТ_Счета(зачем кстати?), потом получить данные из ВТ и это быстрее одного соединения по индексированным полям?
13 Новиков
 
18.01.22
10:00
(12) >>это быстрее одного соединения по индексированным полям?

Скорее всего, в каких-то случаях - да. В частном случае, может быстрее твой вариант, я не проверял. Так сейчас решается задача ТС в типовой. Скорее всего, на каких тестах, на каких-то объеме, решения из (3) не показали достаточной скорости. По хорошему, нужны замеры, разбитые по объему физических таблиц. Но если все это делать лень, можно брать (11). Если стоит вопрос тюнинга, а насколько я понял, тс уже пробовал что-то подобное, то конечно надо тюнить под конкретный объем, конкретной субд. Я бы оставил как в (11) с учетом (5).
14 Dmitrii
 
гуру
18.01.22
10:08
(13) >> Я бы оставил как в (11) с учетом (5).

Ключевой момент "с учетом (5)". То есть, начиная с режима совместимости 8.15 и выше, (11) будет работать быстро. В режиме совместимости ниже 8.15 однозначно быстрее будет вариант (3) - по двум первичным таблицам - Хозрасчетный и Субконто.
15 Ёпрст
 
18.01.22
10:09
(14) дас ис так
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс