Меню сайта
Категории раздела
Администрирование и Конфигурирование [6]
Администрирование




Строительная компания Красный слон














Яндекс.Погода

Рейтинг@Mail.ru






Анализ сайта ihelp23.ru

CCleaner - System Optimization

Главная » Статьи » » Администрирование и Конфигурирование

Запрет дублирования номенклатуры в 1С
Запрет дублирования номенклатуры в 1С

Для создания запрета дублирования контрагентов в 1С нам будут необходимы:

  1. Подписка на событие, которая будет выполнять перехват записи контрагента и выполнять свою обработку в стандартной процедуре «Обработка проверки заполнения»;
  2. Серверный общий модуль, в который будет введен код обработки подписки на событие.

Создаем общий модуль. Для этого в дереве конфигурации раскрываем пункт Общие — ставим указатель на пункт «Общие модули» и нажимаем кнопку «Добавить» из контекстного меню, вызываемого нажатием правой клавиши мыши или в панели сверху (круглая зеленая кнопка с плюсом).

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

Создаем подписку на событие. Для этого раскрываем дерево конфигурации и устанавливаем указатель на «Общие» — «Подписки на события» и так же нажимаем «Создать».

В свойствах задаем Имя «ЗапретДублированияКонтрагентов»; выбираем источник, чье событие мы перехватываем, — это объект справочника «Контрагенты» (соответственно, в источнике устанавливаем «СправочникОбъект.Контрагенты»); выбираем событие «ОбработкаПроверкиЗаполнения». В поле обработчик жмем кнопку «Открыть», и из открывшегося списка общих модулей выбираем созданный нами выше общий модуль «ДублированияКонтрагентов».

После корректного выполнения всех операций у вас должен появиться код объявления процедуры ЗапретДублированияКонтрагентовОбработкаПроверкиЗаполнения (Источник, Отказ, ПроверяемыеРеквизиты) в общем модуле «ДублированияКонтрагентов».

Пишем внутри процедуры следующий код:

Процедура ЗапретДублированияНоменклатурыОбработкаПроверкиЗаполнения1(Источник, Отказ, ПроверяемыеРеквизиты) Экспорт

// Вставить содержимое обработчика.

// Проверка осуществляется только для номенклатура с заполненным Наименованием

Если Не ЗначениеЗаполнено(Источник.Наименование) Тогда

Возврат;

КонецЕсли;

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ПРЕДСТАВЛЕНИЕ(Номенклатура.Код) КАК Код,

| ПРЕДСТАВЛЕНИЕ(Номенклатура.Наименование) КАК Наименование

|ИЗ

| Справочник.Номенклатура КАК Номенклатура

|ГДЕ

| Номенклатура.Наименование = &Наименование

| И Номенклатура.Артикул = &Артикул";

Если Не Источник.ЭтоНовый() Тогда

Запрос.Текст = Запрос.Текст + "

|И Номенклатура.Ссылка <> &ссылкаТекущаяНоменклатура";

КонецЕсли;

Запрос.УстановитьПараметр("Наименование", Источник.Наименование);

Запрос.УстановитьПараметр("Артикул", Источник.Артикул);

Запрос.УстановитьПараметр("ссылкаТекущаяНоменклатура", Источник.Ссылка);

РезультатЗапроса = Запрос.Выполнить();

Если Не РезультатЗапроса.Пустой() Тогда

ТекстСообщения = "Существуют контрагенты с таким же Наименование/Артикул ("+Источник.Наименование+"/"+Источник.Артикул+"). Их коды:";

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

ТекстСообщения = ТекстСообщения + Символы.ПС + ВыборкаДетальныеЗаписи.Код;

КонецЦикла;

Сообщение = Новый СообщениеПользователю;

Сообщение.Текст = ТекстСообщения;

Сообщение.Сообщить();

Отказ = Истина;

КонецЕсли;

 

КонецПроцедуры







 
Категория: Администрирование и Конфигурирование | Добавил: ITtech23 (22.06.2017) E W
Просмотров: 2642 | Теги: УТ 10.3, Номенкратура, | Рейтинг: 5.0/2
Всего комментариев: 0
avatar


Формула 27 Краснодар Место встречи Дальневосточников

Строительная компания Красный слон

thumb

FL.ru – фриланс сайт удаленной работы №1. Поиск удаленной работы, фрилансеры.

thumb

Клуб студентов "Технарь". Расчетные работы, курсовые, дипломы, лабораторные работы, чертежи. Все что может понадобиться студенту технарю! Студенческий форум!





Качественное создание сайтов

Cloudim - онлайн консультант для сайта бесплатно.


Расскажи друзьям:



Узнай свой IP адрес
Проверить