Имя: Пароль:
1C
1C 7.7
v7: Запрос по нескольким счетам
0 kathleen
 
21.05.14
10:55
СпСчетов=СоздатьОбъект("СписокЗначений");
        СпСчетов.ДобавитьЗначение(СчетПоКоду("43.1"));
        СпСчетов.ДобавитьЗначение(СчетПоКоду("20.2"));БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
        БухИт.ИспользоватьСубконто(ВидыСубконто.ГотоваяПродукция, ГотоваяПродукция, 2);
        БухИт.ИспользоватьСубконто(ВидыСубконто.ПартииГотовойПродукции, Партия);
        БухИт.ИспользоватьСубконто(ВидыСубконто.ГП_МестаХранения, МестоХранения);
        БухИт.ВыполнитьЗапрос(,ДатаДок,СпСчетов,,,,,"СКВ");

Сальдо СКД("С")показывает, а СКД("к") показывает ноль. Если в списке оставить один счет, тогда количество видит, в чем проблема может быть?
1 Иоканаан
 
21.05.14
11:02
А Вы задайте перечень счетов в виде строки вида "43.1;20.2": как показывает практика, нередко в запросе по БИ список счетов в виде строки с их кодами и список счетов в виде перечня объектов типа "Счет" обрабатываются по разному.
2 Иоканаан
 
21.05.14
11:03
Да! Подозреваю, что у счетов 20.2 и 43.1 ещё и субконто разные.
3 kathleen
 
21.05.14
11:04
(2) абсолютно идентичные
4 kathleen
 
21.05.14
11:05
(1)строкой тоже пробовала, тут косяк какой-то, вынесла код во внешнюю обработку, перебираю субконто - вроде работает все, ниче не понимаю
5 Duke1C
 
21.05.14
11:06
(3) а оба счета количественные? Насколько помню, в бухии 20 счет не имеет субсчетов и признака "Количественный"
6 kathleen
 
21.05.14
11:09
(5)Да, тут замут еще тот по бухгалтерии
7 Сияющий Асинхраль
 
21.05.14
11:09
А так:

БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
        БухИт.ИспользоватьСубконто(ВидыСубконто.ГотоваяПродукция, ГотоваяПродукция, 2);
        БухИт.ИспользоватьСубконто(ВидыСубконто.ПартииГотовойПродукции, Партия,2);
        БухИт.ИспользоватьСубконто(ВидыСубконто.ГП_МестаХранения, МестоХранения,2);
        БухИт.ВыполнитьЗапрос(,ДатаДок,"43.1,20.2",,,,,"СКВ");

СКДК = 0;

БухИт.ВыбратьСчета();
Пока БухИт.ПолучитьСчет() = 1 Цикл
СКДК = СКДК + БухИт.СКД("К");
КонецЦикла;

Сообщить(СКДК);
8 Иоканаан
 
21.05.14
11:10
(5)Да, 20-ка не количественная, да и не может обычно иметь такого признака.

(0) "СКВ" в конце строки запроса можете убрать, как и лишние запятые: по умолчанию рассчитываются все типы сумм.
9 kathleen
 
21.05.14
11:11
(7)Так работает, уже пробовала, но мне не понятно почему не работает первый вариант
10 Сияющий Асинхраль
 
21.05.14
11:13
+(7) И, да, при переборе субконто количество быть должно, а без не имеет смысла, в качестве субконто могут быть и стулья и хлеб дрожжевой, суммировать пиво с бабой смысла не имеет. Думаю, поэтому и не суммирует...
11 kathleen
 
21.05.14
11:13
(8)именно 20.2 у нас количественная, можно или нельзя - это вопрос к бухгалтеру, к тому же это Беларусь, извращаемся каку можем
12 kathleen
 
21.05.14
11:14
* как можем))
13 Сияющий Асинхраль
 
21.05.14
11:14
(9) читай (10)
14 kathleen
 
21.05.14
11:16
(10) не поняла ничего, у меня же отбор по всем трем субконто
15 Сияющий Асинхраль
 
21.05.14
11:21
(14) У тебя отбор по одному субконто:

(ВидыСубконто.ГотоваяПродукция, ГотоваяПродукция, 2);

Для отбора надо бы двоечку поставить:
ИспользоватьСубконто(<ВидСубконто>,<Субконто>,<ТипФильтра>,<ПоГруппам>)

<ТипФильтра> - число - тип фильтра по субконто. Может принимать следующие значения: 1 - разворачивать по данному субконто, 2 - отбирать по данному субконто, 3 - не учитывать это субконто вообще. По умолчанию 1

У тебя тип фильтра в остальных случаях пуст, т.е. по умолчанию
16 kathleen
 
21.05.14
11:23
(15) 2-ки я тоже уже ставила
17 Сияющий Асинхраль
 
21.05.14
11:23
Как у меня:

БухИт.ИспользоватьСубконто(ВидыСубконто.ГотоваяПродукция, ГотоваяПродукция, 2);
        БухИт.ИспользоватьСубконто(ВидыСубконто.ПартииГотовойПродукции, Партия,2);
        БухИт.ИспользоватьСубконто(ВидыСубконто.ГП_МестаХранения, МестоХранения,2);

Но сам, сколько помню всегда писал как в (7), даже не проверяя будет ли работать без цикла... Попробуй, может в для этого варианта цикл и не нужен...
18 kathleen
 
21.05.14
11:25
(17)да, также.
19 Fedor-1971
 
21.05.14
11:26
(16) главного не заметила в (0) список! кодов счетов, а в (7) строка!!! разделённая ",". Из моей практики - строка отрабатывает корректнее чем переменная типа Счет
20 Сияющий Асинхраль
 
21.05.14
11:31
(19) Никогда разницы не замечал, пишу так просто потому что короче. Но, думаю все-таки, что не суммирует по той же причине, что и разные субконто суммировать не должна, счета все-таки разные...
21 hunter76
 
21.05.14
11:34
(0) попробуйте указать начальную дату
22 kathleen
 
21.05.14
11:40
(20)скорее всего.
Вот так заработало
    БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
        БухИт.ИспользоватьСубконто(ВидыСубконто.ГотоваяПродукция, ТЗ.ГотоваяПродукция, 2);
        БухИт.ИспользоватьСубконто(ВидыСубконто.ПартииГотовойПродукции, ТЗ.Партия);
        БухИт.ИспользоватьСубконто(ВидыСубконто.ГП_МестаХранения, МестоХранения);
        //   БухИт.ВключатьСубсчета(1);
        БухИт.ВыполнитьЗапрос(,ДатаДок,"43.1;20.2",,,,,"СКВ");
        БухИт.ВыбратьСубконто(1);
        Пока БухИт.ПолучитьСубконто(1)=1 Цикл
            БухИт.ВыбратьСубконто(2);
            Пока БухИт.ПолучитьСубконто(2)=1 Цикл
                БухИт.ВыбратьСубконто(3);
                Пока БухИт.ПолучитьСубконто(3)=1 Цикл
                    СуммаНаСкладахВал = БухИт.СКД("В");
                    СуммаНаСкладах = БухИт.СКД("С");
                    КоличествоНаСкладах = БухИт.СКД("К");
                КонецЦикла;
            КонецЦикла;
        КонецЦикла;
23 Сияющий Асинхраль
 
21.05.14
11:43
(22) Так, если я правильно понимаю, нет смысла, все-таки один цикл в (7), проще чем три цикла в (22)
24 Сияющий Асинхраль
 
21.05.14
11:46
Ну и совсем отвлеченный комментарий. Первый раз вижу 20 счет с ведением валютного учета, если эти суммы не нечто вообще другое и загадочное...
25 kathleen
 
21.05.14
12:07
(23)ну да, наверное)
26 kathleen
 
21.05.14
12:10
(25)ну если так интересно, у нас раньше готовая продукция из дав сырья, т.е. сшитая под заказ лежала на 43.2 в валюте, с 12ого  года нельзя вести учет оказанных услуг на 43, а надо на 20, вот мы и сделали аналогичный 20.2, а насколько там что правильно или нет забота бухгалтера, это ее идея
27 Сияющий Асинхраль
 
21.05.14
14:14
(26) понятно