Задача: При проведении проверять на заполненность реквизит сотрудник, и если этот реквизит не заполнен - не проводить документ.
Проблема: В 8.1 нет свойства у реквизита "проверка заполнения". Есть свойство "АвтоОтметкаНезаполненного" но оно только подчеркивает красным поле.
Нашел что это можно сделать через метод ОбработкаПроверкиЗаполнения(...) Но не при проведении, ни при записи этот метод не вызывается. Получается что его надо вызывать. Добавил вызов в ПриЗаписи();
Если конфа стандартная - то лучше проверять в подписке. Там доступен Источник: типа так - Если не значениеЗаполнено(Источник.Сотрудник) тогда отказ=истина
Если конфа стандартная - то лучше проверять в подписке. Там доступен Источник: типа так - Если не значениеЗаполнено(Источник.Сотрудник) тогда отказ=истина
На счет подписки не понял. Есть какая-то Глобальная функция или метод которая вызывается При записи документа?
Цитата(logist @ 02.07.14, 12:53)
Можно. Вызывать проверку ПередЗаписью, это уменьшит дерганье базы.
Да, действительно, не задумывался над этим.
Но мне мой код, тот что выше все равно не подошел. Я не могу отследить записался ли документ чтобы сообщить пользователю что он реквизит не заполнил. Т. е. переменная Отказ в обоих случаях остается Ложь, хотя документ и не проводиться.
Прийдется делать по старинке.
1С:Предприятие 7.7 БУ + ТиС + ЗП и кадры 7.70.031 для Украины 1С:Предприятие 8.3 УТП для Украины 1.2.28.1 (обычные формы)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Ardi @ 02.07.14, 17:07)
Тогда мы не сможем сохранить недозаполненный документ. Это неправильно.
Ок, вставьте, ту же строчку, в ОбработкуПроведения
p.s. почему порекомендовал именно так - бывают случаи когда людей надо приучивать сразу заполнять необходимые реквизиты, может быть полезно там - где это ключевой реквизит, например.
Личные бесплатные консультации не даю, для этого есть форум!
а вынести кнопку на форму "проверка на заполнение" кроме стандартной проверки... мне всегда было удобней лишний раз кляцнуть на "синтакс-контроль" в конфигураторе, чем потом в Предприятии обнаруживать и вылетать с программы опять. Пользователь не обидится.
Цитата(logist @ 02.07.14, 13:39)
p.s. почему порекомендовал именно так - бывают случаи когда людей надо приучивать сразу заполнять необходимые реквизиты, может быть полезно там - где это ключевой реквизит, например.
да. особенно, когда программист или пользователь сам хочет протестировать выполнение чего-то, там, не связанного с заполнением реквизита - одно удовольствие все десять подряд вылетать с проведения
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8
Цитата(Rayne @ 03.07.14, 8:32)
В стандартных конфигурациях проверка заполнения реквизитов всегда в обработке проведения.
А когда-то давно (ещё может в 8.0), возможно, этого сделать нельзя было, потому что определить что документ именно проводится можно было только в ОбработкаПроведения (то же самое и в 7.7). А теперешним конфигурациям, которые не на управляемых формах по сколько лет с какой версии платформы они начинали разрабатываться? А в конфигурациях, которые изначально разрабатывались на платформе 8.2 - такого нету.
Цитата(Log1c @ 03.07.14, 11:56)
Я как раз занимался полгода переписыванием проверок из ОбработкиПроведения в ПриЗаписи. ИМХО надо отлавливать неверные данные как можно раньше.
Я тоже так считаю. Но надо было это переносить хотя бы в ПередЗаписью и там смотреть документ проводится или просто записывается и выполнять проверку только если проводится.
Группа: Местный
Сообщений: 86
Спасибо сказали: 17 раз
Рейтинг: 0
Цитата(Vofka @ 03.07.14, 12:06)
А когда-то давно (ещё может в 8.0), возможно, этого сделать нельзя было, потому что определить что документ именно проводится можно было только в ОбработкаПроведения (то же самое и в 7.7).
О как. Как-то даже не задумывалась, проверка там не мешала никогда.
1С - как старый советский конструктор для детей. Вроде и все детали на месте, но без молотка и напильника нифига не собирается. (с) bash.im
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8
Цитата(Rayne @ 03.07.14, 14:12)
проверка там не мешала никогда.
Это смотрю кому . Часто задача может решаться более чем 1 способом. Какой-то способ лучше, какой-то хуже, но конечный результат будет одинаковый. Кстати я свой пост выше изменял и не дочитал, что немного потерялся смысл.
Цитата(Vofka @ 03.07.14, 12:06)
А когда-то давно (ещё может в 8.0), возможно, этого сделать нельзя было
Под "этого" имелось ввиду определить в момент записи, что документ проводится.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!