Letyshops

Вопросы организации справочника "Контрагентов" в базах данных.

Колясников С.
Внедренческая компания "Урал-Софт"

http://ural-soft.ru

Проблема поиска

С течением времени совершенствуются платформы, разрабатываются новые типовые конфигурации и отчеты, дополняющие наши привычные базы данных новыми полезными возможностями. Но некоторые проблемы постоянно сопровождают нас, невзирая на научно-технический прогресс. Одной из таких проблем является справочник «Контрагенты» любой конфигурации. С течением времени он обрастает дополнительными папками, появляются сотни и тысячи новых элементов. И здесь начинается проблема «дублей». Причем она одинаково неприятна для любых конфигураций: Бухгалтерии, Торговли, и других, в том числе созданных «с нуля». Наличие дублей чревато множеством проблем. Рассмотрим простой пример:

 Имеется стандартный справочник «Контрагенты». В бухгалтерии появляется счет на оплату от ООО «Компания Квазар». Человек начинает искать контрагента в справочнике и не находит, после чего заводит этого контрагента в базу. И вот здесь начинаются проблемы. Записать его можно множеством способов:


1. Компания Квазар
2. ООО Компания Квазар
3. ООО Квазар
4. ООО «Компания квазар»
5. «Квазар»
6. Квазар Компания ООО

Для простодушной и наивной программы 1С все эти наименования будут разными. Более того – наличие или отсутствие дополнительного пробела также делает элементы разными. После этого сотрудник, оформляющий поставку от данного контрагента должен последовательно попробовать любую из этих комбинаций, чтобы найти нужное предприятие. Доводы оппонентов типа «а он вспомнит, он найдет и т.д.» отметаю сразу. А если контрагентов 10.000? А если сотрудник сменился? И таких «если» сотни.

Ситуация значительно усугубляется, если в справочнике есть папки. В этом случае контрагенты будут повторяться не только в справочнике в целом, но и в папках. Вообще наличие папок в справочнике контрагентов мне кажется совершенно недопустимым. Поясняю. Папки призваны разделить контрагентов на группы по какому-либо уникальному признаку. Если признак не уникален (например, при наличии папок Поставщики и Покупатели контрагент является и тем и другим), то возникает коллизия. Штатные механизмы справочников 1С не позволяют регламентировать наличие одного и того же элемента в двух группах одновременно. Поэтому появляется несколько вариантов (допустим, у нас что-то приобрел наш поставщик, т.е. он уже есть в папке Поставщики):

1. Использовать контрагента из папки Поставщики, даже если в данной операции он является покупателем.
2. Добавить такого же контрагента в папку покупателей.

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

1. Папка Поставщики

    1.1. Квазар ООО
    1.2. Компания Квазар

2. Папка Покупатели

    2.1. ООО Квазар

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

1. Организационные мероприятия.

1.1. Отказ от наличия папок в справочнике. Оптимально, если справочник одноуровневый. Если группировки действительно нужны, то для этого лучше использовать не папки, а именно штатные механизмы группировок (например, в конфигурации Торговля и Склад он есть, причем достаточно удобный). Для гарантии можно запретить создание папок на программном уровне, но это уже больше соответствует техническому разделу.

1.2. Строго регламентировать (лучше приказом по предприятию) заполнение справочника «Контрагенты». Например: Первое слово в наименовании – ключевое. Затем следует описание организационной структуры, после этого наименование организационно-правовой формы, территориальной принадлежности и т.д. В наименовании не допускаются никакие знаки препинания, кавычки, апострофы и т.д. Т.е. ООО Компания Квазар будет любым сотрудником, знакомым с инструкцией однозначно разложена как: Квазар Компания ООО.

Эти два мероприятия уже позволят существенно снизить вероятность появления дублей. Если в вашем справочнике на момент внедрения такой системы есть элементы, то их просто следует переименовать в соответствии с новыми правилами. После этого сотруднику, оформляющему приходный документ, будет достаточно набрать ключевое слово Квазар, чтобы найти контрагента. Понятно, что не все названия можно так однозначно трактовать. Но и это тоже решаемо. Главное – вычленить из названия предприятия ключевое слово-фразу. Нами даже специально разработана инструкция по формированию наименований справочников «Контрагенты», которая будучи внедренной на административном уровне, работала и до сих пор работает на многих сопровождаемых компанией предприятиях. В ней на множестве примеров подробно разъясняются правила заполнения (например, банк «Альфа-Банк» таким и останется – Альфа банк, а вот Банк «Золотая казна» следует расписать как Золотая казна банк). Понятно такие слова как фирма, компания, предприятие и т.д. ставятся после ключевого слова-фразы.

2. Технические мероприятия.

Технические мероприятия вкратце сводятся к принудительной регламентации на программном уровне всех пунктов организационных мероприятий. А именно:

1. Запрет на создание папок.
2. Запрет на запись элемента при наличии в наименовании кавычек, запятых и т.д.
3. Замена при записи наименования парных пробелов на одинарные.
4. Создание механизма контекстного поиска по наименованию (при попытке записи нового элемента программа выводит список предприятий со схожими наименованиями).
5. Вывод названий организационно-правовых форм (ООО, ЗАО) и структур (Компания, Фирма) в отдельные справочники. В форме элемента эти объекты будут находиться в разных ячейках, и из них будет сформировано общее наименование (для печатных форм). Т.е. наименование: Квазар. ОПФ: ООО. Структура: Компания. Наименование для печатных форм: ООО «Компания Квазар».

По схожей схеме можно организовать заполнение многих справочников: номенклатуры, сотрудников и т.д. Если у вас возникли, какие то проблемы со справочниками, которые вы бы хотели обсудить, пишите нам, уверен, решение будет найдено. Понятно, что данная статья неактуальна для предприятий, с числом контрагентов меньше 200-300 (Хотя мне встречались и такие небольшие, «добрые снаружи, ужасные внутри» справочники, содержащие множество удобных папок, в которых плодились дубли).

 

 

Реклама: