Rttsv

Rttsv

На Пикабу
104 рейтинг 1 подписчик 1 подписка 2 поста 0 в горячем
Награды:
За подвиги в Мире PlayStation 5
3

Как ограничивал видимость клиентов менеджерам в 1С:УТ 11.5, но всё равно дал им искать по всей базе

В общем, недавно прилетел мне довольно интересный (и на первый взгляд противоречивый) заказ на 1С:Управление торговлей 11.5.

Задача: сделать так, чтобы каждый менеджер видел только "своих" клиентов и связанные с ними документы. Всё по классике: разграничение прав доступа, ничего нового...
Но! Тут же прилетает требование номер два: менеджеры занимаются холодными звонками и должны иметь возможность проверить — а нет ли такого клиента уже в базе, и если есть, то за кем он закреплен.

И тут начинается магия 1С.
Типовой механизм прав в 1С работает так, что пользователь вообще не видит чужих клиентов: ни в справочнике, ни в отчетах, ни в документах — даже если где-то есть ссылка на контрагента, она "битая" и не открывается.
То есть хочешь разграничение? Получай: ищи по базе сколько хочешь, всё равно ничего не найдешь кроме своих :)

Что делать?
С одной стороны — надо ограничить доступ, с другой — дать возможность искать по всей базе, но чтобы в ответ не вываливалась лишняя информация.

Как выкрутилися

  • Сделал отдельный регистр сведений — туда пишется только нужная информация о каждом клиенте (наименование, ИНН, КПП, ФИО ответственного). Все поля — строки, чтобы не споткнуться о ограничения прав на уровне ссылок.

  • Настроил подписки на события:

    • При создании/изменении контрагента — запись/обновление в регистре.

    • При удалении (пометка на удаление) — запись из регистра тоже удаляется.

  • Автоматизировал обновление: когда меняется партнер — автоматически обновляется связанный контрагент, чтобы в регистре всегда были актуальные данные.

  • Пилил простую обработку для поиска: вводишь часть названия или ИНН — находишь клиента, и сразу видно: есть такой, или нет, и кто сейчас его "куратор".

Итог

В результате — все довольны:

  • Менеджеры не видят ничего лишнего, только своих клиентов и документы.

  • Но если что — могут быстро пробить по базе, есть ли такой клиент, и если есть — кто с ним уже работает.

Для тех, кто любит 1С: да, с типовыми правами такое не сделать, пришлось "изобретать велосипед", но вышло удобно и безопасно.

P.S.
Если интересно, могу выложить детали реализации или куски кода — спрашивайте в комментах!
И вообще, если есть свои лайфхаки по разграничению доступа в 1С, делитесь, с радостью почитаю :)

Показать полностью
3

Доработка "ДАЛИОН: Управление магазином.ПРО", ред. 1.2 для выгрузки признака маркировки во Frontol 6

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

С чего начал:

  1. Определил маркируемую продукцию среди товарного ассортимента.

  2. Проверил наличие регистрации юридического лица на сайте «Честного знака» как участника оборота по каждой категории маркируемого товара.

  3. Проверил процедуру приёмки товаров и наличие ЭДО.

  4. Оценил готовность системы учёта. В данном случае использовалась старая 1С, которая совсем не знает о маркировке. 1С применялась только для формирования складских остатков и установки цен, с последующей выгрузкой во Frontol.

  5. Проверил готовность кассовых мест: версию прошивки фискальных регистраторов, версию кассового ПО и его поддержку маркированной продукции. Поскольку кассовое ПО — Frontol, дополнительно уточнил наличие актуальной и настроенной версии Frontol Mark Unit.

  6. Оценил наличие локального модуля «Честного знака» для соблюдения разрешительного режима (с учётом будущих требований).

Что удалось определить:

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

  2. Регистрация на сайте ЧЗ («Честный знак») была, но не все категории маркируемого товара были указаны в личном кабинете. Это было исправлено.

  3. Приёмка по ЭДО полностью отделена от системы учёта 1С. Однако сам ЭДО есть, и в нём проводится доверительная приёмка (по факту марки не проверяются, документы принимаются «на доверии»).

  4. Текущая версия 1С не поддерживает маркировку. Было принято решение добавить реквизит «Вид маркировки» в карточку номенклатуры и доработать выгрузку признака маркировки, чтобы Frontol понимал это при продаже. (Техническое описание доработки — в отдельной статье.)

  5. Frontol требовалось обновить из-за отсутствия поддержки некоторых видов маркировки. Также потребовалось обновить и настроить Mark Unit.

  6. Локального модуля ЧЗ вообще не было, пришлось установить. На одной из касс для этого даже понадобилась полная переустановка ОС с последующей настройкой, так как локальный модуль ЧЗ не поддерживает 32-битную версию Windows 7. А вот с прошивкой фискальных регистраторов было все впорядке.


    Доработка "ДАЛИОН: Управление магазином.ПРО", ред. 1.2 для выгрузки признака маркировки во Frontol 6
    Так как кофнигурация старая и упоменания маркировки в ней нет в приципе первое, что требуется это создать место где будет список всех видов маркировки. Я это сделал объектом вида перчисление и добавил в него все виды которые нашел в руководстве итегратора фронтол. В целом там все довольно детально описанно (https://frontol.ru/upload/distr/Frontol%206/Frontol%206.%20%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE%20%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0.pdf) Меня итересовала страница 185 и от туда взяты все виды маркировки и добавлены в перечисление.

    Далее потребовалось это самое перечисление добавить на форму элемента номенклатуры, что бы пользователи могли выбрать и записать это самое значение. Делается это путем добавления нового реквизита в справочнике и с типом ссылка на перечисление и выводом онного на форму.

Далее требуется сделать собсвенно сам фунционал выгрузки.

Посмотрев то как проиводят выгрузку товаров на кассы и увидел наименование обработчика выгрузки.

Доработка "ДАЛИОН: Управление магазином.ПРО", ред. 1.2 для выгрузки признака маркировки во Frontol 6 1С, Frontol, Маркировка, Честный знак, Длиннопост
Доработка "ДАЛИОН: Управление магазином.ПРО", ред. 1.2 для выгрузки признака маркировки во Frontol 6 1С, Frontol, Маркировка, Честный знак, Длиннопост

Понял, что формат выгрузки Атол. Он довольно хорошо описан в руководстве на который я приложил ссылку выше. В нем явно указанно, что признак маркировки указывается на 55 месте.

Нашел данную обработку обслуживания там, нашел фунцию с говорящим названием "Функция СформироватьСтрокуТекстаТовары" все уже было весьма неплохо описанно комментариями сделал небольшое добавление ранее там было пусто.

Доработка "ДАЛИОН: Управление магазином.ПРО", ред. 1.2 для выгрузки признака маркировки во Frontol 6 1С, Frontol, Маркировка, Честный знак, Длиннопост

Выше сделал сопосотавление

Доработка "ДАЛИОН: Управление магазином.ПРО", ред. 1.2 для выгрузки признака маркировки во Frontol 6 1С, Frontol, Маркировка, Честный знак, Длиннопост

На этом выгрузка из 1с сталла корретной.

Показать полностью 4
Отличная работа, все прочитано!