Получить остатки по всем аналитическим признакам счета

Получить остатки по всем аналитическим признакам счета

1. Каким образом можно получить остатки по всем аналитическим признакам определенного счета? (если есть 1 аналитика, если их несколько)?

2. Каким образом в базе бухпроводки хранятся дебет и кредит - в соответствии с результатом функции КОД_СЧЕТА?

3. Если код счета получен с помощью функции КОД_СЧЕТА, то сравнение бухпроводки.кредит с указанным кодом будет корректным?
 
1. Каким образом можно получить остатки по всем аналитическим признакам определенного счета? (если есть 1 аналитика, если их несколько)?

Если структура аналитик фиксирована, например "склад" и "товар" на 41-ом счете, то можно так:

Код:
ОПЕРАЦИЯ Ы
ВЫЧИСЛИТЬ
  ЦИКЛ СЧЕТА(сч = "41/*")      // сч бежит по складам
    ЦИКЛ СЧЕТА(сч2 = сч + "/*")   // сч2 бежит по товарам скалада сч
      ОТЛАДКА(сч2 + ":" + СТР(ОСД(сч2))) 
    КОНЕЦ_ЦИКЛА 
  КОНЕЦ_ЦИКЛА 
КОНЕЦ

Более универсальный и более удобный способ, а также если структура аналитик не фиксирована и не известна, то так:

Код:
ОПЕРАЦИЯ Ы
ВЫЧИСЛИТЬ
  ЦИКЛ ОБОРОТЫ(сч = "41/*") 
    ОТЛАДКА(сч + ":" + СТР(ОСД(сч)))
  КОНЕЦ_ЦИКЛА 
КОНЕЦ

2. Каким образом в базе бухпроводки хранятся дебет и кредит - в соответствии с результатом функции КОД_СЧЕТА?

В базе хранятся достаточно сложно. Строить какой-либо алгоритм на этом не рекомендую.

3. Если код счета получен с помощью функции КОД_СЧЕТА, то сравнение бухпроводки.кредит с указанным кодом будет корректным?

Не совсем. Если между чтением записи и вызовом функции КОД_СЧЕТА вызывались функции типа МАСКА_СУБСЧЕТОВ, ПОРЯДОК_АНАЛИТИК, то сравнение будет неверным. Вот, например:

Код:
ОПЕРАЦИЯ Ы
ВЫЧИСЛИТЬ
  с_товары.ПЕРВАЯ
  с_склады.ПЕРВАЯ
  РАБОЧИЕ_ОБЪЕКТЫ(с_товары, с_склады) 
  сч = КОД_СЧЕТА("41")              
  СООБЩЕНИЕ(сч)                     
  ПОРЯДОК_АНАЛИТИК("41", с_товары, с_склады)
  сч = КОД_СЧЕТА("41")
  СООБЩЕНИЕ(сч)           
КОНЕЦ

Будет выдано два РАЗНЫХ результата. То же самое будет и если сравнивать с бухпроводки.кредит
 
Назад
Сверху