gifts2017

Дубли контрагентов. Жесткий запрет на запись дублей [Расширение]

Опубликовал Яковлевич Никита (mrXoxot) в раздел Обработки - Обработка справочников

В типовой конфигурации БП3 можно записывать одинаковых контрагентов, достаточно только нажать "ОК". Исправим эту несправедливость. Запретим бухгалтерам плодить дубли контрагентов. Для этого используем возможность платформы 8.3.6 - Расширения.

Добрый день, коллеги.

В данной публикации содержится расширение для жесткого запрета на запись дублей контрагентов для Бухгалтерии предприятия 3.0.

Суть расширения:

В типовой:

При записи элемента справочника контрагента с одинаковым ИНН и КПП выдается вопрос:

 ВопросДубля

Но бухгалтера - люди занятые и им некогда читать, что им говорит программа - им работать надо. Поэтому в большинстве случаев по умолчанию нажимается кнопка "ОК" и продолжается работа.

В расширении:

При записи элемента справочника контрагента с одинаковым ИНН и КПП выдается предупреждение:

 ПредупреждениеДубля

И элемент не записывается. Надеюсь, это остановит бухгалтера и он сможет осознано принять решение.

Для тех случаев, когда все равно необходимо записать дубль, добавлена команда в "Еще" - "Записать дубль".

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

Как подключить расширение:

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

Итог:

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

Дополнение:

Данное расширение Вы можете забрать с github'а - https://github.com/Oxotka/NotADouble.git.

Хочешь еще больше возможностей для БП3?

Прокачай её!

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Расширение - Жесткий запрет на запись дублей контрагентов
.cfe 38,79Kb
13.09.16
105
.cfe 1.1 38,79Kb 105 Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение

Комментарии

1. Айрат (Craig) 15.05.15 21:12
"+" за оперативное освоение новых технологий (возможность 8.3.6.)
inanity; mrXoxot; PowerBoy; +3 Ответить
2. Анянов Михаил (insurgut) 15.05.15 21:47
3. logdog (logdog) 15.05.15 22:02
Для БП 3.0.40.24 ошибка при старте.

Ошибка подключения расширения: ЖесткийЗапретНаЗаписьДублейКонтрагентов (1.0) - Ошибка свойства РежимСовместимостиИнтерфейса у объекта

Режим совместимости - Не использовать
4. Evgeny Goryachev (gorevg) 15.05.15 22:24
Интересно, а как расширения сказываются на скорости работы в программе. Ведь, как я понимаю, платформа применяет расширение "на лету". Был у кого-нибудь опыт?
5. Яковлевич Никита (mrXoxot) 15.05.15 22:25
(3) logdog,
Да, необходимо снять совместимость с 8.3.5 - это можно сделать в конфигураторе или дождаться когда разработчики БП3 снимут это в типовой конфигурации.
6. logdog (logdog) 15.05.15 22:31
(5) mrXoxot, Я написал, что снято. Прикладываю картинку. http://joxi.ru/zANp9ypS0ZRpm9

Может есть какое-то отличие в коде для БП КОРП и БП?
7. Сергей Ожерельев (Поручик) 15.05.15 22:39
Ух ты, супер. Расширения - это то, что я так долго ждал.
cleaner_it; +1 Ответить
8. Яковлевич Никита (mrXoxot) 15.05.15 22:56
(6) logdog,
Проверил на ПРОФ 3.0.40.24 . Работает, подключается.
Проверял на платформе 8.3.6.1977. Какая у Вас?
9. logdog (logdog) 15.05.15 23:47
(8) mrXoxot, и на 8.3.6.1977 и на 8.3.6.1999 выдает ошибку =( http://joxi.ru/12M79B7TQ1M8rJ
10. Яковлевич Никита (mrXoxot) 16.05.15 00:14
Проблема в режиме совместимости интерфейса. Должно стоять - Такси. Разрешить 8.2, как в типовой. У Вас стоит просто Такси.(9) logdog,
11. logdog (logdog) 16.05.15 00:25
(10) mrXoxot, Да, проблема была в этом. Спасибо.
12. Денис Акимкин (planar74) 16.05.15 13:25
И как они с РИБ работают? Надо каждому узлу отправлять или достаточно в ЦБ загрузить?
13. Павел Алексеенко (qwinter) 16.05.15 14:05
Пока в расширениях нельзя будет добавлять свои справочники, документы, регистры надобности в них нет. Разве что поудобнее будет внешние отчеты цеплять.
Anchoret; AlchiPL; babys; galich; VasMart; 1cmax; Yashazz; +7 Ответить 2
14. Денис Акимкин (planar74) 16.05.15 16:35
(13) qwinter,
"Дополнительных отчетов и обработок" больше не будет?
15. Алексей Ермилов (Alex_E) 16.05.15 16:52
(14) planar74, Почему? Одно другому никак не мешает. Вот возможность в расширении изменить поведение формы хоть того же документа - это проще в расширении сделать. Можно добавить раздел в командный интерфейс и включить туда какой то свой набор данных (из имеющихся в типовой, если её не менять), плюс отчеты и пр., в общем много чего уже можно, но хотелось бы больше :-).
16. Денис Акимкин (planar74) 16.05.15 17:06
(15) Alex_E,
Раздел в командный интерфейс добавить в конфигурации или расширении? Насколько я понял, в расширение нельзя добавлять новые объекты конфигурации. В ряде случаев, конечно, может помочь, но не сильно. Я крайне редко сталкивался с ситуацией, когда форму или обработку проведения приходилось менять без (например) добавления реквизита в конфигурацию.
17. Алексей Ермилов (Alex_E) 16.05.15 17:11
(16) planar74, Подсистему в расширение ввести можно, сейчас пишу настройку, добавил - работает... Вообще проверить, что можно что нельзя достаточно просто - в дереве расширения правой кнопкой на то, что хочется добавить, если активно - то можно.
Про обработку проведения - без подписки на событие не получится, а то, что без изменения данных - давно использую дополнительные реквизиты, в зависимости от которых меняется проведение в подписке.
18. Павел Алексеенко (qwinter) 16.05.15 23:09
(15) Alex_E, одно другое заменяет. На текущий момент именно так. Только внешние печатные формы остаются. Все остальное гораздо удобнее и правильнее делать в расширениях.
19. Алексей Ермилов (Alex_E) 16.05.15 23:15
(18) qwinter,
одно другое заменяет. На текущий момент именно так.
- на текущий момент расширения с типовыми пока ничего не заменяют - чтобы их использовать надо снять конфу с поддержки (совместимости, чтоб их), так что пока типовые с внешими обработками заполнения и пр. остаются актуальными, а жаль - расширения - то чего давно хотелось...
С другой стороны, что в 8.3.6.* понравилось - это режим объединения, то, что можно текст модулей поменять как захочешь в момент объединения - уже много значит, для настроенных...
20. Денис Акимкин (planar74) 17.05.15 07:26
(17) Alex_E,
И как вы эти дополнительные реквизиты в запросах используете? Через левое соединение с проверкой по коду вида характеристики?
21. Алексей Ермилов (Alex_E) 17.05.15 09:06
(20) planar74, По разному, в зависимости от ситуации, иногда через http://infostart.ru/public/288722/, иногда в запросе, "по коду" никогда не использую - доп.реквизиты или сведения создаю программно в любом случае. В запросе через левое соединение, нужный доп.реквизит определяется, чаще всего, по заголовку свойства плана видов характеристик, т.е. пользователю "полета для творчества" оставляю минимум. Пока проблем с этим не было ...
22. Павел Алексеенко (qwinter) 17.05.15 10:11
(19) Alex_E, не думаю что типовые будут долго еще на 8.3.5
23. Алексей Ермилов (Alex_E) 17.05.15 10:59
24. Михаил Зотов (ZOMI) 18.05.15 18:57
Дополнительный вопрос это "жесткий запрет" ?
25. Яков Коган (Yashazz) 18.05.15 19:09
Как показывает опыт, нововведения такого рода энное время лютейшим образом косячат. Я б поостерёгся кидаться ставить это сразу в рабочие механизмы.
veyron21; VasMart; wolfsoft; planar74; +4 Ответить
26. Яковлевич Никита (mrXoxot) 18.05.15 21:40
(24) ZOMI,
Вопрос был в типовом решении.
В расширении никаких вопросов нет. Если есть дубль, то выдается предупреждение. То есть обычным способом записать нельзя.
Но если очень хочется, то можно записать через "Еще"
27. Яковлевич Никита (mrXoxot) 18.05.15 21:41
(22) qwinter,
В опубликованных планах сказано, что 3.0.41 будет без режима совместимости с 8.3.5
То есть, да здравствует 8.3.6.
28. Яковлевич Никита (mrXoxot) 19.05.15 09:27
(12) planar74,
Не проверял как работает в РИБ. Но вот, что удалось найти в документации:

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

Более подробно здесь.

То есть, кажется, что нужно будет подключать для каждого узла своё расширение.
29. Яковлевич Никита (mrXoxot) 19.05.15 09:29
(4) gorevg,
Расширение применяется один раз вначале.
Подключение расширения к сеансу пользователя выполняется перед вызовом обработчика события УстановкаПараметровСеанса и остается подключенным до завершения сеанса


То есть будет просто дольше запускаться программа. На скорость работы, наверное, не должно значимо сказаться.
30. Maximilian Alekseevich (1cmax) 20.05.15 09:47
(13) qwinter, абсолютно поддерживаю, это как в мобильной платформе запросов не было сначала, ждемс
31. Александр Загребельный (hobi) 21.05.15 09:04
Пока в расширениях нельзя будет добавлять свои справочники, документы, регистры надобности в них нет. Разве что поудобнее будет внешние отчеты цеплять.

(18) qwinter, мне кажется, самое существенное в расширениях сейчас -
возможность переопределить типы реквизитов объектов метаданных.
Можно добавить новый тип в составной в критериях отбора, в определяемых типах, в реквизит "Основание", в план видов характеристик.

Еще можно добавлять свои предопределенные значения, определять свои группы команд...
32. Яковлевич Никита (mrXoxot) 21.05.15 22:48
(31) hobi,
Как говорится : "В руках специалиста и табуретка является оружием массового уничтожения".
33. Павел Алексеенко (qwinter) 21.05.15 23:21
(32) mrXoxot, а толку? Не будете же вы добавлять реквизиты отдельно, а форму и типы переделывать в расширении? И как это впоследствии поддерживать?
34. Денис Акимкин (planar74) 22.05.15 01:16
(28) mrXoxot, по ходу, не только каждому узлу, но и каждому пользователю на узле. Весело, ничего не скажешь.
35. Павел Знайкин (PavelZnaikin) 28.05.15 16:22
Народ скажите правильно я понял, что с помощью расширений можно добавлять будет свои Документы, Справочники. Так и изменять форму существующих документов и справочников?
36. Алексей Ермилов (Alex_E) 29.05.15 09:57
(35) PavelZnaikin,
добавлять будет свои Документы, Справочники.
- нет
изменять форму существующих документов и справочников?
- да
37. Алексей Драчков (Bassgood) 11.06.15 18:01
(34) planar74, не каждому пользователю, а для каждого разделителя, если база использует механизм разделения данных, т.е. совсем жестко будет сочетание РИБ + разделение данных.
38. Марина Чирина (chmv) 06.07.15 11:52
39. Андрей Суханцов (&rew) 17.08.15 12:39
Вот тоже осваиваю данный механизм в плане выноса "дописок" для облегчения обновления. Наткнулся на ПВХ. В расширении дает менять составной тип ПВХ, а в режиме предприятия шлет напрочь. Т.е. вопрос - предполагается такая возможность в будущем или просто вследствие сырости не запретили еще менять тип ПВХ в расширении? (вопрос риторический. Время покажет)
40. Евгения Карук (ekaruk) 17.08.15 15:30
(39) &rew, По логике не должно быть такой возможности.
Изменение типа ПВХ физически это изменение структуры БД (добавление новых физических колонок на SQL сервере)
А такой возможности у расширений сейчас нет.
41. Андрей Суханцов (&rew) 19.08.15 11:21
(40) ekaruk, Это все понятно, про таблицы, типы и прочие ограничения, но речь идет о ПВХ. Это некий "хамелеон" от 1С, который как бы сам по себе уникальный вид, но может "притворяться" кем угодно. Понятно что в рамках определенных типов, но всё же. Почему тогда не создать Универсальное ПВХ, и назначить ему в типы все типы (как бы масломаслянно это не звучало), и тащить через все конфы а то и вообще в БСП включить. Это, конечно, я утрирую, но только дабы четче донести свою мыслЮ.
42. Ильшат (shatt) 26.08.15 09:59
Доброго дня! Как обстоит дело с отладкой при создании расширений?
Приходится каждый раз закрывать конфигурацию расширения в конфигураторе, чтобы запустить его в пользовательском режиме.
43. Андрей Суханцов (&rew) 28.08.15 11:44
(42) shatt, Эээ. Да всё нормально вроде как с отладкой. На 8.3.6.1999 (да и выше пробовал) работает стандартно. Работаю на win 7 и server 2008, 2012.
44. Андрей Суханцов (&rew) 28.08.15 14:32
(42) shatt, С ИТСа
В связи с тем, что список расширений является единым и для доступа из конфигуратора и для доступа из «1С:Предприятия», система не позволяет выполнять взаимоисключающие действия. Другими словами, если в Конфигураторе открыто окно с расширением, то его невозможно удалить из списка расширений в режиме «1С:Предприятия». Расширение, во время записи в информационную базу в режиме «1С:Предприятия», в конфигураторе является недоступным для любых операций с ним.
45. Алексей Папанов (El_Loco) 22.09.15 09:45
//правка
я писал пост ниже, а позже сам разобрался.
поясните для танкистов. вот скачал расширение, пытаюсь понять как это работает.
у вас в модуле формы объекта "спр.Контрагенты" две процедуры:
- Процедура ДублиКонтрагентовПередЗаписью()
- Процедура ДублиКонтрагентовЗаписатьДубль()

я только не пойму где они вызываются.

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

поясните, как быть?

я нашел, что, если мы добавляем форму в расширение, то для формы можно также писать обработчики событий формы, среди которых есть ПередЗаписью.
вот простой пример
&НаКлиенте
Процедура Р_ПередЗаписью(Отказ, ПараметрыЗаписи)
	Если НЕ ЗначениеЗаполнено(Объект.НоменклатурнаяГруппа) И НЕ Объект.ЭтоГруппа Тогда
		Отказ = Истина;
		Сообщить("Не заполнен реквизит ""НоменклатурнаяГруппа""!");
	КонецЕсли;
КонецПроцедуры
...Показать Скрыть
46. Яковлевич Никита (mrXoxot) 22.11.15 11:03
(45) El_Loco,

Не совсем верно. Сначала выполняется код из расширения, затем код типового обработчика. Но этот порядок можно изменить.
47. Михаил Сибирёв (SkyHunter) 17.02.16 17:06
Господа, а подскажите, чем может быть чревато отключение режима совместимости в Бух 3.0?
48. Яковлевич Никита (mrXoxot) 17.02.16 19:29
(47) SkyHunter,
На текущий момент ничего отключать не нужно.
На актуальном релизе данное расширение работает корректно.

Совместимость с 8.3.5 была снята в 3.0.41
49. Яковлевич Никита (mrXoxot) 29.07.16 09:01
Обновил расширения для Бухгалтерия 3.0.44
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа