|
ПроверятьЗаполнениеАвтоматически | ☑ | ||
---|---|---|---|---|
0
Anempadest
27.09.11
✎
18:49
|
Пишу внешнюю обработку.
1) Для формы пометил флаг ПроверятьЗаполнениеАвтоматически. 2) Для формы установил событие ОбработкаПроверкиЗаполнения(). 3) Для реквизитов установил "Проверка заполнения=Выдавать ошибку". Нажимаю "Выполнить" и никакая проверка заполнения не выполняется, сразу выполняется КнопкаВыполнитьНажатие(). Что я не понимаю и что я делаю не так? |
|||
1
Mort
27.09.11
✎
19:12
|
А что такое кнопка "Выполнить" ?
|
|||
2
Anempadest
27.09.11
✎
19:20
|
(1) Кнопка "Выполнить" - это кнопка по умолчанию на форме внешней обработки. По нажатию на эту кнопку выполняется то, ради чего была написана внешняя обработка.
|
|||
3
Mort
27.09.11
✎
19:27
|
(2) То что она по-умолчанию, ещё не повод вызывать обработку проверки заполнения автоматом.
|
|||
4
sprinter83
27.09.11
✎
19:30
|
Если НЕ ПроверитьЗаполнение() Тогда
Возврат; КонецЕсли; |
|||
5
Anempadest
28.09.11
✎
18:50
|
(4) Спасибо! Тогда второй вопрос. Пишу внешнюю обработку по загрузке цен. Импортируем цены из прайса поставщика (экселовский файл).
Сначала нажимаем кнопку "Загрузить из файла". Артикул находится в колонке "1", а цена находится в колонке "5". К тому же начинаются данные со строки "19", а заканчиваются на строке "2895". Поэтому в обработке предусмотрел реквизиты: - НомерПервойСтроки - НомерПоследнейСтроки - НомерКолонкиАртикул - НомерКолонкиЦена Загруженные данные помещаются в табличное поле. Менеджер, который загружает цены, визуально анализирует данные и потом... Нажимаем кнопку "Создать документ". Из табличного поля данные заносятся в новый документ "УстановкаЦенНоменклатуры". В документе нужно заполнить ещё несколько реквизитов: - ТипЦен - Валюта - Процент скидки (наценки) А если товара нет в справочнике, то создаём новую номенклатуру. Для этого предусматриваем заполнение таких реквизитов: - ВидНоменклатуры - БазоваяЕдиницаИзмерения - СтавкаНдс Две кнопки выполняют разные действия. При выполнении каждого действия пользователь должен заполнить на форме обработки разные группы реквизитов. Вопрос: Как сделать так, чтобы при нажатии кнопки А проверялось заполнение реквизитов группы А, а при нажатии кнопки Б проверялось заполнение реквизитов группы Б? Теоретически, можно вручную описать проверку каждого реквизита. Но, может быть, можно как-то упростить проверку? |
|||
6
Mort
28.09.11
✎
19:13
|
Сделай кнопку "проверить" данные, которая до загрузки подсветит ячейки где менеджер должен указать данные.
|
|||
7
Anempadest
28.09.11
✎
19:20
|
(6) То есть, всё-таки, нажимай на кнопку "Загрузить из файла" или на кнопку "Создать документ", но проверяться будут ВСЕ данные?
|
|||
8
sprinter83
28.09.11
✎
19:34
|
Можно описать в ОбработчикеПроверкиЗаполнения
Какие реквизиты в каком случае проверять. Но в случае внешней обработки, да и вообще обработки у меня такое не получалось. Там в качестве проверяемых объектов стоит "ОбработкаОбъект" и всё, ни прибавить ни отнять. Точнее прибавить можно, но из списка проверяемых полей убрать что-то не получается. Приходилось свою функцию писать. Хотя если это не реквизиты объекта, а реквизиты формы, тогда может всё в ОбработчикеПроверкиЗаполнения попробовать сделать. |
|||
9
sprinter83
28.09.11
✎
19:41
|
Пример из книги
&НаСервере Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты) Если ПроверятьОтветственного = Ложь Тогда //уберём поле ответственный из списка обязательных полей ИндексОтветственного = ПроверяемыеРеквизиты.Найти("Ответственный"); ПроверяемыеРеквизиты.Удалить(ИндексОтветственного); КонецЕсли; КонецПроцедуры |
|||
10
Anempadest
28.09.11
✎
20:52
|
(9) Благодарю! На какую книгу ссылка, кстати?
|
|||
11
sprinter83
28.09.11
✎
20:56
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |