Вход | Регистрация

1С:Предприятие ::

Метки: 

Нужна помощь в СКД

↓ [Волшебник, 19.10.17 - 10:44]
Я
   АстаховИ
 
19.10.17 - 10:43
Подскажите , как сделать отбор только по тем складам отправителей и получателям , что бы они выводились парами , А не все .
 
 
   АстаховИ
 
1 - 19.10.17 - 10:44
Просто переброски товаров идут не через Склад Отправитель - Склад Получатель на прямую , а через промежуточный склад
   xaozai
 
2 - 19.10.17 - 10:50
Попробуйте еще раз вопрос сформулировать. Только не с расчетом на телепатов, а так, чтобы всем понятно было.
   АстаховИ
 
3 - 19.10.17 - 10:57
Мне была поставлена задача сделать отчет в СКД по документу Перемещение Товаров , что бы был отбор по складу отправителю и складу получателю . Но там переброски идут сначала на спец.склад для пребросок , а потом на склад получатель . И вот как мне их обьеденить в одну строку , что бы можно было сделать отбор по СкладОтправителю и СкладПолучателю . http://priscree.ru/img/c409849b4aa9d2.png
   АстаховИ
 
4 - 19.10.17 - 10:59
Извините , сейчас вообще не могу сообразить
   Сияющий в темноте
 
5 - 19.10.17 - 11:16
вам нужно найти два документа для промежуточного склада,которые описывают один и тот же товар,это отдельная сложная задача и не факт,что она решается
   АстаховИ
 
6 - 19.10.17 - 11:23
Я хотел бы сделать так что бы в отборе выставляя склад отправитель и склад получатель выдавало две позиции перемещения только по этим складам , которые я указал. А сейчас делается так что выскакивают все
   АстаховИ
 
7 - 19.10.17 - 11:24
А найти два документа для промежуточного склада это не то , просто я сейчас обьяснить нормально не могу
   xaozai
 
8 - 19.10.17 - 11:39
Тут, наверное, запрос нужно будет менять. Он сложнее будет.
Например, как-то так:
Выбрать документы, где склад-получатель - "промежуточный", из них взять склад отправитель.
Затем выбрать документы, где склад-отправитель - "промежуточный", из них взять получателя.
Соединить две выборки.

Что взять в качестве ссылки для группировки в отчете - либо первый либо второй документ - тут вам решать. Может, можно обойтись без группировки по ссылкам...
   АстаховИ
 
9 - 19.10.17 - 11:52
Я тоже так думал , но в запросе так описать наверное не получиться. Может как то приравнять Склад = СкладОтправитель, Склад = СкладПолучатель ?. Но как описать?
   АстаховИ
 
10 - 19.10.17 - 12:19
Можно как то обьеденить по комментарию ?
 
 Рекламное место пустует
   АстаховИ
 
11 - 19.10.17 - 12:19
объединить*
   xaozai
 
12 - 19.10.17 - 12:32
(9) Почему не получится в запросе? Получится.
   АстаховИ
 
13 - 19.10.17 - 12:35
Примерно можешь описать мой запрос сейчас такой -
ВЫБРАТЬ
    ПеремещениеТоваров.Ссылка,
    ПеремещениеТоваров.ПометкаУдаления,
    ПеремещениеТоваров.Номер,
    ПеремещениеТоваров.Дата,
    ПеремещениеТоваров.Проведен,
    ПеремещениеТоваров.СкладОтправитель,
    ПеремещениеТоваров.СкладПолучатель,
    ПеремещениеТоваров.Комментарий,
    ПеремещениеТоваров.Товары.(
        Количество
    ),
    ПеремещениеТоваров.СуммаДокумента
ИЗ
    Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
ГДЕ
    ПеремещениеТоваров.Дата >= ВЫБОР
            КОГДА &ДатаНачала = НЕОПРЕДЕЛЕНО
                ТОГДА ДАТАВРЕМЯ(1, 1, 1)
            ИНАЧЕ &ДатаНачала
        КОНЕЦ
    И ПеремещениеТоваров.Дата <= ВЫБОР
            КОГДА &ДатаОкончания = НЕОПРЕДЕЛЕНО
                    ИЛИ &ДатаОкончания = ДАТАВРЕМЯ(1, 1, 1)
                ТОГДА ДАТАВРЕМЯ(3999, 12, 31)
            ИНАЧЕ &ДатаОкончания
        КОНЕЦ

