Имя: Пароль:
1C
1С v8
Неверные остатки при выгрузке
0 IDG
 
08.11.18
12:02
Добрый день, подскажите пожалуйста, в чем может быть проблема. Делаю выгрузку данных об остатках товаров на складке (в стоимостном выражении) на основании регистра накопления "Партии товаров на складах". Но при выгрузке сумма и количество товаров в 8 раз превышают то, что фактически есть на складе.
Ниже код.

Функция ПолучитьДанные()
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
         |   РегистрНакопления.Закупки.Контрагент КАК Контрагент,
         |   Сумма(РегистрНакопления.ПартииТоваровНаСкладах.Стоимость) КАК Стоимость,
         |   Сумма(РегистрНакопления.ПартииТоваровНаСкладах.Количество) КАК Количество
         |ИЗ
         |   РегистрНакопления.ПартииТоваровНаСкладах,
         |   РегистрНакопления.Закупки
         |Сгруппировать ПО
         | Контрагент";
    Результат = Запрос.Выполнить();
    ТаблицаЗначений = Результат.Выгрузить();
    возврат ТаблицаЗначений;        
КонецФункции //
1 Convert
 
08.11.18
12:06
Воспользуйся таблицей остатки
2 Zmich
 
08.11.18
12:07
(0). У тебя идет перекрестное соединение таблиц. Т.е. на 8 контрагентов 8 раз посчитаются остатки.
3 Convert
 
08.11.18
12:07
и зачем там регистр закупки?
4 IDG
 
08.11.18
12:08
(2) Понял, спасибо
5 IDG
 
08.11.18
12:09
(3) Контрагента оттуда цепляю, из справочника не хочет цепляться
6 Михаил Козлов
 
08.11.18
12:10
(5) И какое отношение этот контрагент (из закупок) имеет к остаткам в партиях?
7 Convert
 
08.11.18
12:11
(5) Ты не получишь то что хочешь
8 IDG
 
08.11.18
12:12
(6) Мне нужно сделать выгрузку только по определенному контрагенту, с этим я еще не разбирался, меня интересовала пока только сумма, превышающая фактическую
9 Михаил Козлов
 
08.11.18
12:17
(8) С какой стати не пойми какой запрос должен давать верные данные?
Отчет по партиям в системе есть? Партионный учет вообще ведется?
10 IDG
 
08.11.18
12:22
(9) Отчет есть, учет ведется. Нужна именно выгрузка по одному контрагенту, которая будет выполняться ежедневно
11 Convert
 
08.11.18
12:32
(10) Убирай закупки. Доставай контрагента из партий. И используй уже таблицу остатки.... то, что ты получаешь - к остаткам никакого отношения не имеет
12 IDG
 
08.11.18
12:33
(11) Спасибо большое
13 Михаил Козлов
 
08.11.18
12:34
(10) Поставьте фильтр в таблице остатков на ДокументОприходования.Контрагент.
Закон Брукера: Даже маленькая практика стоит большой теории.