Запрет ввода повторяющихся значений 1с
Дата запрета редактирования данных — стандартная функция конфигураций 1С 8.3. Данный механизм позволяет задавать ограничения для редактирования, добавления, удаления и проведения документов ранее определенной даты. Иначе говоря, позволяет закрыть период для редактирования . Запрет можно устанавливать как в целом во всей программе. Так и по отдельным объектам, например, по организациям. Так же его можно установить для определенных пользователей.
На что влияет дата запрета
После установки запрета редактирования будет запрещено изменение, проведение и удаление документов. Таким образом, дата запрета
не позволяет записать существующий документ с датой, входящей в период запрета
запрещает сохранить новый документ с датой, входящей в период ограничений
не позволяет удалить документы, помеченные на удаление, с датой, входящей в запрещенный период
Простая настройка даты запрета
Для включения функции запрета редактирования необходимо перейти в раздел Администрирование (Администрирование и НСИ) – Настройки пользователей и прав . На открывшейся форме необходимо включить флажок Даты запрета изменения и перейти по ссылке Настроить .
Самой простой является настройка общей даты запрета для всех пользователей. При такой настройке никто, даже вы сами, не сможете изменить документы в закрытом периоде. Для их корректировки придется отключать или изменять дату запрета.
Общие ограничения по пользователям
Когда требуется назначить ограничения для определенных пользователей, необходимо перейти на вкладку По пользователям. Далее необходимо указать с помощью кнопки Подобрать нужных пользователей. Таким образом, можно настроить даты запретов в зависимости от компетенции и должности того или иного пользователя системы.
Ограничения по разделам и объектам
Важной настройкой ограничений является возможность установки запрета на определенные разделы и объекты учета. В поле Указывать дату запрета доступны следующие значения:
- Общая дата – дата запрета задается для всех данных.
- По разделам – для каждого раздела программы устанавливается своя дата запрета. При этом становится доступным список, в который можно добавлять Разделы и указывать для каждого раздела свое значение даты запрета.
- По разделам и объектам – даты запрета задаются и в разрезе разделов, и в разрезе объектов. Для каждого объекта устанавливается своя дата запрета. Если выбрано это значение, то становится доступным список, в который можно добавлять объекты и указывать для каждого объекта свое значение даты запрета.
Например, способ указания по разделам и объектам , можно использовать, когда в системе ведется учет по нескольким организациям.
Запрет редактирования полей таблицы по условию
Область применения: управляемое приложение.
Методическая рекомендация (полезный совет)
В некоторых случаях требуется предупредить пользователя о том, что ввод тех или иных данных в таблице управляемой формы не имеет смысла или вообще не может быть выполнен до заполнения других полей таблицы. В таких случаях рекомендуется применять описанный ниже прием.
Для предупреждения пользователя применять свойства поля ОтображениеПредупрежденияПриРедактировании и ПредупреждениеПриРедактировании Текст предупреждения указать в свойстве поля формы при разработке формы в конфигураторе. Управлять свойством ОтображениеПредупрежденияПриРедактировании из встроенного языка при активизации строки таблицы и при изменении тех значений, которые влияют на условие редактирования поля Дать пользователю возможность редактирования уже введенное значение, даже если оно введено "не по правилам", для того, чтобы пользователь мог удалить ранее введенное значение.Например, в таблице формы Затраты имеются поля СтатьяЗатрат и АналитикаСтатьиЗатрат . При этом заполнение поля АналитикаСтатьиЗатрат не имеет смысла без заполнения поля СтатьяЗатрат . Тогда код формы может включать примерно следующие процедуры.
&НаКлиенте
Процедура УстановитьПредупреждениеПриРедактировании()
Если НЕ ЗначениеЗаполнено(Элементы.Затраты.ТекущиеДанные.СтатьяЗатрат) Тогда
Если НЕ ЗначениеЗаполнено(Элементы.Затраты.ТекущиеДанные.АналитикаСтатьиЗатрат) Тогда
Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании =
ОтображениеПредупрежденияПриРедактировании.Отображать;
Иначе
Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании =
ОтображениеПредупрежденияПриРедактировании.НеОтображать;
КонецЕсли;
Иначе
Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании =
ОтображениеПредупрежденияПриРедактировании.НеОтображать;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗатратыПриАктивизацииСтроки(Элемент)
УстановитьПредупреждениеПриРедактировании();
КонецПроцедуры
&НаКлиенте
Процедура ЗатратыСтатьяЗатратПриИзменении(Элемент)
УстановитьПредупреждениеПриРедактировании()
КонецПроцедуры
&НаКлиенте
Процедура ЗатратыАналитикаСтатьиЗатратПриИзменении(Элемент)
УстановитьПредупреждениеПриРедактировании()
КонецПроцедуры
В том случае если от некоторых условий зависит не только сама необходимость предупреждения, но и текст самого предупреждения, следует управлять из встроенного языка не только свойством поля ОтображениеПредупрежденияПриРедактировании , но и свойством ПредупреждениеПриРедактировании .
Настраиваемая проверка наличия дублей перед записью элементов справочников. Возможность поиска по нескольким полям.
Артикул 409 Цена 3000 руб. Последнее обновление 2021-05-03 Изменение конфигурации Не требуется- Бухгалтерия предприятия 3.0
- Управление торговлей 11.4
- Управление торговлей 3 (KZ) *
- Комплексная автоматизация 2.4 (KZ) *
- Управление торговлей 3 (BY) **
- Комплексная автоматизация 2.4 (BY) **
- Управление предприятием ERP 2.4
- Комплексная автоматизация 2.4
- Розница 2.3
- Управление нашей фирмой 1.6
- Бухгалтерия для Казахстана 3.0
Разработка позволяет произвольным образом настроить проверку уникальности перед записью новых элементов в ЛЮБОМ справочнике информационной базы. При этом проверка может производиться не только по реквизитам элементов, но и по значениям контактной информации.
Допустим, нам требуется обеспечить отсутствие дублей в справочнике Партнеры и Характеристики номенклатуры . Для первого справочника в качестве поля уникальности будем использовать телефон в контактных данных, а одинаковость характеристик будем проверять по сочетанию наименования и владельца.
Откроем форму настроек.
На форме настроек выводится список всех справочников, которые существуют в базе. При выделении строки с нужным справочником справа выводится справка по тем реквизитам, которые возможно использовать для контроля дублей. Нужный реквизит перенесем в колонку Реквизиты проверки .
Если реквизитов проверки несколько, перечисляем их через запятую.
Если дублями необходимо считать элементы, у которых совпадают значения всех реквизитов проверки, необходимо установить флаг Совместно . В противном случае дублями будут считаться элементы, у которых совпадает значение хотя бы одного реквизита проверки.
Теперь при записи нового (или изменении текущего) партнера программа проверяет его телефон, и если он не уникальный, то запись заканчивается ошибкой.
Сохранить характеристику с неуникальной комбинацией наименования и владельца тоже не получится.
Проверка на уникальность выполняется и при интерактивной (вызванной пользователем) и при программной (когда выполняется какой-то скрипт, без непосредственного участия пользователя) записи элементов.
Проверка на уникальность не выполняется при обмене данных между конфигурациями (когда создание/изменение элемента вызвано сторонней конфигурацией).
Для корректной работы расширения необходимо отключить Безопасный режим .
Вас может заинтересовать
В данном видео даются разъяснения, необходимые для понимания того, что такое права, роли и профили групп доступа. Затем создается пользователь и происходит базовая настройка прав него.
В данном видеоуроке рассмотрен процесс создания нового профиля группы доступа в 1С:Предприятие 8 (на примере Бухгалтерии предприятия 3.0).
В данном видеоуроке показано, как на практике применить механизм ограничения доступа на уровне записей RLS (record level security) в 1С:Предприятие 8 (на примере Бухгалтерии предприятия 3.0 и Управления торговлей 11).
Данная тема не нова, но подобные вопросы периодически возникают у начинающих программистов. Здесь приведены примеры работающих запросов в 1С .
1. Процесс поиска дублей в 1С, используя группировку
Первый запрос выбирает ИНН, которые встречаются более 1 раза и помещает их в виртуальную таблицу 1С.
Во втором запросе находим тех контрагентов, ИНН которых входит в виртуальную таблицу 1С, и готовим вывод с удобной группировкой.
2. Поиск соединением таблиц в 1С
Несмотря на изящность решения, такой запрос выполняется гораздо дольше, чем с группировкой в 1С 8,3.
Даже вариация первого варианта с соединением таблиц 1С выполняется дольше.
Рис. 3 Поиск дублей соединением таблиц – не самый быстрый, но эффективный способ Рис. 3 Поиск дублей соединением таблиц – не самый быстрый, но эффективный способТем не менее, это работает.
3. Поиск дублей как комбинации реквизитов
Например, ищем контрагентов, имеющих одинаковые ИНН и КПП.
Рис. 4 Поиск дублей как комбинации одинаковых реквизитов в 1С Рис. 4 Поиск дублей как комбинации одинаковых реквизитов в 1СИдея, аналогична первому варианту. Создаем виртуальную таблицу, содержащую повторяющиеся пары ИНН/КПП. Отбираем Контрагентов, у которых пара значений ИНН/КПП встречается в виртуальной таблице 1С . Готовим удобный вывод, добавляя ИТОГИ. Поле Ключ создано для удобства вывода итоговых строк.
4. Использование библиотеки стандартных подсистем в типовых решениях 1С
В типовых решениях используется Библиотека стандартных подсистем , в которой присутствует подсистема « Поиск и удаление дублей 1С ».
Чаще всего пользователи используют одноименную обработку данной подсистемы, которая размещена в «Администрирование» (или «НСИ и Администрирование») → Обслуживание → Корректировка данных → Поиск и удаление дублей 1С» .
К функциям подсистемы можно обращаться и программно. Они расположены в общем модуле ПоискИУдалениеДублей . Например:
Читайте также: