Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Запрос по регистрам. v7.Предприниматель (http://forums.kuban.ru/f1040/zapros_po_registram_v7_predprinimatel--6071125.html)

Lisonia 08.09.2014 15:32

Запрос по регистрам. v7.Предприниматель
 
Всем добрый день.
Подскажите, где ошибка в запросе? Проверяю по встроенному отчету ДвижениеДокумента.

Исходные - док.Реализации и Номенклатура. Цель - найти док.Поступления.

Если делать :
Рег = СоздатьОбъект("Регистр.РасчетыСПокупателями") ;
Если Рег.ВыбратьДвиженияДокумента(ДокВыбр) = 1 Тогда
Пока Рег.ПолучитьДвижение() = 1 Цикл
-----------
Показывает все док. движения . А если делаю Запрос - то в некоторых документах Запрос пустой.
------------
ТекстЗапроса="
|ОбрабатыватьДокументы Все;
|ДокПоступления = Регистр.РасчетыСПокупателями.ДокументПоступления;
|ДокРеализации = Регистр.РасчетыСПокупателями.РасчДокумент;
|РеализНоменкл = Регистр.РасчетыСПокупателями.Номенклатура;
|РеализКоличество = Регистр.РасчетыСПокупателями.Количество;

|Группировка ДокПоступления;

|Функция ВсегоКолВо = КонОст(РеализКоличество);

|Условие(РеализНоменкл = Номенклатура);
|Условие(ДокРеализации = ДокВыбр);

|";

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
Пока Запрос.Группировка(1)=1 Цикл
КонецЦикла

Sasha 08.09.2014 16:19

Логичнее вместо коност всетаки расход А чем выборка не устраивает она имхо пошутрее будет при наличии соответствующих фильтров

Lisonia 08.09.2014 16:31

Ну просто хотела понять. По-сути, Запрос - это тоже будет движение документа. А не видит....
Кстати, Расход =0

Чучундер 08.09.2014 19:59

> А если делаю Запрос - то в некоторых документах Запрос пустой
.
возможно товар оприходован другим путем.. например оприходование тмц -

Lisonia 09.09.2014 09:23

Путь товара :
1. Поступлением ТМЦ
2. Разделка
3. Реализация.
------------
В док. есть "Действия" - движение документа. Так вот там в док.Поступления указан док. Разделка:
[url]http://s020.radikal.ru/i704/1409/df/d3e4bffdc05b.jpg[/url]

Если выбираю движения по регистру, указывая конкретный док. Реализации, то я получаю док. разделка (п.2)
-А если по запросу выбора из того же регистра, тоже указывая док, то у меня пустой запрос.

Или может быть кто-то подскажет, как можно
(3) док. оприходование ТМЦ в Предпринимателе нет.

Lisonia 09.09.2014 09:25

[URL=http://radikal.ru/fp/5aad97c6a26b4e94881a290696c21f74][IMG]http://s020.radikal.ru/i704/1409/df/d3e4bffdc05b.jpg[/IMG][/URL]

USSR 09.09.2014 14:41

Давно не смотрел предпринимателя, но по моему дело в том, что движения Вы выбираете у конкретного документа реализации, а в запросе условие РасчДокумент = ДокРеализация. А РасчДокумент не всегда есть документ реализация. Грубо говоря, Вам нужно выбирать в условии не РасчДокумент, а ТекущийДокумент, тот который двигал регистр

Lisonia 09.09.2014 16:12

выдержка из модуля :
Регистр.РасчетыСПокупателями.ДокументПоступления = ТаблицаСтоимости.ДокументПоступления;
Регистр.РасчетыСПокупателями.ВидМатериальногоРесурса = ТаблицаСтоимости.ВидМатериальногоРесурса;
---------
ТаблицаСтоимости.ДокументПоступления = Расходы (разделка) 0000001417 (25.08.14)
ТекущийДОкумент() = Реализация 0000031062 (03.09.14)
---------
результат :
Регистр.РасчетыСПокупателями.РасчДокумент = Реализация 0000031062 (03.09.14)
Регистр.РасчетыСПокупателями.ДокументПоступления = Расходы (разделка) 0000001417 (25.08.14)
--------
В запросе в качестве ДокВыбр указан этот док. Реализации, который в Регистре записан, как РасчДокумент. Тогда почему по запросу ничего не находится?

Lisonia 09.09.2014 16:13

сорри, чуток промахнулась при копировании.
Из модуля :
Регистр.РасчетыСПокупателями.РасчДокумент = ТекущийДокумент();
Регистр.РасчетыСПокупателями.ДокументПоступления = ТаблицаСтоимости.ДокументПоступления;

USSR 09.09.2014 17:53

Другая версия - Вы в запросе выбираете конечный остаток, а регистр по данному документу закрылся и остатка нет. Добавьте функции Приход и Расход, может что и вылезет. Я уже плохо помню язык запросов, полmзуюсь обычно только прямыми запросами.

Sasha 10.09.2014 08:03

[quote=Lisonia;36437324] Кстати, Расход =0 [/quote] Совсем не кстати:-) где период запроса с ДатаДок по ДатаДок?

Lisonia 10.09.2014 09:53

(9) ясненько... жаль, я пока не умею таким пользоваться (
(10) дату указывать не обязательно. Выбирается за весь период существования данных.

user1C 10.09.2014 10:02

(11)
"[em]дату указывать не обязательно. Выбирается за весь период существования данных[/em]"
:))
жкк читать не пробовали?

Sasha 10.09.2014 10:03

(11)в восьмерке может и да, а вот клюшки выдают данные на ТА

Lisonia 10.09.2014 10:23

Запрос.НачалоПериода() = ' . . '
Запрос.КонецПериода() = '03.09.14'

Lisonia 10.09.2014 10:55

(12) пробовали... но почему-то именно с регистрами у меня тупняк полный...
В принципе, правильнее Приход ставить.
Вообщем, методом НТ, установила что если не указывать Период, то показывает результат по КонОст.
Если указывать Период - то результат по Приходу.
--
Ну и, конечно, нифига не показывает, если док. за ТА... А тут только движение спасет....
---
Спасибо за наведение на мысль )


Текущее время: 13:31. Часовой пояс GMT +3.