|
Запрос на подчиненный документ. | ☑ | ||
---|---|---|---|---|
0
antihacker
26.03.16
✎
14:23
|
Всем привет ! Есть документ заказ покупателя.
От туда вытаскиваю количество номенклатур ЗапросНомВЗаказе=Новый Запрос; ЗапросНомВЗаказе.Текст=" |ВЫБРАТЬ |СУММА(Номенклатуры.Количество) КАК СуммаКоличествоНоменклатуры |ИЗ |Документ.ЗаказПокупателя.Товары КАК Номенклатуры |ГДЕ | Номенклатуры.Ссылка.ПРОВЕДЕН=ИСТИНА И Номенклатуры.Ссылка.СкладГруппа=&Склад И Номенклатуры.Номенклатура=&Номенклатура И Номенклатуры.Ссылка.Дата>=&ДатаНачало И Номенклатуры.Ссылка.Дата<=&ДатаКонца | СГРУППИРОВАТЬ ПО Номенклатура"; ЗапросНомВЗаказе.УстановитьПараметр("Номенклатура",вхНоменклатура); ЗапросНомВЗаказе.УстановитьПараметр("Склад",вхСклад); ЗапросНомВЗаказе.УстановитьПараметр("ДатаНачало",НачалоДня(ТекущаяДата())); ЗапросНомВЗаказе.УстановитьПараметр("ДатаКонца",КонецДня(ТекущаяДата())); Рез=ЗапросНомВЗаказе.Выполнить().Выбрать(); Пока Рез.Следующий() Цикл сообщить(Рез.СуммаКоличествоНоменклатуры); КонецЦикла; Но как здесь переделать запрос, что бы он брал те заказы на которых нет реализации ? |
|||
1
Aleksandr N
26.03.16
✎
14:26
|
(0) В смысле? Что здесь есть реализация?
|
|||
2
antihacker
26.03.16
✎
14:28
|
Ну на основание заказа создают реализация товаров. Это и есть.
|
|||
3
antihacker
26.03.16
✎
14:35
|
Ну хотя бы заказы вообще без подчиненных документов...
|
|||
4
ДенисЧ
26.03.16
✎
14:35
|
левое соединение реализация
по реализация.Заказ = номенклатуры.ссылка где реализация есть NULL |
|||
5
antihacker
26.03.16
✎
14:40
|
Левое соединение ?
ЗапросНомВЗаказе.Текст=" |ВЫБРАТЬ |СУММА(Номенклатуры.Количество) КАК СуммаКоличествоНоменклатуры |ИЗ |Документ.ЗаказПокупателя.Товары КАК Номенклатуры |ГДЕ | Номенклатуры.Ссылка.ПРОВЕДЕН=ИСТИНА И Номенклатуры.Ссылка.СкладГруппа=&Склад И Номенклатуры.Номенклатура=&Номенклатура И Номенклатуры.Ссылка.Дата>=&ДатаНачало И Номенклатуры.Ссылка.Дата<=&ДатаКонца ИЗ (Номенклатуры.РеализацияТоваровИУслуг КАК РеализацияТоваровИУслуг Левое соединение Документ.РеализацияТоваровИУслуг как РеализацияТоваровИУслуг ЕСТЬ NULL) | СГРУППИРОВАТЬ ПО Номенклатура"; |
|||
6
antihacker
26.03.16
✎
14:40
|
Не работает
|
|||
7
ДенисЧ
26.03.16
✎
14:41
|
(6) Радуйся, что 1с не может вылезти из экрана и набить тебе морду за такой запрос...
|
|||
8
antihacker
26.03.16
✎
14:43
|
а как ))) Не делал левое соединение на подчиненного
|
|||
9
antihacker
26.03.16
✎
14:43
|
никогда
|
|||
10
RomanYS
26.03.16
✎
14:44
|
(0) есть регистр заказы покупателей. Остатки по нему - то, что ещё не отгрузили.
|
|||
11
antihacker
26.03.16
✎
14:48
|
Это где тип регистратор должен быть заказ ?
Как в запросе указать тип документа ? |
|||
12
RomanYS
26.03.16
✎
14:52
|
(11) если ты про (10), то там есть измерение "Заказ". Убери руки от конфигуратора, возьми отчет по заказам - там всё есть. В крайнем случае универсальный отчет по регистру.
|
|||
13
antihacker
26.03.16
✎
15:05
|
Делаю вот так
ЗапросНомВЗаказе=Новый Запрос; ЗапросНомВЗаказе.Текст= "ВЫБРАТЬ | ТоварыНаЗаказах.Номенклатура КАК Номенклатура , | ТоварыНаЗаказах.КоличествоОстаток КАК КоличествоОстаток //| ТоварыНаЗаказах.Склад КАК Склад |ИЗ |РегистрНакопления.ЗаказыПокупателей.Остатки( | &ДатаКонца, //| Склад В (&выбСписСклады) | ) КАК ТоварыНаЗаказах | ГДЕ ТоварыНаЗаказах.ЗаказПокупателя.СкладГруппа = &выбСписСклады И ТоварыНаЗаказах.Номенклатура = &СписокНоменклатурТЗ И ТоварыНаЗаказах.ЗаказПокупателя.Дата>=&ДатаНачало И ТоварыНаЗаказах.ЗаказПокупателя.Дата<=&ДатаКонца"; ЗапросНомВЗаказе.УстановитьПараметр("СписокНоменклатурТЗ",вхНоменклатура); ЗапросНомВЗаказе.УстановитьПараметр("выбСписСклады",вхСклад); ЗапросНомВЗаказе.УстановитьПараметр("ДатаНачало",НачалоДня(ТекущаяДата())); ЗапросНомВЗаказе.УстановитьПараметр("ДатаКонца",КонецДня(ТекущаяДата())); Рез=ЗапросНомВЗаказе.Выполнить().Выбрать(); Пока Рез.Следующий() Цикл сообщить(Рез.КоличествоОстаток); КонецЦикла; Запрос пустой |
|||
14
ДенисЧ
26.03.16
✎
15:11
|
ТоварыНаЗаказах.Номенклатура = &СписокНоменклатурТЗ
??? |
|||
15
antihacker
26.03.16
✎
15:17
|
RomanYS, что значит остатки по нему ? Это количество не отгруженных товаров ?
|
|||
16
RomanYS
26.03.16
✎
15:19
|
(14) я не удивлюсь, если в параметрах наименования через запятую.
(13) в (12) абсолютно серьезное предложение - результат будет точно лучше (15) да заказано, но не отгружено |
|||
17
antihacker
26.03.16
✎
15:23
|
Но почему то возвраты по товарам зависают в остатке не загруженных. Почему ?
|
|||
18
RomanYS
26.03.16
✎
15:28
|
(17) потому что обязательства(отгрузить товар) по заказу не выполнено. Корректируй заказ, если не планируешь доотгружать возвращенное.
|
|||
19
antihacker
26.03.16
✎
15:31
|
корректировать заказ ? Что означает ? Ведь нам потом нужно будет знать сколько заказно а сколько вернули
|
|||
20
RomanYS
26.03.16
✎
15:38
|
(19) блин посмотри на движения по регистру, включи голову.
Приход - заказано, расход - отгружено, приход с минусом - уменьшение(корректировка) заказа, расход с минусом - возврат. Обороты можно анализировать по типу регистратора, виду операции, ещё чему-то (я даже не знаю какая у тебя конфа). |
|||
21
antihacker
26.03.16
✎
15:45
|
Нет все так и давайте вернемся на вопрос -"Но как здесь переделать запрос, что бы он брал те заказы на которых нет реализации " ?
А ? |
|||
22
RomanYS
26.03.16
✎
15:49
|
где НЕ Заказы.Ссылка в
(Выбрать различные Док.Сделка из Документы.Реализация) либо (4) |
|||
23
antihacker
02.04.16
✎
13:43
|
RomanYS , что означает Док.Сделка ?
|
|||
24
antihacker
02.04.16
✎
13:52
|
Делаю так
ЗапросНомВЗаказе.Текст=" |ВЫБРАТЬ |СУММА(Номенклатуры.Количество) КАК СуммаКоличествоНоменклатуры |ИЗ |Документ.ЗаказПокупателя.Товары КАК Номенклатуры |ГДЕ |НЕ Номенклатуры.Ссылка В (Выбрать Различные Документ.Сделка из Документ.РеализацияТоваровУслуг) И |Номенклатуры.Ссылка.ПРОВЕДЕН=ИСТИНА И Номенклатуры.Ссылка.СкладГруппа=&Склад И Номенклатуры.Номенклатура=&Номенклатура И Номенклатуры.Ссылка.Дата>=&ДатаНачало И Номенклатуры.Ссылка.Дата<=&ДатаКонца | СГРУППИРОВАТЬ ПО Номенклатура"; Ругаеться Поле не найдено "Документ.Сделка" НЕ Номенклатуры.Ссылка В (Выбрать Различные <<?>>Документ.Сделка из Документ.РеализацияТоваровУслуг) И |
|||
25
RomanYS
02.04.16
✎
13:55
|
(23) В УТ10, УПП и КА1 так в реализации называется ссылка на заказ.
|
|||
26
RomanYS
02.04.16
✎
13:57
|
..(Выбрать Различные Док.Сделка<ИлиКакУТебяНазываетсяСсылкаНаЗаказ> из Документ.РеализацияТоваровУслуг КАК Док)
|
|||
27
antihacker
02.04.16
✎
14:06
|
Теперь нет ошибки и результата тоже не дает.
ЗапросНомВЗаказе.Текст=" |ВЫБРАТЬ |СУММА(Номенклатуры.Количество) КАК СуммаКоличествоНоменклатуры |ИЗ |Документ.ЗаказПокупателя.Товары КАК Номенклатуры |ГДЕ |НЕ Номенклатуры.Ссылка В (Выбрать Различные РТ.Сделка.ЗаказПокупателя ИЗ Документ.РеализацияТоваровУслуг КАК РТ) И |Номенклатуры.Ссылка.ПРОВЕДЕН=ИСТИНА И Номенклатуры.Ссылка.СкладГруппа=&Склад И Номенклатуры.Номенклатура=&Номенклатура И Номенклатуры.Ссылка.Дата>=&ДатаНачало И Номенклатуры.Ссылка.Дата<=&ДатаКонца | СГРУППИРОВАТЬ ПО Номенклатура"; |
|||
28
RomanYS
02.04.16
✎
14:19
|
(27) не тупи. Я не знаю какая у тебя конфигурация и каким полем у тебя реализация связана с заказом.
Помотри в консоли результат Выбрать Различные РТ.Сделка ИЗ Документ.РеализацияТоваровУслуг КАК РТ и по Выбрать Различные РТ.Сделка.ЗаказПокупателя ИЗ Документ.РеализацияТоваровУслуг КАК РТ РТ.Сделка.ЗаказПокупателя - это вообще что? я конечно могу предположить, что реализация может быть связана с заказом через промежуточный счет. Но вряд ли это твой случай. |
|||
29
antihacker
02.04.16
✎
14:21
|
Ну ты же сам писал
|
|||
30
antihacker
02.04.16
✎
14:21
|
Различные Док.Сделка<ИлиКакУТебяНазываетсяСсылкаНаЗаказ>
|
|||
31
antihacker
02.04.16
✎
14:21
|
вместо ИлиКакУТебяНазываетсяСсылкаНаЗаказ у меня ЗаказПокупателя
|
|||
32
RomanYS
02.04.16
✎
14:26
|
(31) это не добавка, это "или или".
"Док.Сделка" или "Док.Заказ" или "Док.ЗаказПокупателя" или "Док.ИлиКакУТебяНазываетсяСсылкаНаЗаказ".... |
|||
33
antihacker
02.04.16
✎
14:26
|
Все работает
ЗапросНомВЗаказе.Текст=" |ВЫБРАТЬ |СУММА(Номенклатуры.Количество) КАК СуммаКоличествоНоменклатуры |ИЗ |Документ.ЗаказПокупателя.Товары КАК Номенклатуры |ГДЕ |НЕ Номенклатуры.Ссылка В (Выбрать Различные РТ.Сделка ИЗ Документ.РеализацияТоваровУслуг КАК РТ) И |Номенклатуры.Ссылка.ПРОВЕДЕН=ИСТИНА И Номенклатуры.Ссылка.СкладГруппа=&Склад И Номенклатуры.Номенклатура=&Номенклатура И Номенклатуры.Ссылка.Дата>=&ДатаНачало И Номенклатуры.Ссылка.Дата<=&ДатаКонца | СГРУППИРОВАТЬ ПО Номенклатура"; |
|||
34
Живой Ископаемый
02.04.16
✎
18:13
|
это Анти-джойн, который описан в (4)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |