Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2017, 15:23
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Обойти проверку реквизита на уровне формы  (Прочитано 5505 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xDD

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2011-11-18
  • Сайт: 
  • Профессия: Программист 8.1
Следующая ситуация в реквизите документа "Адрес доставки" поставил в свойстве "проверка заполнения" - Выдавать ошибку.
В документе в случае изменения реквизита "способ доставки", нужно отключать проверку поля  "Адрес доставки" на обязательное заполнение.
На сколько я понял убрать его можно из проверки в процедуре ОбработкаПроверкиЗаполнения, она вызывается при проведении документа.
При попытке провести документ, до события проведения и записи не доходит. Выполняется проверка на уровне формы, выходит сообщение Не заполнен реквизит
Адрес доставки.
Вопрос где происходит проверка на уровне формы и как в данном случае по условию обходить проверку?
http://gyazo.com/8a4ff476b9e3e17032d71a55bad372f9


Оффлайн Rasty

  • *****
  • Сообщений: 988
  • РЕПУТАЦИЯ: 139
  • КПД: 14%
  • Регистрация: 2015-03-25
    • Skype: alex1cbit
  • Сайт: 
  • Профессия: Программист 1С
так вы сделайте процедура ПриИзменении реквизита способа доставки
Если СпособДоставки = Что-тоТам Тогда
    Элементы.адресдоставки.проверказаполнения = Ложь
Код примерный, но работать должно =)
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Оффлайн xDD

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2011-11-18
  • Сайт: 
  • Профессия: Программист 8.1
Вопрос закрыт
Добавлено: 29 Май 2015, 17:52

точку останова обработки заполнения поставил не на тот документ

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
xDD,

УправляемаяФорма (ManagedForm)
ОбработкаПроверкиЗаполненияНаСервере (FillCheckProcessingAtServer)
Синтаксис:

ОбработкаПроверкиЗаполненияНаСервере(<Отказ>, <ПроверяемыеРеквизиты>)
Параметры:

<Отказ>

Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись выполнена не будет.
Значение по умолчанию: Ложь.
<ПроверяемыеРеквизиты>

Тип: Массив.
Массив путей к реквизитам, для которых будет выполнена проверка заполнения. Массив может быть модифицирован удалением или добавлением путей к необходимым реквизитам.
Описание:

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

// Проверим заполненность реквизита "Покупатель"
Если Не ЗначениеЗаполнено(Покупатель) Тогда
   
    // Если он не заполнен, сообщим об этом пользователю
    Сообщение = Новый СообщениеПользователю();
    Сообщение.Текст = "Не указан Покупатель, на которого выписывается товарная накладная!";
    Сообщение.Поле = "Покупатель";
    Сообщение.Сообщить();
       
    // Сообщим платформе, что мы сами обработали проверку заполнения реквизита "Покупатель"
    ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Покупатель"));
    // Так как информация не консистентна, то продолжать работу дальше смысла нет
    Отказ = Истина;
       
КонецЕсли;
   
КонецПроцедуры

 

Примечание:

Для формы документа, если при конфигурировании для документа свойство Проведение установлено в Разрешить, событие вызывается только при проведении.
Если документ не проводится (свойство Проведение установлено в Запретить), то вызывается при записи.
Для формы бизнес-процесса вызывается расширением формы при старте бизнес-процесса.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
так вы сделайте процедура ПриИзменении реквизита способа доставки
Если СпособДоставки = Что-тоТам Тогда
    Элементы.адресдоставки.проверказаполнения = Ложь
Код примерный, но работать должно =)

Нифига нет такого свойства :^454^:
Это свойство самого реквизита объекта, а не элемента формы!
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

Не работает метод Сдвинуть() по отношению к программно добавляемой колонке1С:Предприятие 8.3 (8.3.10.2561) Управление производственным предприятием, редакция 1.4 Приветствую, я добавляю программно свою колонку в методе ПриОткрытии() модуля формы, вот так

Автор InsiderРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 277
Последний ответ 21 Сен 2017, 10:33
от Insider
Редактирование формы "Настройки пользователя".

Автор t955938Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4806
Последний ответ 03 Авг 2011, 11:45
от t955938
Как обратиться к функции модуля формы из модуля Менеджера?

Автор TreeDogNightРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 4980
Последний ответ 10 Июл 2014, 14:05
от cska-fanat-kz
Настройка формы "Заполнение товаров"

Автор ЖаннаРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 580
Последний ответ 10 Мар 2017, 21:00
от Жанна
Как записать в поле ввода "Единица Измерения", которое заполняется через выбор из формы.

Автор Ivan94Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 270
Последний ответ 12 Окт 2017, 14:30
от Ivan94

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
162 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
56 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal