мамукмпукиуиуки

Настройка внешнего отчета по статусу выполнения заказов клиентов в 1С: ERP Управление предприятием 2

Содержание:

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

1. Зачем необходима точная отчетность по заказам: проблемы и вызовы управленческого учета

Необходимость отслеживать статус выполнения заказов клиентов компании, которые можно рассматривать как инжиниринговые минипроекты, не роскошь, а насущная потребность управленческого учета. В противном случае компания рискует потерять свою репутацию, имидж и вообще прекратить свое существование. Ответственные лица решили создать внешний отчет для этого, чтобы не портить типовую конфигурацию. И сделали. Но вот беда, запутался отчет и перестал выдавать некоторую информацию, которая так нужна, например, не показывает заказ поставщику при его наличии, если не было оплаты этого заказа. А если была оплата, то показывает. Или сумма заказа клиента не соответствует действительности. Непорядок.

Дополнительная информация

2. Оптимизация соединения таблиц в отчетах в 1С: ERP Управление предприятием 2

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

Из теории все знают, что существуют несколько алгоритмов соединения двух таблиц. Выбор того или иного алгоритма зависит от того, сколько записей будет содержаться в одной и в другой выборке. В том случае, если вы соединяете две физические таблицы, СУБД может легко определить объем обоих выборок на основании имеющейся статистики. Если же одна из соединяемых таблиц представляет собой вложенный запрос, в котором есть соединение перемножением, то количество записей, которое она вернет, становится очень большим. Также следует понимать, что перемножение и последовательные соединения – разнятся по тяжести для системы соединения. Если возможно заменить перемножение, то следует заменить последовательным соединением.

Для анализа проблемы использовал консоль запросов – инструмент создания запросов, который, в отличие от конструктора запросов, дает большую наглядность при анализе, создании и изменении запросов. То есть он более удобный для работы, чем стандартный конструктор, и их существует множество вариантов.

В результате анализа и увидел ошибку соединения таблиц. Переделал соединение таблиц, добавил источники недостающих данных по документам и регистрам, проверив предварительно, что информация не задваивается, а органично добавляет нужные цифры туда, где они раньше отсутствовали в отчете. Да, пришлось использовать не только документы, на которых был изначально построен отчет, но и регистры, поскольку сложность бизнеса компании усложнила и модель управленческого учета.

Шарков Геннадий,

Специалист компании ООО “Кодерлайн”