Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Отсечь в запросе повторные перемещения указанной партии на тот же склад          
Vladal Подменю пользователя
сообщение 08.04.16, 12:51
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 365
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 0

Всем привет!

Производство продуктов.
Есть отчет, основанный на движениях партий товаров. Общий принцип складских перемещений таков:
1. Вначале любой помещается на промежуточный склад "Карантин".
2. Далее с этого склада товар перемещается на склад продаж.
3. Со склада продаж этот товар отгружается покупателю. Туда же он и возвращался при возвратах от покупателя.

До этого момента отчет работал нормально и показывал всё правильно.
Но затем изменили работу этой схемы, связанной с возвратами:

4. От покупателя возврат приходуется на склад "Карантин", независимо от того, с какого склада он был отправлен покупателю.
5. Комиссия проверяет этот товар и либо его уничтожают (брак, порча и т.д.) либо перемещают на склад продаж.

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

Правильно ли я понимаю, что мне надо сначала получить все перемещаемые партии со склада Карантин на Склад продаж, а потом в выборке остатков исключать эти регистраторы?
Примерно так:

выбрать Различные
    *
поместить
    ВТ_Партии
из
    РегистрНакопления.ПартииТоваров как Партии
где
    истина
    И Партии.Номенклатура = &Номенклатура
    И Партии.Серия = &Серия
    И партии.Склад = &Склад
;
выбрать
    ... выборка остатков партий
    внутреннее соединение ВТ_Партии
        по ВТ_Партии.Номенклатура = ВыборкаОстатков.номенклатура
        и ВТ_Партии.Серия = Выборкаостатков.Серия
        и ВТ_Партии.Регистратор = ВыборкаОстатков.ДокументПартии


По идее, внутреннее соединение по "ВТ_Партии.Регистратор = ВыборкаОстатков.ДокументПартии" должно отсечь все последующие перемещения?
Или надо еще по дате проверять, чтобы всегда брать более ранний документ оприходования партии?

Давайте обсудим.

Vladal Подменю пользователя
сообщение 11.04.16, 12:03
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 365
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 0

В упрощенном виде это выглядит так:

выбрать вложенныйзапрос.регистратор поместить ПервоеПеремещение
из (выбрать минимум(партии.регистратор) как регистратор
    из регистранакопления.партиитоваровнаскладах как товары
    где товары.регистратор ссылка документ.перемещениетоваров
      и товары.организация = &организация
      и товары.номенклатура =&номенклатура
      и товары.серияноменклатуры = &серия
      и ....
    ) как вложенныйзапрос
    внутреннее соединение регистрнакопления.партиитоваровнаскладах как партитоваровнаскладах
    по вложенныйзапрос.регистратор = партиитоваровнаскладах.регистратор
;


Задача решена.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 18.04.24, 13:50
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!