Имя: Пароль:
   
1C
1C 7.7
v7: Непонятки с запросом
0 Chesnok
 
17.05.18
10:37
Привет всем.
Есть запрос вида:
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.МестаХранения, ВыбМагазины, 1);
БИ.ИспользоватьСубконто(ВидыСубконто.Номенклатура, ВыбТовары, 1);
БИ.ИспользоватьСубконто(ВидыСубконто.ПартииТоваров);
БИ.ВыполнитьЗапрос(ДатаОтчета,, "41",,,,, "К");

Партия товара это каждый приход.
Есть приход какого-то товара 11.04.17 и 31.05.17
Делается запрос на 15.05.17 (ДатаОтчета = 15.05.17)

Выбираются по порядку все 3 субконто:
БИ.ВыбратьСубконто(1);
Пока БИ.ПолучитьСубконто(1) = 1 Цикл
     БИ.ВыбратьСубконто(2);
     Пока БИ.ПолучитьСубконто(2) = 1 Цикл
    БИ.ВыбратьСубконто(3);
    Пока БИ.ПолучитьСубконто(3) = 1 Цикл
...

В 3-ю выборку попадает и партия от 31.05.17, почему? Ведь по ней нет остатков на 15.05.17. В ОСВ все показывает правильно. Тестирование и исправление ничего не дало.
1 botman4
 
17.05.18
10:46
БИ.ВыполнитьЗапрос(ДатаОтчета,ДатаОтчета, "41",,,,, "К");
2 Chesnok
 
17.05.18
10:50
Уже делал, то-же самое. Из ЖК: "<КонецПериода> Необязательный параметр. Выражение типа дата, документ или позиция документа конца периода запроса. Если этот параметр не указан, будут вычисляться начальные сальдо на момент, указанный в параметре <НачалоПериода>"
3 GreyAngel
 
17.05.18
12:05
(2) В ЖК надо читать не только то, что тебе интересно. :)

<ТипИтогов> - число - тип отбираемых итогов. Может принимать следующие значения: 1 - остатки и обороты по счету в целом; 2 - обороты между счетами; 3 - первое и второе вместе. По умолчанию: 1.

Остатки на начало нулевые, но кроме них в твой запрос попадают обороты партий.
4 Chesnok
 
17.05.18
12:20
(3) 1. Как Вы понимаете фразу "Если этот параметр не указан, будут вычисляться начальные сальдо на момент, указанный в параметре <НачалоПериода>"? Я понимаю так, что в этом случае будут только остатки на <НачалоПериода>.
2. Читайте не только то, что Вам интересно, а перечитайте (1) и (2).
5 Ёпрст
 
17.05.18
12:22
(4) ну и ? Сальдо на начало, + оборот с даты начала и до упора. В твой оборот попадает партия от 31.05.17
6 Chesnok
 
17.05.18
12:33
(5) Вы тоже не читатель, а писатель?
(2): БИ.ВыполнитьЗапрос(ДатаОтчета,ДатаОтчета, "41",,,,, "К"); (напомню, что в (0) ДатаОтчета=15.05.17).
(3): Уже делал, то-же самое.
7 Chesnok
 
17.05.18
12:35
(6) Перепутал: (2) это (1), (3) это (2).
8 Карст
 
17.05.18
12:44
Субконто и дата конкретной операции РАЗНЫЕ по сути вещи
и какой там датой партия абсолютно пофиг
9 Chesnok
 
17.05.18
12:54
(8) В остатке на 15.05.17 только субконто "11.04.17", почему в запрос попадает субконто "31.05.17", которое возникло только в операции от 31.05.17?
10 Chesnok
 
17.05.18
13:15
(5) И про методологию: Вы уверены, что в запрос вида БИ.ВыполнитьЗапрос(НачалоПериода,, "41",,,,, "К") должны попасть все обороты от НачалоПериода? Исходя из своего опыта и документации, должны попадать только остатки на НачалоПериода.
11 Попытка1С
 
17.05.18
13:32
Если нужны только остатки то как в (1) делать не надо, иначе 1с еще и обороты этого дня посчитает, это просто замедлит получение бух итогов
12 Попытка1С
 
17.05.18
13:34
А если так

БИ.ВыполнитьЗапрос(,ДатаОтчета, "41",,,,, "К");

и в дату отчета запихнуть предыдущий день, что-то измениться?
13 Chesnok
 
17.05.18
14:06
(12) Пробовал, ничего не меняется. И что характерно, что  за другие даты (например этого года) запрос работает корректно в таких-же случаях нескольких приходов одного товара.
14 Ёпрст
 
17.05.18
14:11
(10) я клюшки не открывал лет 5, что я вам, все константы помнить должен ?
:)
15 Ёпрст
 
17.05.18
14:12
(13) если считаешь, что косяк в бухитогах, то прибей 2 таблички с итогами и сделай полный пересчет бух итогов.
16 Chesnok
 
17.05.18
14:13
(15) Полный пересчет делал, только файлы не удалял.
17 MadDAD
 
17.05.18
14:14
Как показывает статистика - чудес не бывает.
если бух. запрос говорит что есть остаток, значит должно быть движение. 101% - косяк в данных, обычно выясняется, что бухгалтер сделала бухсправку для исправления чего-то еще.

Раз не показывает ОСВ, значит какие-то условия мешают. Например отбор по фирме. Надо сделать по фирме и с пустой фирмой.

Надо сделать анализ субконто и посмотреть движения.
18 MadDAD
 
17.05.18
14:18
(17) + Еще не стоит пользоваться символьными ключами типа "К" в бух. запросах. Иногда странные результаты. Лучшу использовать числовые
19 Chesnok
 
17.05.18
14:20
(17) Про чудеса полностью согласен. Разделения по фирмам нет, в карточке счета (которая показывает каждую проводку) до 31.05.17 тоже нет субконто "31.05.17".
20 Ёпрст
 
17.05.18
14:22
(16) нужно удалить
21 MadDAD
 
17.05.18
14:23
(19) А анализ субконто что показывает?
22 Chesnok
 
17.05.18
14:23
(18) Поставил "4", то-же самое.
23 Chesnok
 
17.05.18
14:26
(21) В анализе субконто с 01.05 по 15.05 только партия "11.04.17".
24 Chesnok
 
17.05.18
14:28
(20) 1SBKTTL и 1SBKTTLC?
25 Chesnok
 
17.05.18
15:00
Удалил, пересчитал итоги, ничего не изменилось.
Проблема-то давно решена проверкой:
БИ.ВыбратьСубконто(3);
Пока БИ.ПолучитьСубконто(3) = 1 Цикл
   Если БИ.СНД("К") = 0 Тогда
    Продолжить;
   КонецЕсли;
...

но хотелось бы понять, в чем дело.
26 Ёпрст
 
17.05.18
15:16
(24) да
27 Карст
 
17.05.18
15:31
(даже несмишно) )))
28 Карст
 
17.05.18
15:32
ты можешь "провалиться"  до этой операции ?
29 Масянька
 
17.05.18
15:35
(0) Что есть "партия", которая попадает в субконто? Если это док-т - рой (поиск ссылок) по этому док-ту.
У меня, лично, можно и в 15, и в 1 запихнуть партию, которая пришла 31.
30 Chesnok
 
17.05.18
15:53
(28) Не понял.
31 Chesnok
 
17.05.18
15:53
(29) Элемент справочника "Партии".
32 Chesnok
 
17.05.18
15:56
Починен справочнику "Номенклатура"
33 Chesnok
 
17.05.18
15:56
ПоДчинен
34 Chesnok
 
17.05.18
15:59
(27) Самому грустно, рушатся основы бытия, может залить известным напитком и забыть?
35 Chesnok
 
17.05.18
16:02
(29) Все ссылки на данную партию от 31.05 и позже.
36 Масянька
 
17.05.18
16:05
(35) Точно-точно? Нет ручных проводок, бух. справок?
37 Масянька
 
17.05.18
16:06
+ (36) В партии (справочник) есть приходный док-т?
38 Chesnok
 
17.05.18
16:16
(36) Моя кошка, Ваша тезка, подтвердит, во всех стандартных отчетах, в т.ч. по проводкам, до 31.05 не фигурирует партия от 31.05.
39 Chesnok
 
17.05.18
16:17
(37) Есть, и что это дает?