Обработка полностью работоспособна на одном из последних релизов типовой БП 3.0.38. Первоисточником задачи была задача Обработка пересчета сумм в документах поступление из переработки для нетиповой БП 3.0 последнего релиза. На рисунках 1 и 2 для наглядности показаны тестовые исходные данные демо-базы БП 3.0 по документу "Поступление из переработки" и формируемые им проводки.
Рисунок 1. Документ "Поступление из переработки" БП 3.0
Рисунок 2. Проводки по документу "Поступление из переработки" БП 3.0
Ниже приводится текст оригинального ТЗ обработки для БП 3.0 в режиме тонкого клиента:
Шапка:
-Период
-Кнопка “Заполнить”
-Кнопка “Записать и перепровести”
-Кнопка “Поднять флаги по всем строкам” (картинка)
-Кнопка “Снять флаги по всем строкам” (картинка)
Табличная часть. Колонки табличной части:
- Флаг “Обрабатывать” (булево)
- Продукция (Номенклатура из ТЧ “Продукция” документа)
- Поступление из переработки (Документ ссылка с возможностью открытия)
- Сумма плановая (Сумма плановая из ТЧ “Продукция” документа)
- Сумма расчетная - сумма всех материалов и услуг (Дт 20.01), распределенная на продукцию пропорционально количеству полученной продукции. Распределение выполняется только в пределах одного документа
- Отклонение (Сумма плановая)-(Сумма расчетная) Пересчитывается при ручной корректировке "Сумма расчетная"
Последовательность работы пользователя:
- Выбор периода
- Кнопка “Заполнить” - заполнение табличной части обработки. Флаг “Обработать” по умолчанию поднят в строках где "Отклонение" <> 0. Сортировка по умолчанию - по дате документа.
- Корректировка "Сумма расчетная" (при необходимости)
- Кнопка “Записать и перепровести” - по строкам с поднятым флагом “Сумма расчетная” записывается в документ по продукции как “Сумма плановая”. Пересчитывается цена. Выполняется запись и перепроведение документа. В сообщение выводится записываемый документ.
- Табличная часть перезаполняется.
Чтобы иметь представление о процессах учета давальческого сырья в БП 3.0 можно посмотреть даннуюстатью. Также поскольку методология учета не изменилась наткнулся на статью учет давальческого сырья в БП 2.0. Вкрадце о чем суть: организация-переработчик принимает у организации-заказчика давальческие материалы для изготовления готовой продукции. Переработчик изготавливает готовую продукцию, передает ее заказчику, а также возвращает неиспользованные материалы.
Из недостатков можно указать неоптимальную корректировку копеек прямым перебором, что может полностью перекрыть работу запроса по виртуальной таблице оборотов по регистру бухгалтерии по каждому регистратору - документу ПоступлениеИзПереработки. Во всяком случае попытался сделать запрос отпимальным, используя ограничения на типы и используя параметры виртуальных таблиц и индексирование для соединяемых таблиц. Возможно, таблицы и лишние. В целом, алгоритмы радотоспособны и нареканий нет :)
Еще один из существенных недостатков - жестко принимаем за условие, что затратный счет производства 20.01 Доп контроль и отбор в запросе (и доп. колонка в АРМе) сильно усложнило бы задачу. Контроль от некорректного ввода в документах не того счета затрат также не производится. Но, подобные ситуации редкость, когда у двадцатого счета куча субсчетов.
Жду Ваших замечаний и предложений.