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

Оприходование партий по методу LIFO

Оприходование партий по методу LIFO
Я
   ac13
 
20.03.19 - 11:03
Нужно реализовать списание партий по методу FIFO (first in, first out) только наоборот. То есть оприходовать по методу LIFO (last in, first out).
Например, дано: Клеящий карандаш канцелярский - 10 шт. Нужно найти все последние партии прихода данного количества.
Помогите с запросом, я в результате получаю выборку всех партий

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

    КонецЦикла;

 
 
   sqr4
 
1 - 20.03.19 - 11:10
обороты) заменить на остатки
   sqr4
 
2 - 20.03.19 - 11:13
да и вообще бы лучше сначала посмотреть как сделать надо
https://1c.chistov.pro/2014/03/blog-post.html
   HeKrendel
 
3 - 20.03.19 - 11:26
Обратитесь к спецу по платформе
   ac13
 
4 - 20.03.19 - 11:29
(1) Мне не нужны остатки, так как я ничего не списываю. На дату проведения операции остатки по регистрам партий у меня нулевые. И я собираюсь оприходовать остатки по партиям начиная от последней, которая приходила.
   Garykom
 
5 - 20.03.19 - 11:31
А если в одном документе эта номенклатура была двумя строчками то какая раньше/позже? Которая выше или ниже?

А что если некто задним числом порядок строк поменятс
   ac13
 
6 - 20.03.19 - 11:34
(5) двумя строчками она может быть только из-за разных серий или цены. я буду использовать отбор по Номенклатуре и Серии номенклатуры, стоимость будет расчитываться средняя по документу. сейчас мне нужно понять алгоритм получения последних партий
   Garykom
 
7 - 20.03.19 - 11:36
(6) Какой еще алгоритм кроме как табличка включающая дату/время дока прихода и сортировка по ней
   azernot
 
8 - 20.03.19 - 11:44
Пока Выборка.Следующий() Цикл
        ОсталосьОприходовать = 10;
        ВыборкаПартия = Выборка.Выбрать();
        Пока ОсталосьОприходовать > 0 И ВыборкаПартия.Следующий() Цикл
            КолПриход = Мин(ВыборкаПартия.Количество, Оприходовать);
            
            НоваяСтрока = Товары.Добавить();
            НоваяСтрока.Партия = ВыборкаПартия.ДокументОприходования;
            НоваяСтрока.Количество = КолПриход;
            ОсталосьОприходовать = ОсталосьОприходовать - КолПриход;
        КонецЦикла;   
        Если ОсталосьОприходовать > 0 Тогда
            НоваяСтрока = Товары.Добавить();
            НоваяСтрока.Партия = Оппа! А что делать, если это первый приход?;
            НоваяСтрока.Количество = ОсталосьОприходовать;
        КонецЦикла;
   AlvlSpb
 
9 - 20.03.19 - 15:04
(0) Не по теме, но все же.... В курсе, что ЛИФО законом запрещена   в РФ? Это признано уклонением от уплаты налогов
   Масянька
 
10 - 20.03.19 - 15:06
(9) Присоединяюсь.
 
 Рекламное место пустует
   sqr4
 
11 - 20.03.19 - 15:24
(10) (9) да не видите он ОПРИХОДУЕТ так.
(4) ну да читаю я конечно норм и с клиентами такое бывает, а потом за голову хватаюсь.
" Нужно найти все последние партии прихода данного количества. " расшифруйте плиз
   ac13
 
12 - 20.03.19 - 15:32
(9) (10) списание партий и расчет остатков себестоимости происходит по методу ФИФО
(11) по некоторым товарам между остатками на Складах и остатками по Партиям - расхождения.
Там, где товара по партиям не хватает - делаю приход на последние партии поступления
   Масянька
 
13 - 20.03.19 - 15:34
(12) Не проще сделать инвентаризацию?
   sqr4
 
14 - 20.03.19 - 15:35
(12) последние партии поступления
Что такое последние партии и сколько их должно быть?
и да (13)
   Aleksandr N
 
15 - 20.03.19 - 15:36
(9) Запрещена только в бухучете. В управленке или оперативке делай чо хошь.
   ac13
 
16 - 20.03.19 - 15:40
(9), (15), какое отношение всё это имеет к тому, что я собираюсь сделать? И уплата налогов тут вообще при чем?
Последние партии - самые свежие по дате поступления.
   ac13
 
17 - 20.03.19 - 15:42
(13) для того, чтобы выровнять расхождения по регистрам "Товары на складах" и "Партии товаров на складах"?
   Garykom
 
18 - 20.03.19 - 15:44
(16) (17) Боюсь с вопросом который вы задали очень сомнительно что у вас это получится правильно.
   Масянька
 
19 - 20.03.19 - 15:45
(17) Конфа?
   sqr4
 
20 - 20.03.19 - 15:48
Что то мне кажется чревато все это потом проблемами, да наверно инвентаризация не даст равенства по двум регистрам, хотя я не уверен. Надо искать доки которые сделали разницу и колдовать с ними. На примере ут 11 такое бывало из за статусов документов. Ваш подход выглядит проще, но он может аукнуться нормально так)
   МимохожийОднако
 
21 - 20.03.19 - 15:59
(0) Метод LIFO  запрещён действующим законодательством.
   ac13
 
22 - 20.03.19 - 16:11
(18) а как думаете правильно?)
(19) торговля 10.3
(20) инвентаризация ничего не даст в моем случае. насчет доков которые сделали разницу, тут не в доках дело, а в том, что пользователи продавали товар в минус по складам, по сериям. Пример:
01.01.2015 - на складе нет остатка, 0 шт. продали 5 шт. На складе осталось -5 шт.
03.02.2015 поступил этот товар 10 шт. По складу стало 5 шт, по партии 10 шт.
зависло расхождение в 5 шт.
(21) вы уже третий) какое это имеет отношение к моей задаче?
   Масянька
 
23 - 20.03.19 - 16:15
(22) А почему инвентаризация ничего не даст?
   Новиков
 
24 - 20.03.19 - 16:23
А какую практическую задачу ты решаешь? Чего в итоге от твоего "оприходовать по методу LIFO" надо получить? Чтоб остатков не было отрицательных или чего?

Конечная цель этого цирка какая?
   ac13
 
25 - 20.03.19 - 16:26
(23) потому что на основании инвентаризации приходуются недостачи и списываются излишки по регистрам "Товары на складах", но у меня в этом регистре всё четко и остатки регистра соответствуют факту. Каким образом инвентаризация мне поможет выровнять расхождения между регистрами "Товары на складах" и "Партии товаров на складах"?

(24) у меня сейчас так
Клей карандаш - на складе 5 шт., по партии 3 шт.
Текстовыделитель желтый - на складе 1 шт., по партии 4 шт.

надо чтобы стало
Клей карандаш - на складе 5 шт., по партии 5 шт.
Текстовыделитель желтый - на складе 1 шт., по партии 1 шт.
   Масянька
 
26 - 20.03.19 - 17:19
   ac13
 
27 - 20.03.19 - 19:07
(26) и? не понимаю к чему эта картинка. каким образом мне это поможет выровнять остатки?

У меня есть 5 шт. товара "Клей карандаш", по факту "Клея карандаша" так же 5 шт. По партиям числится только 3 шт.
Что мне пересчитывать? Ну например, оприходую я 2 шт. На складах у меня станет 7 шт., по партиям 5 шт. - та же разница в 2 шт. и останется, так еще и фактические остатки будут несовпадать.
   FIXXXL
 
28 - 21.03.19 - 08:42
(22) а товар какой отдал кладовщик?
   ac13
 
29 - 21.03.19 - 09:43
(28) кладовщик отдал тот товар, который у него лежал. по правилам учета отдал тот товар, который поступил раньше остальных
   FIXXXL
 
30 - 21.03.19 - 11:31
(29) ну то есть остаток по факту был, регистры "разъезжаются" по сериям?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует