CS CRM: Красивое форматирование номеров документов при печати

Проекту исполнилось 16 лет! Поддержать проект материально, проспонсировать проекты Автора или сделать ему подарок можно на этой странице: "Донаты и Спонсорство, Список Желаний".

Число просмотров: 906 

Множество различных документов (счетов) от поставщиков

Множество различных документов (счетов) от поставщиков

Сегодня мои руки снова были не для скуки, а душа не для занудства и отдыха. Я доделал функцию красивого форматирования номеров моих документов в моей базе CS CRM (все посты про неё по тэгу «CRM»). Потому что задрало смотреть на то, как другие (даже крайне серьёзные и суровые) поставщики и разработчики (вплоть до АБС банков) ни разу не парятся про то, как выглядят их номера и то, насколько удобно их читать и вводить, если нельзя скопипастить.

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

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

Хранение типа и номера входящего документа в CS CRM (счёт, заказ, накладная)

Хранение типа и номера входящего документа в CS CRM (счёт, заказ, накладная)

Вроде бы это мелочь… но пользы от неё дофигища:

  • Всё хранится в одной единой базе. Не надо искать номер счёта или заказа где-то в почте или в текстовом файле;
  • База поддерживает вложения (можно, как в E-Mail, вложить к документу файл — счёта, заказа). Можно найти нужный счёт и прям из базы его открыть;
  • Этот номер выводится в распечатках и отчётах (например, заказы по поставщикам);
  • Так как деньги учитываются в этой же базе, то получается очень удобно: оплатил заказ во ВсеИнструменты и сразу записал его номер там, где платил;
  • Если надо позвонить поставщику и поинтересоваться о том, как идут дела, можно открыть документ моей базы, и сразу увидеть номер заказа (или счёта) у поставщика вместе со списком того, что было заказано.

В общем, вся информация у меня под рукой. Я даже не знаю, как я без этого жил вообще.

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

Вот посмотрите на этот списочек:

Различные номера заказов за историю CS CRM. Цифры везде пишутся слитно

Различные номера заказов за историю CS CRM. Цифры везде пишутся слитно

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

Так как в базах данных у каждой записи есть уникальный ID, то чаще всего он и является номером заказа. Всё, что делают программисты — это выводят такой номер «наружу» в печатную форму, не заботясь о том, насколько он будет читабелен.

Некоторые фирмы пытаются изгаляться и вводят разные префиксы, но это показывает их бескультурие ещё больше:

Примеры документов с нечитаемыми номерами (все цифры идут слитно)

Примеры документов с нечитаемыми номерами (все цифры идут слитно)

  • Зачем ставить дату в номере счёта, если она и так есть? Если бы уж ставили — то хоть в обратном порядке (Месяц-День), чтобы потом можно было сортировать по дате не как «0605», «0708», «0810», «3105» (жирным выделил месяц, который идёт не по порядку), а как у нормальных людей: «0506″, «0531″, «0807″, «1008″ (кавычки будут сбиты — это так чёртов движок форматирует текст).
  • Всякие сраные префиксы чуток помогают жить, но когда после них идёт куча цифр, пользы это не приносит.

В общем, меня всё это выбесило и я решил, что СВОИ номера документов при печати я буду форматировать ДЛЯ ЛЮДЕЙ!

Нумерация всех объектов в моей базе — сквозная. Я не начинаю новые номера в каждом году, и они всегда идут подряд. Благодаря этому они уникальны в пределах базы, и вы всегда можете сказать «Щит номер 342» или «Договор 420», и я легко и точно найду именно его.

Сегодня днём поотдыхал в базе и сделал в Константах такую вот настройку режима форматирования номеров документов:

Настройка для форматирования номеров документов в CS CRM

Настройка для форматирования номеров документов в CS CRM

А потом написал такой вот код и вставил его в вывод номеров документов в их заголовках (кроме колонтитулов):

Код 1С для форматирования номеров документов в CS CRM

Код 1С для форматирования номеров документов в CS CRM

Итого, у меня есть три режима форматирования номера (я буду пользоваться третьим, но у меня есть привычка кодить универсально):

  • Не форматировать: номер будет выведен как есть, например «1234532»;
  • Разделять триады всегда: номер будет всегда поделён на три части, например «123 456» или «1 234»;
  • Разделять триады от 5 знаков: номер будет разделяться, если в нём 5 или более знаков, например «1234» или «12 345».

Мне нравится третий вариант, потому что если тупо разделять триады (учитесь, учитесь мелочам и тонкостям!), то когда номер документа имеет 4 знака, первый теряется. Мозгу неудобно отличать «1 453», и он отлично увидит и запомнит «1453», потому что мнемонически скажет «четырнадцать пятьдесят три». А когда он увидит «14 231», то тоже легко скажет «четырнадцать двести тридцать один», и всё будет хорошо.

Дополнительно можно указать то, через что разделять триады чисел: пробел (так и сделано), тире, точка или ещё какой-то знак. Я этим не буду пользоваться, но, если захочется, можно выводить номера как «21-529» или что-то в этом роде.

Вот примерчик работы моей функции. Мне чертовски нравится!

Примеры форматирования номеров документов в CS CRM

Примеры форматирования номеров документов в CS CRM

Проекту исполнилось 16 лет! Поддержать проект материально, проспонсировать проекты Автора или сделать ему подарок можно на этой странице: "Донаты и Спонсорство, Список Желаний".

2 Отзывов на “CS CRM: Красивое форматирование номеров документов при печати”


Оставить отзыв

Вы должны войти на блог, чтобы оставить комментарий.