Альфа-Авто 4,5 обязательные поля

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Альфа-Авто 4,5 обязательные поля
 
Здравствуйте!
Можно ли сделать так, чтобы в справочник "Контрагенты" нельзя записать нового контрагента, если у него не указана контактная информация такого рода:
1)Индекс
2)Адрес
3)Телефон
Можно это сделать как-нибудь простым путем?
 
Цитата
Петр Усольцев пишет:
Здравствуйте!
Можно ли сделать так, чтобы в справочник "Контрагенты" нельзя записать нового контрагента, если у него не указана контактная информация такого рода:
1)Индекс
2)Адрес
3)Телефон
Можно это сделать как-нибудь простым путем?
Подписка на событие "Перед записью" для справочника "контрагенты", в обработчике события проверять заполнение контактной информации. Если не заполнено, то "Отказ = Истина"
 
Но контактная информация хранится в регисре сведений
Тоесть контактная информация не может быть добавлена, если не записан элемент справочника "Контрагенты"
А мне нужно наоборот, чтоб не позволял записывать элемент справочника контрагенты, если нет контактной информации.
Но я смотрю тут вроде технически это невозможно
 
Нет технически все же возможно.
Мне дали задание, чтобы заказ-наряды не могли оформить если у Заказчика нет контактной информации типа: "телефон" и "адрес"

Я в модуле объекта в документе "Заказ-наряд" в процедуре "ПередЗаписью" в конец поставил такой текст:
Код
   УказанАдрес = Ложь;
   УказанТелефон = Ложь;
Запрос = Новый Запрос("ВЫБРАТЬ
   |   КонтактнаяИнформация.Объект,
   |   КонтактнаяИнформация.Тип
   |ИЗ
   |   РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
   |ГДЕ
   |   КонтактнаяИнформация.Объект = &Контрагент");
   Запрос.УстановитьПараметр("Контрагент", Заказчик);
   Выборка = Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() Цикл
      
      Если Выборка.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
          УказанТелефон = Истина;
      ИначеЕсли Выборка.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
           УказанАдрес = Истина;
      КонецЕсли;
       
   КонецЦикла;
   
   Если (не УказанТелефон) или (не УказанАдрес) Тогда
      Сообщить("У данного контрагента не указан или адрес, или
             |телефон. Зайдите в карточку контрагента и исправьте. После чего запись будет доступна");
      Отказ=Истина; Возврат;   
   КонецЕсли;
 
Добрый день, Петр, есть возможность разрешить ввод контрагента без источника информации и телефона (права №30303 и 30304).
 
Спасибо!
А как можно сделать обязательными поля для заполнения в Адресе:
-Регион
-Город
-Улица
-Дом
??

У нас решились взяться за полные данные о клиентах..
 
Штатных средств нет.
 
Жалко :(
Ну я тут поэкспериментировал на тестовой базе.
У меня получилось.
Если кому это будет интересно то вот что я сделал:
1)Открыл обработку "РедактированиеКонтактнойИнформации"
2)В ней в свойствах полей, которые необходимо обязательно заполнять поставил флажок "АвтоОтметкаНезаполненного"
Благодаря этому - поля стали подчеркнутыми красной линией.
3)Открыл модуль объекта этой обработки, нашел там процедуру "Запись" и добавил туда код
Код
   //УПВ+   
   Если (Поле2 = "") или (Поле4 = "") или (Поле6 = "") или (Поле7 = "") Тогда
      Сообщить("Проверьте заполнение полей: 'Регион', 'Город', 'Улица', 'Дом'");
      Возврат Ложь;
   КонецЕсли;   
   //УПВ-
   
   
   Если СтрокаПустыхПараметров <> "" Тогда
      СтрокаПустыхПараметров  = "Не заполнены следующие поля: " + Лев(СтрокаПустыхПараметров, СтрДлина(СтрокаПустыхПараметров)-1);
      Сообщить("Запись контактной информации невозможна!", СтатусСообщения.Внимание);
      Сообщить(СтрокаПустыхПараметров, СтатусСообщения.Важное);
      Возврат Ложь;
   КонецЕсли;


Кусок кода, охваченный Абривиатурой "УПВ+" и "УПВ-" - это мой код.
В результате сначала сработает моя проверка, а затем общая, если при моей проверке не выйдет ошибка о том что нужные поля не заполнены
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С