[ Разбор вопросов ] Советы при подготовке к экзамену 1С:Специалист по платформе 8.3

Тактика при подготовке к аттестации 1С:Специалист по платформе может быть разной. В идеале хочется и заветный сертификат получить и, чтобы полученные знания в работе пригодились. Сегодня публикуем оптимальную инструкцию по подготовке к экзамену и детально разбираем свойство регистров “Проверка заполнения”.

 

Вопрос №1: Как оптимально готовиться к экзамену 1С:Специалист по платформе?

Подскажите, как правильно готовиться к сдаче экзамена? Варианты есть такие:
 
1) Решать абсолютно все задачи по каждому разделу учета?
 
2) Решать какую-то часть задач по каждому разделу учета? Как в этом случае определить оптимальное количество задач, которые необходимо решить?
 
3) Решать только те задачи, которые попадаются на экзамене?
 
4) Ваш собственный вариант и ваши советы.

Ответ

Постарался скомпоновать ответы на все Ваши вопросы в виде общей “инструкции”. Наиболее оптимальным будет такой способ подготовки:

  • Пройти все темы Общего раздела курса Подготовка к аттестации 1С:Специалист по платформе 1С:Предприятие 8.3 (обязательно в первую очередь)
  • Изучить остальные разделы, при этом порядок изучения следующих разделов зависит от Ваших личных предпочтений и начальных знаний, если для Вас это не принципиально, можно пройти их в том порядке, в котором разделы приведены на стартовой странице. В процессе изучения каждого раздела стоит обращаться к задачам из сборника, которые упомянуты в этом разделе. К концу изучения раздела должно сформироваться понимание, как решить любую задачу. Прорешивать ли все задачи раздела из сборника, зависит от времени, которым располагаете на подготовку. Программа минимум на этом этапе – решить те задачи, которые кажутся наиболее сложными и/или вызывают затруднения (часто это задачи на расчетные механизмы)
  • После прохождения всех разделов нужно обязательно попробовать порешать билеты целиком. Идеально, конечно, было бы прорешать все найденные билеты (в интернете можно поискать отзывы коллег, сдававших экзамен, с описанием, какие конкретно билеты им встречались на аттестации), но при нехватке времени можно составить для себя супербилет, укомплектовав его самой сложной (именно для Вас) задачей из каждого раздела
  • Очень важно пару раз порешать билеты или свой супербилет на время, чтобы понимать насколько Вы укладываетесь в отведенное время (нужно добиться, чтобы оставался хотя бы небольшой запас). Прорешивание на время также поможет выработать для себя оптимальную последовательность действий: на чем можно сэкономить время, где можно ускориться, какую тему повторить, чтобы решать быстрее.

 

Вопрос №2: В чем суть свойства “Проверка заполнения” регистров?

Для какой цели в регистрах есть свойство “Проверка заполнения” – “Выдавать ошибку”? Если все равно при установке данного свойства у измерения регистра, регистр  допускает его пустоту при проведении и такое движение добавляется в набор записей регистра. Адекватно для такой цели отрабатывает свойство, о котором написано в теме курса “Запрет незаполненных значений“. Поэтому стало интересно, для чего существует свойство “Проверка заполнения” у регистра? Вариант с пустой Номенклатурой и заполненным количеством исключен за счет “Запрета незаполненных значений” в самом регистре.  А установка свойства у табличной части документа “Приходная накладная” – Проверка заполнения – Выдавать ошибку, только для того, чтобы не допустить проведение документа с полностью пустой табличной части. Чем плох такой расклад ситуации, к чему приведет проведение полностью пустого документа?

Ответ

  1. О свойстве “Проверка заполнения” в регистрах.

Наиболее очевидный способ применения – редактирование записей независимого регистра сведений. Записи этого регистра существуют “сами по себе”, с документами (регистраторами) никак не связаны, и при выборе строки регистра сведений платформа автоматически откроет форму записи регистра, в которой можно отредактировать значения. При этом в форме редактирования будет автоматически выполняться проверка заполнения полей, для которых свойство “Проверка заполнения” установлено в значение “Выдавать ошибку” – подсветка незаполненных полей при редактировании и запрет сохранения, если нужные поля не заполнены. Здесь все аналогично тому, как это работает при редактировании справочников и документов.

Записи регистров накопления и регистров сведений, подчиненные регистратору, всегда связаны с каким-то документом, который является регистратором для записей регистра (и, как правило, сам формирует эти записи регистра при проведении – (сформированные записи регистра – это и есть движения документа)). Однако платформа позволяет создавать и изменять записи таких регистров и напрямую, минуя проведение документов-регистраторов. Есть возможность делать это и штатными интерактивными средствами. Например, можно создать для регистра накопления форму набора записей и добавить, команду ее вызова (например, в форму списка регистра). Таким образом появится возможность исправлять записи вручную, произвольным способом, без проведения документов – прямо в созданной форме. При этом в форме будет обрабатываться свойство “Проверка заполнения”, установленное для полей регистра – аналогично тому, как это делается для независимых регистров накопления, справочников и документов.

Замечу, что подобная, непосредственная, правка записей регистра может понадобиться для целей корректировки данных (как вариант – для исправления ошибок).

Кроме того, в модуле набора записей регистра можно определить процедуру “ОбработкаПроверкиЗаполнения()”, в которой можно описать более сложный, чем стандартный, алгоритм проверки заполнения данных регистра (можно, к примеру, учесть информацию о взаимосвязях различных полей регистра). Эта процедура будет автоматически вызвана перед сохранением данных при интерактивном редактировании в форме. Кроме того, эту обработку проверки заполнения можно вызвать и вручную. Например, при проведении документа можно вызвать проверку заполнения набора записей следующим образом:

Если Движения.ОстаткиНоменклатуры.ПроверитьЗаполнение() Тогда …

  1. О проверке заполнения табличной части документа (проверка на отсутствие строк).

Как правило, документы с пустой табличной частью – это пользовательские ошибки. Логически подобные операции некорректны (не может быть оформлено поступление или продажа “ничего” – то есть при поступлении или продаже в документе обязательно должна быть хотя бы одна строка с каким-то товаров). Здесь все аналогично тому, как определяются признаки необходимости проверки заполнения для реквизитов документов: “пустая” номенклатура, нулевое количество также некорректны и должны пресекаться.

Если говорить о технической стороне вопроса, то, если разрешить проводить документы с пустой табличной частью, нужно проанализировать код обработки проведения и выяснить, не вызовет ли это проблем и ошибок, а также лишних бесполезных действий. Например, нужно учесть, что запрос к табличной части в этом случае будет пустым (как и все результаты соединения с этой таблицей). И документ, тем не менее, должен выполнять все необходимые действия, даже если табличная часть пуста (например, документ при перепроведении должен удалять существующие движения). Кроме того, для случае, если табличная часть пуста, имеет смысл отключить ряд бесполезных в данном случае действий (например, блокировку записей регистра, выполнение запроса для проверки отрицательных остатков и т.п.).

Уточняющий вопрос

То есть на экзамене достаточно будет
 
1) установить свойство “Проверка заполнения – Выдавать ошибку” для конкретных реквизитов документа -“Номенклатура и Количество” (без установки в регистре “Запрет незаполненных значений”). В таком случае проведение с полностью пустой табличной частью будет исключено. (Я к тому, что нет ведь смысла устанавливать и в документе проверки на реквизиты и плюс в регистре добавлять “Запрет незаполненных значений” – что-то одно, либо первый, либо второй вариант?)
 
2) для документа устанавливаем “Проверка заполнения – Выдавать ошибку” для табличной части в целом, но и в регистре устанавливаем “Запрет незаполненных значений” для измерения “Номенклатура”. Но тогда, есть вероятность что останется незаполненным реквизит документа “Количество” и проверку заполнения для данного реквизита, тоже необходимо установить в “Выдавать ошибку”, только в данной теме этого нет, следовательно, это допускается, либо подразумевается, что об этом и так нужно знать?

Ответ

Рекомендуется для всех тех реквизитов документа, и всех тех его табличных частей, которые по логике задачи должны быть всегда заполнены, устанавливать свойство “Проверка заполнения” в значение “Выдавать ошибку”.

Эта проверка сработает в интерактивном режиме – до попытки записи (проведения) документа (соответственно, до начала транзакции записи и проведения документа). Этот вариант менее затратен для системы, так как транзакция записи ещё не открыта и откатывать нечего, и будет лучше, если ошибки заполнения обнаружатся на этом этапе.

Также рекомендуется установить свойство “Запрет незаполненных значений” для тех измерений регистра, которые по логике задачи не могут быть пусты. Эта проверка сработает всегда, при любой попытке записи данных в регистр (не только в интерактивном режиме). Тем самым автоматически обеспечивается правильность заполнения данных регистра. Если регистр заполняется при проведении документа, то эта проверка сработает позже, чем проверка заполненности реквизитов (см. свойство “Проверка заполнения”) – во время проведения документа (в транзакции записи и проведения документа). Этот вариант требует больше ресурсов системы (т.к. в случае ошибки необходимо будет отменять транзакцию), но и более “надежен”, т.к. сработает всегда.

То есть рекомендуется назначить проверки на все те объекты, которые по логике задачи должны быть заполнены – и на реквизиты документа, и на табличные части, и на измерения регистров. Они сработают последовательно, на разных этапах, и обеспечат большую устойчивость решения.

И ещё. Сами по себе проверки не столь затратны. Гораздо больше ресурсов система потратит на отмену операций записи и проведения, если ошибка будет обнаружена уже в процессе записи или проведения. Поэтому, чем раньше обнаружится ошибка и прервется процесс записи и проведения документа (или процесс подготовки к записи и проведению), тем лучше.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

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

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.