|
Запрос в КД по 7ке | ☑ | ||
---|---|---|---|---|
0
ejiki
22.09.14
✎
10:20
|
Не пойму что не так передаю в параметре. Передаю параметрами Дату и МПЗ, С датой работало все прекрасно. Вот с МПЗ что-то не так. Передаю ссылку на элемент справочника. В 7ке дуб дубом. Может кто подскажет где я накосячил?
В результате естественно не ныряет в цикл по группировкам. На что следует обратить внимание? Параметр ТекМПЗ я получаю запросом ранее. |
|||
1
ДенисЧ
22.09.14
✎
10:21
|
На предыдущий запрос обрати внимание...
|
|||
2
ejiki
22.09.14
✎
10:22
|
(1) Поясни? Типы одинаковые у элемнта из 1го запроса и у текущего
|
|||
3
ejiki
22.09.14
✎
10:23
|
К тому же в Сообщить() выдает все правильно.
|
|||
4
ejiki
22.09.14
✎
10:29
|
Выручайте, есть идеи хоть какие-то?!?!
|
|||
5
GreyK
22.09.14
✎
10:41
|
(4) Расчитай Регистр.МестаХранения на ДатаОстатков и получай из него сводныйостаток. Запросы в цикле замучаешься ждать.
По запросу один вопрос: Почему у тебя условие "Если Запрос.МПЗ.Вид() = "Материалы" Тогда Если Запрос.МПЗ.СубСчет<>СчетУчета Тогда" проверяется до запроса!? Зачем выполнять запрос, если ты и до него можешь проверить эти параметры? Почему просто не выгрузить из ТаблицаМПЗПоПартиям все МПЗ в список, проверить список на соответствие отбору, а потом сделать один запрос по всем отобранным МПЗ? |
|||
6
ДенисЧ
22.09.14
✎
10:45
|
(2) покажи запрос предыдущий
|
|||
7
ejiki
22.09.14
✎
10:50
|
(6)
|
|||
8
ejiki
22.09.14
✎
10:51
|
(5) Если бы было достаточно информации то и не заморачивался. просто в Местах хранения не ведется сумовой учет, а мне нужны остатки по скаладам и в количественном и в сумовом выражении.
|
|||
9
GreyK
22.09.14
✎
11:18
|
(8) Примерно так:
СписокМпз = создатьОбъект("СписокЗначений"); ТаблицаМПЗПоПартиям.ВыбратьСтроки(); Пока ТаблицаМПЗПоПартиям.ПолучитьСтроку()=1 Цикл Если ТаблицаМПЗПоПартиям.Номенклатура.Вид() = "Материалы" Тогда Если ТаблицаМПЗПоПартиям.Номенклатура.СубСчет = СчетУчета Тогда// Можно добавить ещё кучу условий СписокМпз.ДобавитьЗначение(ТаблицаМПЗПоПартиям.Номенклатура); КонецЕсли; КонецЕсли; КонецЦикла; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаОстатков по ДатаОстатков; |МПЗ = Регистр.МестаХранения.МПЗ; |ВидМПЗ = Регистр.МестаХранения.ВидМПЗ; |МестоХранения = Регистр.МестаХранения.МестоХранения; |Количество = Регистр.Партии.Количество; |Функция КоличествоКонОст = КонОст(Количество); |Группировка МестоХранения без групп; |Группировка МПЗ без групп; |Условие(ВидМПЗ = ТекВидМПЗ); |Условие(МПЗ в СписокМпз); |";//}}ЗАПРОС Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл Если Запрос.КоличествоКонОст <= 0 Тогда Продолжить; КонецЕсли; ТСтрока = 0; ТаблицаМПЗПоПартиям.НайтиЗначение(Запрос.МПЗ,ТСтрока,"Номенклатура"); Цена = ТаблицаМПЗПоПартиям.ПолучитьЗначение(ТСтрока,"Цена"); |
|||
10
ejiki
22.09.14
✎
11:21
|
(9) Идея классная, возьму на заметку. Просто мне сейчас главное не красота. А главное собрать данные. Не могу понять почему запрос ничего не выдет и в какую сторону рыть..
|
|||
11
ejiki
22.09.14
✎
11:22
|
(9) Т.е. в цикл
Пока Запрос.Группировка(1) = 1 Цикл Пока Запрос.Группировка(2) = 1 Цикл вообще ни одной ного не заходит. Не понимаю где нагрешил я тут. |
|||
12
ejiki
22.09.14
✎
11:24
|
Кажется нашел. Сейчас проверю и отпишусь ;)
|
|||
13
ejiki
22.09.14
✎
11:35
|
Действительно. В самом первом запросе я пытался получить данные по двум регистрам. А когда изменил ход мыслей и переделал на 2а запроса то первый из первого не удалил запись по другому регистру. Теперь все работает и выводит как надо) единственное что не удобно так это то что Запрос в Запросе)) ну да ладно. Мб позже разберусь как делать запрос сразу по двум регистрам.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |