Всем привет!
Текст задачи 2.14.

 Необходимо реализовать возможность закупки и продажи редких товаров.
Поступление таких товаров осуществляется документом «Приходная накладная».
В документе поступления каждая единица товара оформляется отдельной строкой
(с количеством равным 1). Каждой позиции закупаемого товара присваивается
уникальный инвентарный номер (считается, что за уникальностью следит
пользователь, автоматизировать получение уникальных инвентарных номеров в
рамках задачи не требуется). Одним документом может оформляться поступление
нескольких одинаковых товаров, но с разными инвентарными номерами.

 Документ «Приходная накладная» реализует следующую проводку:
Дт «Товары» - Кт «Поставщики» на сумму закупаемого товара

 Продажа товара регистрируется документом «Расходная накладная». При
продаже инвентарный номер вводится в табличную часть документа вручную.
При проведении документа должен производиться контроль наличия указанного в
документе товара (по указанному инвентарному номеру). Себестоимость
списываемого товара определяется как средняя по номенклатурной позиции по
всем ее инвентарным номерам.

 Документ «Расходная накладная» реализует следующие проводки:
Дт «Прибыли и убытки» - Кт «Товары» на сумму себестоимости;
Дт «Покупатели» - Кт «Прибыли и убытки» на сумму в продажных ценах.

 По данным бухгалтерского учета необходимо сформировать отчет,
который за указанный интервал дат показывал бы данные о проданном товаре.

Вопрос: как должен выглядеть регистр бухгалтерии и план счетов , для возможности расчета себестоимости "Как средняя по номенклатурной позиции по
всем ее инвентарным номерам"?

Правильно ли понимаю, что в плане счетов должно быть:
1. Признаки учета - количественный
2. Признаки учета субконто - суммовой

а в регистре бухгалтерии настройка ресурсов следующая:
1. Количество - признак учета "количественный"
2. Сумма - признак учета субконто "суммовой", и галочка "балансовый"
---
В базе для субконто инвентарные номера стоит признак Только обороты.
Поэтому действительно, по нему никакого остатка нет, и закрывать ничего не надо.
Тут можно согласиться, что остатка нет и закрывается.

Однако же, смотрим условия задачи.
Продажа товара регистрируется документом «Расходная накладная». При
продаже инвентарный номер вводится в табличную часть документа вручную.
При проведении документа должен производиться контроль наличия указанного в
документе товара (по указанному инвентарному номеру).

Перед проведением расхода, надо проверить остатки по номенклатуре по данному инвентарному номеру.
В данной реализации, этого сделать нельзя. Так как остатков тупо нет.
Получить же обороты с начала времен по дату документа, чтобы таки определить наличие - не кажется хорошей идеей. Но в базе этого нет, проверки наличия инв. номера в остатках нет.
Можно создать новый инвентарный номер и списать его.

Точнее в базе есть именно такая проверка, но для инв. номеров, по которым остатков нет, сейчас не работает.

Но имхо, если для учета нужны остатки по инвентарным номерам, вместо того, чтобы хранить/получать остатки, зачем нужны такие извращения с оборотами?
Кажется, что проще и правильнее сделать признак учета для субконто.
---
Вы понимаете правильно.
Единственно, кажется, что стоит в измерение РБ добавить Организацию.
---
Задачи не решал.
Чтобы производить контроль по уникальным инвентарным номерам их нужно хранить где-то, можно в регистре бухгалтерии по субконто, но чтобы себестоимость считалась без учета инвентарных номеров, можно этому субконто не указать суммовой...
---
ну это очевидно что будет два субконто. Просто видел решение без признака учета субконто. Вот и интересно, как будет правильнее.
---
Просто видел решение без признака учета субконто.
Это как?
---
очень просто
В запросе итоги по номенклатуре, и получили себестоимость по всем номенклатурным номерам

Причем решение это самого П. Чистова.
---
Если по субконто Инвентарные номера будет суммовой учет, значит остатки с суммами всегда будут в РБ.
Т.к. сумма списания <> сумме прихода, остатки будут висеть по каждому инвентарному номеру и никогда не закроются. Будет разбухать таблица итогов.
Это тупое странное решение.
---
а какое правильное?

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

