Ни для кого не секрет, что порядок следования документов учета товаров влияет на расчет себестоимости. Понятно когда документы различаются датами. А когда имеем дело с набором документов разного вида в пределах одной даты?
Опишу суть проблемы. Расчет себестоимости по средней (имеется ввиду по средней на момент списания, как в Бухгалтерии 7.7). Имеем два поступления (Поступление 1 и Поступление 2) и одно списание (Списание 1) в пределах одной даты. Рассмотрим следующий порядок поступления условного товара.
Поступление 1: 3 ед. на сумму 300 рублей
Поступление 2: 2 ед. на сумму 300 рублей
Списание 1: 2 ед.
Стоимость списания 2-х единиц на момент документа Списание 1 = 2*600/5 = 2*125=250.
При альтернативной последовательности того же набора документов:
Поступление 1: 3 ед. на сумму 300 рублей
Списание 1: 2 ед.
Поступление 2: 2 ед. на сумму 300 рублей
Очевидно, что на этот раз стоимость списания 2-х единиц на момент документа Списание 1 = 2*300/3 = 2*100=200.
Таким образом, большой объем документов в пределах одной даты может оказать существенное влияние на расчет себестоимости и прибыли в дальнейшем.
И если даже в «Торговле и склад» делаются попытки борьбы с такой ситуацией (точка актуальности; запрос о времени документа при записи), то в Бухгалтерии по данному вопросу ничего не реализовано (документы записываются текущем временем независимо от даты).
Изменения порядка регистрации документов в Бухгалтерии 7.7 можно произвести путем изменения времени документа в одном из журналов документов. Для этого следует сделать один из документов непроведенным, изменить время документа и провести еще раз. Не самое быстрое и приятное занятие. Причем, если документы продолжают вноситься данной датой, то вполне вероятно , что процесс придется повторить.
Какие выходы можно найти? Да, конечно же – перейти на версию 8.х.
Предложение в целом неплохое. Однако может существовать ряд причин препятствующих такому решению. Хотя бы время и деньги, требуемые для перевода нетиповой бухгалтерии на новую платформу.
Я же хочу предложить малозатратный способ, который был успешно внедрен в нашей организации. Но для начала – история проблемы.
Итак, в организации год от года возрастает документооборот. Самая ходовая номенклатура включает лишь несколько наименований. Документы оформляются как в ручном режиме, так и экспортируются из внешней базы (не 1С). Особенность учета в том, что львиная доля документов приходится на последнее число месяца. В итоге весь этот объем документов условно 31-го числа приходится «разгребать» очень долго. А в виду крупных отгрузок (в стоимостном выражении), даже один документ, «стоящий не на месте», может существенно повлиять на расчет прибыли. Основные товарные операции организации: поступление, реализация и «условное производство». Под «условным производством» понимается получение одной номенклатуры из других путем объединения. Причем не исключается ситуация, когда в производство может списываться и та номенклатура, которая производится.
Раздумывая на извечным русским вопросом, я в порядке эксперимента предложил такой вариант. Проведение автоматической группировки документов по виду в следующем порядке: Поступления, Производство, Списания.
Реализовано было следующим образом. Поступления, невзирая на текущее время, автоматически записываются друг за другом с интервалом 10 секунд, начиная с 10 утра. Производства, начиная с 14:00. Списания с 17:00.
После некоторого «отладочного периода» решение вполне удачно заработало. Все остались довольны.
Теперь, как это все реализовать с использованием встроенного языка.
Потребуется внесение изменений в тексты модулей форм – предопределенная процедура ПриЗаписи(). При желании, часть общих действий можно вынести в Глобальный модуль.
Шаблон текста с комментариями приведен во вложении.
!!! Не забывайте, что создание документов иными средствами, нежели интерактивный ввод, например из других модулей с использованием Док.Записать(), не вызывает предопределенную процедуру ПриЗаписи() модуля формы документа. Поэтому, для каждого случая такого создания требуется программная установка времени перед записью!!!
Надо попробовать, хотя никогда не сталкивался с такой проблемой, большой объем приходных/расходных документов в пределах одной даты. Семерка, по-прежнему, работает на многих торговых предприятиях. Любит народ её, поэтому любые расширения возможностей и функциональности полезны.
имхо, чем копаться в модулях документов, проще заюзать 1С++ и через перехватчик определить необходимые события. Таким образом настраивал запись документов на 10 сек. раньше документа «Закрытие месяца».
Вполне возможно!
Только в моем случае «копание в модулях документов» заключалось условно в 3-х копипастах.
Вообще, не очень люблю использовать внешние компоненты, когда можно обойтись без них.
Можно использовать последовательность документов.
(4) Cvetic,
На бух компоненте последовательность практически не используется. Я не видел, во всяком случае, чтобы кто-то применял. Ни один бух отчет, по крайней мере, границу последовательности точно не проверяет.
А уж вопрос, как заставить следить за ГП десяток бухгалтеров я вообще упущу.
На практике же, «последовательность» не «ответит» однозначно на вопрос «Как правильно они должны стоять?». Я же предложил такой ответ: правильно так — утром — приходы, днем — производство, вечером — реализация.
Конечно мысли об использовании ГП посещали, но в данном случае не прижились.
Как правило в каждом модуле формы документа в процедуре ПриЗаписи() есть вызов процедуры глПроверкаДатыДок или подобная. В ней можно реализовать установку времени документа средствами: УстановитьВремя(Час,Минута,Секунда)
Для каких документов и в какой оси времени стоят, перед этим определяете.
Я так понимаю, что здесь описана ситуация списания про среднему. При ФИФО такая проблема выдавала бы одинаковый результут. Главное, чтобы остаток на момент списания был.
Раньше делал обработку, которая в конце месяца устанавливала время документов в определенной последованности, а потом перепроводил все документы. Также, можно написать обработку, которая определяет для каждой номенклатуры конечный остаток каждого документа, не зашол он в минус. И если на начало и конец дня был положительный остаток, то определяет в каких документах нужно изменить время. Делается это пока не будет определено, что при изменении времени результат не меняется или до N-го количества, чтобы небыло зацикливания. Это актуально, если задним числом вносят/изменяют приходы/расходы.
(6) Romarius,
http://infostart.ru/public/186097/
1. Наверное Вы имеете ввиду глМожноЗаписатьДокумент() или глКонтрольДатыДокумента()
Так у меня же написано: «При желании, часть общих действий можно вынести в Глобальный модуль.». Так что не спорю.
2. Да, описана ситуация «по среднему» (Бух 7.7). Но для ЛИФО и ФИФО имеем абсолютно такую же проблему!
3. Да, тоже делал что-то подобное. Но расставлять сразу гораздо проще, чем перетаскивать потом, согласитесь.
А в качестве отчета для проверки последовательности, я в частности пользовался
На одной торговой фирме также устанавливал время при записи документа. Но там было много перемещений, и с этими документами было сложно угадать, на какое время поставить. И в конце месяца при перепроведении выскакивали минусы.
В итоге перед закрытием периода делаю следующее:
1. Проверяю, не появились отрицательные остатки на промежутке любого документа. Делает это обработка, которую запускают сами бухгалтера. Она сама меняет время документа, где «считает нужным» (не всем подряд, а только чтобы небыло минуса в остатке). А что не получилось, показывает. Тогда бухгалтера принимают сами решения, в каком документе поменять дату (расход перед приходом).
Когда получается пустая таблица — тогда можно приступать к второму этапу.
2. Перепроверяю еще раз, что не будет отрицательных остатков, и перепровожу документы.
3. Блокирую период, чтобы не изменяли ничего задним числом.
Перепроведение запускаю вечерком или удаленно.
На обработку с тестированием ушло где-то полдня, но теперь уверен, что при проведении все спишется без минусовых остатков.
А то, что при разных ситуациях спишется разная себестоимость — это не существенно. Сегодня спишется одно, завтра остальное.
Ваш порядок действий понятен. Возражений нет. Хотя, отрицательных остатков может и не возникнуть, а себестоимость ошибочная.
«при разных ситуациях спишется разная себестоимость — это не существенно»
Это не всегда так. Не буду приводить конкертных цифр разницы в нашей организации, но она бывает внушительна.
«Сегодня спишется одно, завтра остальное» — тоже верно. Но естественная корректировка неправильной себестоимости на 31.12.12 новым списанием, например, 10.01.13 несколько влияет на финансовые результаты года.