Имя: Пароль:
1C
1С v8
Получение остатков из регистра бухгалтерии
,
0 Alex1979rak
 
02.04.14
08:46
Здравствуйте, уважаемые коллеги.

Помогите, пожалуйста, разобраться в ситуации.

Решаю задачу 2.11 по бухучету из сборника 1С-Специалист по платформе.

Столкнулся с непониманием самого факта формирования остатков запросом из регистра бухгалтерии.

Вот сам запрос:
ВЫБРАТЬ
    УправленческийОстатки.Субконто1 КАК Субконто1,
    УправленческийОстатки.Субконто2 КАК Субконто2,
    УправленческийОстатки.КоличествоОстатокДт КАК КоличествоОстатокДт,
    УправленческийОстатки.СуммаОстатокДт КАК СуммаОстатокДт
ИЗ
    РегистрБухгалтерии.Управленческий.Остатки(&Период, Счет = &Счет, &Субконто, ) КАК УправленческийОстатки

УПОРЯДОЧИТЬ ПО
    Субконто2

Вот результат запроса:
Субконто1           Субконто2  КоличествоОстатокДт    СуммаОстатокДт
Товар для проверки                               5 015,00
Товар для проверки    01.11.2013    20,000        
Товар для проверки    31.12.2013    10,000        
Товар для проверки    01.05.2014    5,000

Счет, который передаю в параметр запроса &Счет, называется Товары. По нему включен признак учета Количественный плана счетов, также есть два субконто: Номенклатура (ведется суммовой учет) и СрокГодности (не ведется суммовой учет).

В регистре бухгалтерии есть два ресурса: Количество (небалансовый) и Сумма (балансовый).

Объясните, пожалуйста, почему результат запроса именно такой.
1 Alex1979rak
 
02.04.14
08:47
+(0) в первой строке запроса число 5015 - это СуммаОстатокДт
2 Alex1979rak
 
02.04.14
08:48
+(0) в параметр субконто передаю массив значений
    МассивСубконто = новый массив;
    МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура);
    МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.СрокГодности);
3 Ненавижу 1С
 
гуру
02.04.14
08:48
(0) есть другие варианты?
4 Alex1979rak
 
02.04.14
08:50
(3) а какие варианты? вообще-то у меня встал вопрос получения итоговых данных по номенклатуре, чтобы списывать товар при проведении Расходной накладной.
5 Alex1979rak
 
02.04.14
09:16
апну разок
6 Alex1979rak
 
02.04.14
10:08
и еще разок
7 Ненавижу 1С
 
гуру
02.04.14
10:10
(4) ну как ты бы эти данные отобразил бы, если не так?
8 MrStomak
 
02.04.14
10:23
Мне кажется, суммовой учет по субконто2 ведется и вся сумма на пустом субконто2.
9 Ненавижу 1С
 
гуру
02.04.14
10:24
(8) не ведется и он не на пустом. а на NULL, мы же помним, что это не пуустое субконто? (о, боги!)
10 Alex1979rak
 
02.04.14
10:31
(7) вот я про это и спрашиваю.

первая строка в результате запроса - это получается одна часть результата
а последующие три строки - это вторая часть результата

так?
11 timurhv
 
02.04.14
10:36
(0) По субконто "Срок годности" суммовой учет не ведется - вот он тебе так и выводит. Чтобы получить сумму по количеству - придется делать несколько временных таблиц, распихивать их пропорционально и корректировать погрешность от деления на одну из позиций.
12 IT_PROGRAMMIST
 
02.04.14
10:39
посмотри, ответили уже http://chistov.spb.ru/forum/16-1218-9
13 timurhv
 
02.04.14
10:40
+(11) Т.е. если уберешь из запроса сумму - получишь 3 строчки.
14 MrStomak
 
02.04.14
10:42
(9) я по тексту приведенного результата не вижу, что там именно NULL, а не пустое субконто.
15 Alex1979rak
 
02.04.14
11:15
Вот какой ответ дал letni88:
"Запрос возвращает правильный результат. Суть вопроса я так понимаю в том, почему сумма остаток и количество остаток разбивается на несколько строк. Постараюсь ответить понятно: Когда ты формируешь количественный остаток по субконто 1 и субконто 2, у тебя получается остаток по количеству в разрезе сроков годности, если ты сюда же добавишь остаток суммовой, добавится отдельная строка, т.к. по субконто Срок годности у тебя отключен Суммовой учет, поэтому система не может просто приписать значение суммы рядом с количеством. В Том случае, если убрать субконто по сроку годности, строки не будут разбиваться. Наиболее оптимальным решением для нас будет два соединения: первое - для получения количественного остатка по срокам годности, второе - для получения суммового остатка без разреза сроков годности".

С одной стороны вроде все понятно. С другой, я искал ответ в книге "Проф разработка" в разделе по бухучету там, где рассматривается вопрос получения остатков из регистра бухгалтерии. Но в литературе нет примера, когда в одном запросе пытаются получить остатки по двум ресурсам одновременно. Видимо, авторы посчитали, что получать остатки нужно всегда ТОЛЬКО по одному ресурсу. А вот про механизм получения остатков я ничего внятного для себя не нашел.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший