Имя: Пароль:
1C
1С v8
Нужна помощь в СКД
🠗 (Волшебник 19.10.2017 10:44)
0 АстаховИ
 
19.10.17
10:43
Подскажите , как сделать отбор только по тем складам отправителей и получателям , что бы они выводились парами , А не все .
1 АстаховИ
 
19.10.17
10:44
Просто переброски товаров идут не через Склад Отправитель - Склад Получатель на прямую , а через промежуточный склад
2 xaozai
 
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
А найти два документа для промежуточного склада это не то , просто я сейчас обьяснить нормально не могу
8 xaozai
 
19.10.17
11:39
Тут, наверное, запрос нужно будет менять. Он сложнее будет.
Например, как-то так:
Выбрать документы, где склад-получатель - "промежуточный", из них взять склад отправитель.
Затем выбрать документы, где склад-отправитель - "промежуточный", из них взять получателя.
Соединить две выборки.

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

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

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


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

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

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