Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

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

↓ [Волшебник, 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
Это не помогло

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