• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Списание товаров по ФИФО

  • Автор темы MadHead
  • Дата начала
M

MadHead

Платформа 8.0
Приходная накладная движется по регистру Склад у которого есть реквизит партия (Ссылка на документ "приходная накладная"). Как мне списывать товар при продаже и как выберать цену в документе "расходная накладная"? Нужно организовать списание по ФИФО. Заранее благодарен за советы.
 
D

dryu83

Пиши запрос по остаткам регистра Склад с условием - нужная номенклатура. Результаты упорядочить по возрастанию по реквизиту Партия. Из результата списывай сначала первую строку, если количества в ней не достаточно, то списывай следующие, пока не спишется нужное число.
 
M

MadHead

Получается, что по реквизиту партия регистр будет разростаться только во одну сторону? Или партию, в которой не осталось товара, как-то можно удалить?
 
D

dryu83

Получается, что по реквизиту партия регистр будет разростаться только во одну сторону? Или партию, в которой не осталось товара, как-то можно удалить?

У регистра накоплений ресурсом может быть только число, Партия может быть только измерением.
 
V

vitfil

Для: dryu83
А кто сказал, что понятие "Партия" не может быть выражено численно? Например, уникальным штрихкодом, приведенным к численному значению.
 
D

dryu83

Платформа 8.0
Приходная накладная движется по регистру Склад у которого есть реквизит партия (Ссылка на документ "приходная накладная"). Как мне списывать товар при продаже и как выберать цену в документе "расходная накладная"? Нужно организовать списание по ФИФО. Заранее благодарен за советы.

Конечно можно как угодно извернуться и напихать в регистр немеряно чудных ресурсов, только в условии было ясно написано "ссылка на документ "приходная накладная".
 
T

tanat

запрос составлять придется 100%, вам нужно будет получать данные о документе-регистраторе, который и будет вписываться в реквизит или измерение(там где партия содержится) партия. Я бы использовал в партию в качестве измерения.А списание по фифо - использовать группировку по убыванию( таким образом и будет выполняться списание по фифе)). при обработке результата запроса - использовать обход по группировкам.Все это делать в обработке проведения расходной.
 
D

dryu83

запрос составлять придется 100%, вам нужно будет получать данные о документе-регистраторе, который и будет вписываться в реквизит или измерение(там где партия содержится) партия. Я бы использовал в партию в качестве измерения.А списание по фифо - использовать группировку по убыванию( таким образом и будет выполняться списание по фифе)). при обработке результата запроса - использовать обход по группировкам.Все это делать в обработке проведения расходной.

Группировка в этом запросе не нужна совершенно (тем более что группировок по убыванию или возрастанию нет), а вот упорядочить нужно именно по возрастанию, так как первой строкой в результате запроса должна идти самая ранняя приходная накладная (первый пришел - первый ушел).
 
M

MadHead

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!