1. Вариант описанный здесь (1)
2. Вариант без использования признака учета субконто. Расчет себестоимости решается путем получения итогов по номенклатуре.
---
У меня есть сейчас два работающих решения - все закрывается, все расчитывается.
Предположим следующую ситуацию:
Приход номенклатуры 1 Инв1 по сумме 100
Приход номенклатуры 1 Инв2 по сумме 300
Расход номенклатуры 1 Инв1 - сумма средняя = (100+300)/2 = 200

Получается в остатках:
Номенклатура 1 Инв1 количество 0 сумма -100
Номенклатура 1 Инв2 количество 1 сумма 300

Итог по номенклатура может и закрывается у вас, а по инвентарным номерам как он у вас закроется при 2 варианте решения?

Сделайте запрос к остаткам РБ после расхода, в разрезе всех субконто. Как он у вас может закрыться?

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

Проектирование же системы, в которых остатки разбухают и никогда не закрываются, считается грубой ошибкой.
---
вы точно говорите про бух.регистры?
Вот скриншот - и где здесь не закроется? В конечном итоге сумма на счете "Товары 01" уйдет в ноль
---
А можно эту базу?=)
Чтобы показать что именно не закроется.
---
В настройках по Субконто ИнвентарныеНомера Сумма не считается.
---
В варианте 2 сообщения (8) не используется признак учета субконто.
Сумма будет считаться для каждого сочетания субконто.
---
держи
---
В базе для субконто инвентарные номера стоит признак Только обороты.
Поэтому действительно, по нему никакого остатка нет, и закрывать ничего не надо.
Тут можно согласиться, что остатка нет и закрывается.

Однако же, смотрим условия задачи.
Продажа товара регистрируется документом «Расходная накладная». При
продаже инвентарный номер вводится в табличную часть документа вручную.
При проведении документа должен производиться контроль наличия указанного в
документе товара (по указанному инвентарному номеру).

Перед проведением расхода, надо проверить остатки по номенклатуре по данному инвентарному номеру.
В данной реализации, этого сделать нельзя. Так как остатков тупо нет.
Получить же обороты с начала времен по дату документа, чтобы таки определить наличие - не кажется хорошей идеей. Но в базе этого нет, проверки наличия инв. номера в остатках нет.
Можно создать новый инвентарный номер и списать его.

Точнее в базе есть именно такая проверка, но для инв. номеров, по которым остатков нет, сейчас не работает.

Но имхо, если для учета нужны остатки по инвентарным номерам, вместо того, чтобы хранить/получать остатки, зачем нужны такие извращения с оборотами?
Кажется, что проще и правильнее сделать признак учета для субконто.
---
Согласен. Действительно можно создать новый инвентарный номер и списать его.
Значит остается единственный правильный вариант с признаком учета субконто.
Спасибо за помощь!
---
Эту ошибку можно поправить, если в запросе выражание РегистрБухгалтерииОбороты.КоличествоОборот заменить на ЕстьNull(РегистрБухгалтерииОбороты.КоличествоОборот,0) , но имхо, такое решение с оборотами - это костыль.
---
"Правильным" решением будет ТО, которое больше понравится экзаменатору.Один скажет что нужно два признака, второй посчитает это ошибкой и скажет что можно обойтись одним. Данное суждение основано на личном опыте (только со второй попытки сдал и по иронии один и тот же билет попался,только разные люди проверяли).
---
решение это самого П. Чистова. далеко не всегда эталон решения. И дело даже не том, что решения какие-то не такие, а в том, что экзаменаторы ждут совершенно конкретной, ожидаемой ими реализации. Т.е. как в школе, на физике, помните? Дано, Найти, Решение. Если этого нет - решение не смотрят.
---
ну вот да, именно так.
То есть по вашему мнению надо подстраиваться под экзаменатору?
---
конечно, надо подстраиваться. И даже не парьтесь на этот счет.