Общая схема решения и некоторые нюансы следующие:
1. Настраиваю конфигурацию, чтобы можно было запускать консоль запросов (Сервис – Параметры… - Управляемое приложение и обычное приложение, Свойства конфигурации – Использовать обычные формы в управляемом приложении), плюс режим управления блокировкой данных устанавливаю управляемый.
2. Создаю справочник «Номенклатурные группы» и периодический регистр сведений «Номенклатурные группы номенклатуры», измерение «Номенклатура» ведущее.
3. Создаю справочник Склады.
4. Настраиваю план видов характеристик «Виды субконто» (тип значения и предопределенные виды).
5. Настраиваю план счетов. Нюансы: нам необходимы будут признак учета «Количественный» для ведения количественного учета товаров и признак учета субконто «Суммовой» для отключения суммового учета по виду субконто «Склады». Настраиваю предопределенные счета. На счете товары добавляю 2 вида субконто: «Номенклатура» и «Склады», для счета включаю признак учета «Количественный», для субконто «Склады» выключаю «Суммовой» учет. Добавляю счет «Дебиторка», казалось бы логичнее использовать имеющийся счет «Покупатели», но раз в условии сказано «Дебиторка», пусть так и будет. На счетах «Поставщики», «Покупатели» и «Дебиторка» добавил субконто «Контрагенты», что в соответствии с условием можно было и не делать.
6. Создаю регистр бухгалтерии. У регистра два ресурса: «Сумма» - балансовый, признак учета субконто «Суммовой»; «Количество» - не балансовый, признак учета «Количественный».
7. Дорабатываю документ «Приходная накладная», конструктором создаю обработку проведения. Конечно тестирую.
8. Дорабатываю документ «Расходная накладная». Создаю обработку проведения. Тут и блокировка данных и выборка данных запросом, для контроля отрицательных остатков по регистру бухгалтерии и расчета средней себестоимости. Запрос подготавливаю в консоли запросов (управляемое приложение, толстый клиент). Тестирую.
9. Создаю документ «Реклама». Подготавливаю запрос в консоли запросов. Создаю обработку проведения. Запрос разбиваю на две части, чтобы блокировать только «нужную» номенклатуру. При распределении суммы по номенклатурной группе контролирую, чтобы у суммы по номенклатурной группе была база распределения, а так же не распределить больше (…Мин(Окр(К_Распр * Выборка.СумОст,2), ОсталосьРаспр);) и не остался нераспределенный «хвостик» (Если ОсталосьРаспр > 0 …). Тестирую.
10. Не забываю, чтобы был документ «Операция».
11. Создаю запрос «История себестоимости товаров». В запросе, чтобы выводить только документы, влияющие на себестоимость, добавляю условие, что документ должен делать движение по дебету (к сожалению не идеальное условия, но в рамках данной задачи работает).
12. Создаю журнал «Журнал операций», только для того, чтобы в командном интерфейсе отобразить разделе «Важное» панели навигации.
13. Навожу красоту: создаю и настраиваю подсистемы.