Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 12:25

Вопрос по списыванию остатков

Автор kip32, 09 авг 2016, 18:43

0 Пользователей и 1 гость просматривают эту тему.

kip32

Здравствуйте уважаемые форумчане.

Имеется конфигурация. Делаю документы по учету оборудования (поступление, списание, перемещение). Поступление может прийти по заявке или нет. Списание делается только по заявке. Перемещение может быть по заявке или нет. Как отработать такую ситуация что если на складе есть остатки которые не привязаны к заказам, по проведению документа нужно списать под задачу этот остаток. Проще говоря. На складе лежат запасы если не было поступлений под задачу то списываем запасы. Как то так :dfbbdrfb:

Запрос.Текст = "ВЫБРАТЬ
               | новСписаниеОборудования.Оборудование,
               | СУММА(новСписаниеОборудования.Количество) КАК Количество,
               | новСписаниеОборудования.Заявка,
               | новСписаниеОборудования.Склад
               |ПОМЕСТИТЬ ДокТЧ
               |ИЗ
               | Документ.новСписаниеОборудования.Оборудование КАК новСписаниеОборудования
               |ГДЕ
               | новСписаниеОборудования.Ссылка = &Ссылка
               |
               |СГРУППИРОВАТЬ ПО
               | новСписаниеОборудования.Оборудование,
               | новСписаниеОборудования.Заявка,
               | новСписаниеОборудования.Склад
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               | ДокТЧ.Оборудование,
               | ДокТЧ.Количество,
               | ДокТЧ.Заявка,
               | ЕСТЬNULL(новОстаткиОборудованияОстатки.КоличествоОстаток, 0) КАК Остаток,
               | ДокТЧ.Склад
               |ИЗ
               | ДокТЧ КАК ДокТЧ
               | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.новОстаткиОборудования.Остатки(
               | ,
               | (Оборудование, Склад) В
               | (ВЫБРАТЬ
               | ДокТЧ.Оборудование,
               | ДокТЧ.Склад
               | ИЗ
               | ДокТЧ КАК ДокТЧ)) КАК новОстаткиОборудованияОстатки
               | ПО ДокТЧ.Заявка = новОстаткиОборудованияОстатки.Заявка";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();


Вот запрос. Если что сильно не пинайте. Учусь.

cska-fanat-kz

1) в регистр остатков добавить дополнительное измерение Заказ.
заполняется поступлением (добавляем реквизит "Заказ").
и плюс еще есть остатки с пустым заказом.
при списании сперва смотрим на остатки по конкретному заказу и если не хватает,
смотрим на остатки по пустому заказу.

2) параллельный основному регистру остатков добавляем регистр ОстаткиПоЗаказам - там сидят остатки по конкретным заказам.
при списании сперва смотрим на ОстаткиПоЗаказам, затем на основной регистр.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

kip32

Цитата: cska-fanat-kz от 10 авг 2016, 06:12
1) в регистр остатков добавить дополнительное измерение Заказ.
заполняется поступлением (добавляем реквизит "Заказ").
и плюс еще есть остатки с пустым заказом.
при списании сперва смотрим на остатки по конкретному заказу и если не хватает,
смотрим на остатки по пустому заказу.

не подскажите а как это в запросе будет выглядеть?

ilnur75

Цитата: kip32 от 10 авг 2016, 09:26не подскажите а как это в запросе будет выглядеть?
запрос надо будет еще дополнять!

но сначала надо продумать процесс сборки алгоритма проведения документа и начинать надо с конструктора движений, потом уже построение плана запроса на бумаге и т.д.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск