Решение разработчика в зависимости от опыта работы. Как ограничить отображаемый пользователю список и ничего не потерять
Администрирование - Роли и права
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
К этой публикации меня подтолкнула зависимость кода разработчика от опыта.
Вернее, обсуждение данной темы...
С одной стороны оптимальное решение поставленной задачи и код, решающий её, это тот самый "бриллиант" и стремление к достижению "совершенной огранки" похвально.
И хорошо, что его нет, если бы этот "бриллиант" существовал, то все бы его "зазубрили" в начальной школе, и обсуждения бы не было.
Такие "технологические" обсуждения нужны и интересны, но...всё-таки отличие Junior'а от Oldschool'а в большей степени сказывается в подходе к решению других задач.
Собственно, второй побудительной причиной к написанию, оказалась случайно возникшая во время "неудачной" стажировки ниже описанная постановка задачи.
В "историческом прошлом" приходилось "решать" множество "непонятных мне хотелок" по 1С - от "добавления 5-ти знаков после запятой в цену" до печатной формы "Накладной на отпуск материалов на сторону (М-15)" для документа "Перемещение товаров", который из Управления торговлей потом должен перегрузиться в Бухгалтерию.
И спорить с инициатором в обоих случаях было бесполезно.
Оправдание им, только недопонимание "экономическими" специалистами сути их "хотелок", в первом случае упорствование в своём желании перенести свои "экселевские" достижения на другую "почву", без оглядки на очевидное, что у нас копейки, в США центы, и меньше просто не бывает.
Во-втором, непонимании логики применения того или иного вида документа, "неосознании" того, что М-15 подразумевает передачу материальных ценностей из одного предприятия в другое, а Перемещение как документ нет.
Вред от реализации таких "хотелок" не очень большой, со знаками после запятой вообще минимальный, так неудобство.
С "печатной" формой чуть сложнее, заново после "затыка" с переносом в другую базу, создать положенные документы вместо перемещений, чтобы вернуться в "законодательное русло"
Гораздо больше бизнес теряет от неправильно выбранного метода решения, при котором происходит "потеря информации", которая обычно выявляется апостериори, когда уже собственно "потеря" произошла.
Постановка задачи:
В компании используется "Управление IT-отделом 8", учёт ведётся по множеству организаций и множеству складов - территориально-распределенное торговое оборудование.
Есть проблема - стандартно для справочника "Карточки номенклатуры" никаких ограничений нет, каждый сотрудник видит все карточки.
Собственно, задача - надо ограничить форму списка "Карточки номенклатуры" только "нужными" позициями, в первую очередь по месту хранения.
Вроде всё однозначно - это номенклатура, обладающая уникальными свойствами, единичные экземпляры.
Но, обращу внимание на последнее предложение, карточка номенклатуры по аналогии с номенклатурой может быть создана до её использования.
Второй вопрос - как часто карточка используется в конфигурации с "архитектурной" точки зрения. Поиск ссылок на объект поможет в этом.
Анализ показывает, что данный справочник связан с другими объектами: справочниками Местоположения и Шаблоны заданий, документами Задание, Изменение показателей оборудования, Инвентаризация, Наряд на работы, Начало обслуживания, Окончание обслуживания, Перемещение, Поступление, Продажа, Разбиение комплектации, Сборка комплектации, Списание, Учет денежных средств, регистрах сведений Бюджеты, Состояние карточек номенклатуры, Статусы карточек номенклатуры, Характеристики, Штрихкоды номенклатуры и в регистрах накопления Закупки, Комплектация, Обслуживание контрагентами, Остатки, Показатели оборудования, Продажи, Ремонты.
Вывод: Решение лежащее на поверхности - добавление реквизита и RLS - приведёт к новым проблемам.
А как же решать:
Найти то, единственное в данном случае место, в которое нужно внести изменения.
Локализуем код, который будем править, в форме списка "Карточки номенклатуры" используется динамический список
Вот его-то и надо исправить для достижения требуемого результата.
Сразу заметим, в запросе левое соединение с регистром "Остатки", который участвует в RLS, и уже одно исправление левого соединения на внутреннее ограничит список карточками номенклатуры, которые есть на остатках на доступных пользователю группах доступа мест хранения. И, собственно, это уже практически тот же результат, что и у "начинающих" программистов.
Но для полноценного решения этого недостаточно.
Следующими доступными пользователю карточками должны стать те, которые в истории "побывали" на доступных пользователю местах хранения. На форме списка они выделяются красным цветом шрифта.
И, наконец, наши созданные, но ещё не использованные карточки.
Собственно, всё это в прилагаемом файле - технология, доступная всем от .Junior'а до Oldschool'а.
Лишь пару примечаний:
В динамическом запросе используется основная таблица "Справочник.КарточкиНоменклатуры", поэтому изменяя запрос можно получить "Обнаружено дублирование...", если не обеспечить одну запись справочника единственной записью при дополнении данных соединением.
Конструируя запрос нужно не забывать, что выполняться он будет под ограниченными правами, и это надо учитывать. Получение незадействованных карточек запросом исключения не сработает.
Работа расширения проверена на Управление IT-отделом 8, редакция 3.1 (3.1.3.15) (softonit.ru).
В заключение:
Надеюсь, данная публикация поможет начинающим в деле становления по пути к экспертам.
И всем тем, кто "ощущает" себя уже "сеньором", но всё ещё выбирает "добавить Склад".
Мои публикации:
Вступайте в нашу телеграмм-группу Инфостарт