И склад для перебросок это не промежуточный склад , это просто склад через который делают переброску
Я просто новичок в этой сфере .
   xaozai
 
14 - 19.10.17 - 12:48
_Примерно_, это как-то так могло бы быть:

ВЫБРАТЬ Номенклатура, СУММА(Количество), Ссылка.Комментарий, Ссылка.СкладОтправитель, Ссылка.СкладПолучатель ПОМЕСТИТЬ Отправители
ИЗ Документ.ПеремещениеТоваров.Товары
ГДЕ Ссылка.СкладПолучатель = &Промежуточный
СГРУППИРОВАТЬ ПО Номенклатура, Ссылка.Комментарий, Ссылка.СкладОтправитель, Ссылка.СкладПолучатель;
ВЫБРАТЬ Номенклатура, СУММА(Количество), Ссылка.Комментарий, Ссылка.СкладПолучатель, Ссылка.СкладОтправитель ПОМЕСТИТЬ Отправители
ИЗ Документ.ПеремещениеТоваров.Товары
ГДЕ Ссылка.СкладОтправитель = &Промежуточный;
СГРУППИРОВАТЬ ПО Номенклатура, Ссылка.Комментарий, Ссылка.СкладПолучатель, Ссылка.СкладОтправитель;
ВЫБРАТЬ Отправители.СкладОтправитель, Получатели.СкладПолучатель, Отправители.Количество, Отправители.Комментарий ИЗ Отправители
ЛЕВОЕ СОЕДИНЕНИЕ Получатели ПО Отправители.Номенклатура = Получатели.Номенклатура И Отправители.Комментарий = Получатели.Комментарий И Отправители.СкладПолучатель = Получатели.СкладОтправитель


(это не готовый запрос из конструктора, прямо здесь написал, _примерно_)
   xaozai
 
15 - 19.10.17 - 12:50
(14) Поправка во второй запрос:  ПОМЕСТИТЬ Получатели
   xaozai
 
16 - 19.10.17 - 12:52
Если промежуточных несколько можно временную таблицу с ними завести и левое соединение делать в первых двух запросах, чтобы отобрать нужное. Ну, или массив их передавать...
   АстаховИ
 
17 - 19.10.17 - 13:23
Сделал такой запрос . Не работает 
ВЫБРАТЬ
    ПеремещениеТоваров.Ссылка,
    ПеремещениеТоваров.СкладОтправитель,
    ПеремещениеТоваров.СкладПолучатель,
    ПеремещениеТоваров.Комментарий,
    ПеремещениеТоваров.СуммаДокумента
    Поместить Отправители 
ИЗ
    Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
    ГДЕ СкладПолучатель = &Промежуточный; 
    ВЫБРАТЬ
    ПеремещениеТоваров.Ссылка,
    ПеремещениеТоваров.СкладОтправитель,
    ПеремещениеТоваров.СкладПолучатель,
    ПеремещениеТоваров.Комментарий,
    ПеремещениеТоваров.СуммаДокумента
    Поместить Получатели
ИЗ
    Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
    ГДЕ СкладОтправитель = &Промежуточный;
ВЫБРАТЬ Отправители.СкладОтправитель, Получатели.СкладПолучатель, Отправители.Ссылка, Отправители.Комментарий ИЗ Отправители
ЛЕВОЕ СОЕДИНЕНИЕ Получатели ПО Отправители.СуммаДокумента = Получатели.СуммаДокумента И Отправители.Ссылка = Получатели.Ссылка И Отправители.СкладПолучатель = Получатели.СкладОтправитель
   xaozai
 
18 - 19.10.17 - 13:34
(17) Ну, а как оно должно работать? Ссылки-то разные.
Отправители.Ссылка = Получатели.Ссылка
Документами разными это делается. Это условие не будет выполняться, его убрать нужно.
   xaozai
 
19 - 19.10.17 - 13:48
Плюсом ко всему: если у вас эти перемещения обработкой какой-то формируются, автоматически, то можно еще добавить регистр сведений, в который при создании такого перемещения с промежуточным складом будут писаться пары этих документов-перемещений (на промежуточный, с промежуточного).

Тогда соединение в запросе можно будет делать по соответствиям этих ссылок из регистра... И в этом случае гарантированно не будет задвоений, если, вдруг, появятся пары документов, в которых совпадает вообще все: склады, номенклатура, даты, суммы, количества.

Если уверены, что таких случаев не может быть никогда, тогда можно оставить, как есть.
   АстаховИ
 
20 - 19.10.17 - 15:08
Это не помогло


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует