Версия для печати темы (https://pro1c.org.ua/index.php?s=16a62534fa5449db8265d069bf0bcd64&showtopic=18943)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Проверка обязательности заполнения реквизитов справочника

Автор: onsamuy 23.07.14, 8:13

Доброго всем дня.
Уже сутки ломаю голову, не могу придумать как разрулить ситуацию. Клиент просит проверять контрагента ( конфигурация УТ ) на обязательность заполнения реквизитов. Ну да, если это реквизит наименование, то пара пустяков - перед записью, если ЭтоНовый проверяем. А если это непрямой реквизит, например контактное лицо контрагента? Уже передЗаписью не катит, потому как уже должна быть ссылка контрагента!!! Уже что только не придумывал:
1. ПередЗаписью проверять, если ЭтоНовый, то проверку игнорировать. Но тогда юзер особо не парясь нажмет Записать, Закрыть, и всьо.
2. Тулить проверку в форму в ПередЗакрытием(), тоже не айс, каждый раз будет матюкаться, и кроме того уже есть старые контрагенты, кроме того будет матюкаться ВСЕМ юзерам, даже тем кто не имеет никакого отношения к заполнению контрагентов
2. ПередЗаписью(), если ЭтоНовый, писать ссылку в какой то РС, типа КонтрагентыПодлежащиеПроверке, а затем в форме ПередЗакрытием() проверять, если есть ссылка в РС, то проверять реквизиты, ну а после заполнения реквизитов убирать ссылку из РС. И тут тоже есть затык, например захотят создать тестового юзера без телефонов, адресов и пр. Хотя этот вариант мне более всего по душе.

Автор: Petre 23.07.14, 9:07

ПослеЗаписи()

Автор: Rayne 23.07.14, 9:10

Была у меня такая задачка... Только мне надо было основное контактное лицо проверять. И еще адреса и телефоны. При этом, к адресам и телефонам можно обратиться и проверить в процедуре ПередЗаписью() в форме (ЭлементыФормы.КонтактнаяИнформация.Значение). Поэтому я на тот момент ограничилась просто сообщением о том, что значение не заполнено.

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

Автор: onsamuy 23.07.14, 9:12

Цитата(Petre @ 23.07.14, 10:07) *
ПослеЗаписи()


Нет, потому как проверять можно будет только при повторной записи

Автор: Petre 23.07.14, 9:21

Т. е. проверять надо только новые?

Автор: Fabri 23.07.14, 22:25

Уже передЗаписью не катит, потому как уже должна быть ссылка контрагента!!! - http://pro1c.org.ua/redirect.php?http://kb.mista.ru/article.php?id=320&

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua