Имя: Пароль:
1C
1С v8
Перенос проверок заполнения в форме записи из её модуля в модуль набора записей
0 neitrosha
 
28.03.13
11:11
Добрый день.
Суть задачи - есть регистр сведений, куда я добавляю места работы сотрудников. При добавлении туда нового места работы происходят проверки ("ПриЗаписиНаСервере"), например:

&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если  Строка(Запись.ТипЗаписиСпециалиста) = "Сотрудник" Тогда
   ПроверкаДатСпециалистов(Отказ);
КонецПроцедуры;

&НаСервере
Процедура ПроверкаДатСпециалистов(Отказ)
Если Запись.ДатаПриема = '00010101' Тогда
// Сотрудник должен быть принят на работу в какую-то дату.
   Сообщить("Вбейте дату приема сотрудника на работу");
   Отказ = Истина;
ИначеЕсли Запись.ТекущееМестоРаботы = Истина Тогда
// Если текущее место работы, то не нужна проверка.
   Отказ = Ложь;
КонецЕсли
КонецПроцедуры.

Это если коротко.

А как перенести это всё на модуль набора записей? Я никогда раньше с ним не работал (учусь 1С) и не понимаю зачем. "Проф. разработка в 1с 8" ясного ответа не дала - не понял. Про модуль набора записей нашел только на одной картинке там, но не с текстом.

Вообще, как сделать эти проверки? Я пытался перенести в модуль набора "ПриЗаписи", но он ругается на отсутствие "Записи", например. И не может найти процедуру "ПроверкаДатСпециалистов".

И зачем переносить, какой смысл? Эти проверки работают при интерактивном вводе, да. Но даже если выгрузить с другой базы специалистов в мою с их работами, то эти проверки всё равно будут работать так-то из-за того, что проверяется всё при закрытии.
1 rutony
 
28.03.13
11:19
(0) Набор записей это по сути таблица со строчками из записей, с наложенным отбором на нее.

Смысл есть, если записи редактируются не по одной, а списком, например, табличной частью у документа.

Если я вообще понял вопрос...
2 neitrosha
 
28.03.13
11:24
(1) Вопрос ты правильно понял.
->например, табличной частью у документа
Ни разу не сталкивался (по вполне понятным причинам).

А как тогда перенести проверки с модуля формы на модуль набора  записей?
Если он ругается на отсутствие "Записи".

Вот у меня две процедуры в коде наверху.
Если я переношу их в МНЗ, то должен сделать из них одну? И как это корректно провернуть.
Где можно посмотреть нормальный пример, потому что я даже такой простяцкий код не могу туда закинуть.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс