Товары с нулевым количеством, но не с нулевой себестоимостью
Добрый день!
Пытаюсь написать функционал списания себестоимости товаров при реализации. Конфигурация самописная.
Расчет себестоимости повожу средней.
Написал запрос для определения себестоимости товара на определенный момент времени:
Получил что количество 3 шт, , себестоимость 15.91 руб.
После этого создал три расходных документов с одинаковым временем (включая секунды) и в каждом продовал по одному товару.
При проводке каждого из документов запрос показывал, что осталось 3 шт. и их себестоимость 15.91.
Списывал на каждый документ 15.91/3.
В результате получил, что осталось 0 штук, но себестоимость 0,01 руб.
Как с этим бороться????
Т.е. остаются остатки с нулевым количеством, но не нулевой себестоимостью.
Пытаюсь написать функционал списания себестоимости товаров при реализации. Конфигурация самописная.
Расчет себестоимости повожу средней.
Написал запрос для определения себестоимости товара на определенный момент времени:
ВЫБРАТЬ
ЗапасыОстатки.Номенклатура,
ЗапасыОстатки.КоличествоОстаток,
ЗапасыОстатки.СуммаОстаток
ИЗ
РегистрНакопления.Запасы.Остатки(&Период, Номенклатура = &Номенклатура) КАК ЗапасыОстатки
Получил что количество 3 шт, , себестоимость 15.91 руб.
После этого создал три расходных документов с одинаковым временем (включая секунды) и в каждом продовал по одному товару.
При проводке каждого из документов запрос показывал, что осталось 3 шт. и их себестоимость 15.91.
Списывал на каждый документ 15.91/3.
В результате получил, что осталось 0 штук, но себестоимость 0,01 руб.
Как с этим бороться????
Т.е. остаются остатки с нулевым количеством, но не нулевой себестоимостью.
По теме из базы знаний
- Отчет "Срок жизни товаров по складу" для конфигурации "Управление торговлей для Украины"
- [УТ11] Интеркампани и расчет себестоимости или создание документов передачи товаров между организациями и закрытие периода
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Нулевое количество при ненулевых суммах в регистре себестоимости
- Интеграции с маркетплейсами из одного окна: Озон, ВБ, Яндекс, Сбер, Али, ЛаМода для 1С:УНФ, УТ, КА, ERP
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Обычно это делается так: при списании товара проверяется, не всё ли списываем. Если нет - считаем по среднему. Если всё - весь остаток суммы.
Спасибо за ответы.
Я так и пробовал.
Но так как время одинаковое, во всех трех документах продажи, показывает, что осталось 3 штуки, списывается одна.
Если можно в кратце напишите, а как эту проблему решают на экзамене на спеца. Пожалуйста!
Я так и пробовал.
Если Стр.Количество = Стр.СебестКол Тогда
Себестоимость = Стр.СебестСум;
Иначе
Себестоимость = Окр(Стр.Количество*Стр.СебестСум/Стр.СебестКол, 2);
КонецЕсли;
Себестоимость = Стр.СебестСум;
Иначе
Себестоимость = Окр(Стр.Количество*Стр.СебестСум/Стр.СебестКол, 2);
КонецЕсли;
Но так как время одинаковое, во всех трех документах продажи, показывает, что осталось 3 штуки, списывается одна.
Если можно в кратце напишите, а как эту проблему решают на экзамене на спеца. Пожалуйста!
Правильно ли будет в запросе на определения себестоимости указывать на одну секунду больше, чем время документа???
Но тогда если следующую секунду было поступление товаров, то их себестоимости соединяться. Но это лучше, чем себестоимость без количества.
Но тогда если следующую секунду было поступление товаров, то их себестоимости соединяться. Но это лучше, чем себестоимость без количества.
(5) сколько документов в день в базе делается? Если 10000, то, возможно, проблема и существует. Но как-то я сомневаюсь.
Если уж так приспичило, проще запретить записывать документы одним временем. Я подозреваю, что проблемы на самом деле нет и в реальности вероятность ее появления микроскопическая.
Если уж так приспичило, проще запретить записывать документы одним временем. Я подозреваю, что проблемы на самом деле нет и в реальности вероятность ее появления микроскопическая.
Вопрос чисто теоретический. Меня интересует, как писать правильный код.
Как вы считаете, вариант с добавлением секунды в запросе от времени документа продаж правильный??? Или грамотнее запретить создавать документы с одинаковым временем.
Мне кажется первый вариант лучше.
Как вы считаете, вариант с добавлением секунды в запросе от времени документа продаж правильный??? Или грамотнее запретить создавать документы с одинаковым временем.
Мне кажется первый вариант лучше.
Разумеется если документ ранее был проведен, его нужно распровести, перед определением себестоимости через секунду.
Момент времени <> время документа
Содержит дату и время, а также ссылку на объект базы данных. Используется в качестве значений свойств и параметров методов других объектов, имеющих тип МоментВремени.
Момент времени используется в тех случаях, когда важно различать моменты времени для объектов, имеющих одинаковую дату и время, например для сравнения положений документов на временной оси.
Содержит дату и время, а также ссылку на объект базы данных. Используется в качестве значений свойств и параметров методов других объектов, имеющих тип МоментВремени.
Момент времени используется в тех случаях, когда важно различать моменты времени для объектов, имеющих одинаковую дату и время, например для сравнения положений документов на временной оси.
Момент = Новый МоментВремени(ТекДокумент.Дата, ТекДокумент.Ссылка);
Большое спасибо за подсказку!!!!!!!!
Окр(Стр.Количество*Стр.СебестСум/Стр.СебестКол, 2); - за счёт округления всегда будут копейки в плюс / в минус.
досписывайте копейку при продаже в ноль и контролируйте дополнительно превышение себестоимости за счет округления.
досписывайте копейку при продаже в ноль и контролируйте дополнительно превышение себестоимости за счет округления.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот