Как отменить запись в 1с

Обновлено: 02.07.2024

Глобальные действия - это действия, которые вы можете выполнять в любом состоянии программы. При этом не важно, что на данный момент открыто в "1С:Предприятии". Главное, чтобы приложение не было занято выполнением какой-либо задачи.

Глобальные действия - это действия, которые можно вызывать в любом месте запущенной платформы "1С:Предприятие 8". Независимо от того, что именно происходит в запущенной конфигурации, смысл глобальных действий не меняется (например, нажатие Ctrl+N всегда будет вызывать диалог создания нового документа).

"Горячие" клавиши для глобальных действий

Действие

Сочетания клавиш

Как работает программа

Создать новый документ

Открывает окно, в котором будет предложено выбрать тип создаваемого нового документа в различных форматах - например, в текстовом, табличном или HTML

Открыть существующий документ

Открывает стандартное диалоговое окно "Открыть", доступное через меню "Файл/Открыть…"

Активизация поля поиска в командной панели

Устанавливает курсор в это поле

Alt + Enter
Ctrl + E

В зависимости от того, на что установлен курсор, открывает соответствующую палитру свойств этого объекта или элемента. Полезно при работе с таблицами, текстом, HTML и т. п.

Вызвать содержание справки

Вызывает содержание справки

Вызвать индекс справки

Вызывает индекс справки

"Горячие" клавиши: глобальные действия

Глобальные действия - это действия, которые вы можете выполнять в любом состоянии программы. При этом не важно, что на данный момент открыто в "1С:Предприятии". Главное, чтобы приложение не было занято выполнением какой-либо задачи.

Глобальные действия - это действия, которые можно вызывать в любом месте запущенной платформы "1С:Предприятие 8". Независимо от того, что именно происходит в запущенной конфигурации, смысл глобальных действий не меняется (например, нажатие Ctrl+N всегда будет вызывать диалог создания нового документа).

"Горячие" клавиши для глобальных действий

Действие

Сочетания клавиш

Как работает программа

Создать новый документ

Открывает окно, в котором будет предложено выбрать тип создаваемого нового документа в различных форматах - например, в текстовом, табличном или HTML

Открыть существующий документ

Открывает стандартное диалоговое окно "Открыть", доступное через меню "Файл/Открыть…"

Активизация поля поиска в командной панели

Устанавливает курсор в это поле

Alt + Enter
Ctrl + E

В зависимости от того, на что установлен курсор, открывает соответствующую палитру свойств этого объекта или элемента. Полезно при работе с таблицами, текстом, HTML и т. п.

Вызвать содержание справки

Вызывает содержание справки

Вызвать индекс справки

Вызывает индекс справки

"Горячие" клавиши: общие действия

Общие действия - действия, которые имеют один и тот же смысл в различных объектах конфигурации, но поведение платформы "1С:Предприятие 8" меняется в зависимости от того где именно вы используете то или иное общее действие. Например, нажатие на клавишу "Del", помечает на удаление текущий элемент справочника, если вы находитесь в окне списка элементов справочника. Или удаляет содержимое текущей ячейки табличного документа, если вы его редактируете.

"Горячие" клавиши для общих действий

Действие

Сочетания клавиш

Как работает программа

Удаляет элемент под курсором (текущий элемент) или выделенную группу элементов

Позволяет добавить новый элемент

Сохранить активный документ

Сохраняет активный документ

Печать активного документа

Вызывает диалог печати для активного документа

Печать на текущий принтер

Инициирует непосредственную печать активного документа на принтер, назначенный в системе по умолчанию (без открытия диалога печати)

Копировать в буфер обмена

Ctrl + C
Ctrl + Ins

Копирует необходимый элемент или выделенную группу элементов в буфер обмена ОС Windows

Вырезать в буфер обмена

Ctrl + X
Shift + Del

Вырезает необходимый элемент или выделенную группу элементов в буфер обмена ОС Windows. Отличается от копирования тем, что копируемый элемент или группа после попадания в буфер удаляется

Вставить из буфера обмена

Ctrl + V
Shift + Ins

Вставляет в место, отмеченное курсором находящиеся данные из буфера обмена ОС Windows

Добавить к буферу обмена как число

Используется для числовых значений

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

Используется для числовых значений. Операция сложения с данными в буфере обмена

Вычесть из буфера обмена

Используется для числовых значений. Операция вычитания с данными в буфере обмена

Выделяет все доступные элементы в активном документе

Отменить последнее действие

Ctrl + Z
Alt + BackSpace

Отменяет последнее совершенное действие

Вернуть отмененное действие

Ctrl + Y
Shift + Alt + BackSpace

Позволяет отменить "Ctrl + Z", иными словами - вернуть то, что вы сделали до нажатия отмены последнего совершенного действия

Открывает диалог настройки параметров поиска в активном объекте конфигурации и выполнения этого поиска

Находит следующий элемент, соответствующий указанным в настройках поиска параметрам

Найти следующий выделенный

Находит следующий элемент, соответствующий тому, который вы выделили (например, на котором установлен курсор)

Находит предыдущий элемент, соответствующий указанным в настройках поиска параметрам

Найти предыдущий выделенный

Ctrl + Shift + F3

Находит предыдущий элемент, соответствующий тому, который вы выделили

Открывает диалог поиска и замены значений (там, где это разрешено)

Свернуть (узел дерева, группу табличного документа, группировку модуля)

Используется там, где доступны узлы деревьев, отмеченные значками "+" или "-"

Выделяет все доступные элементы в активном документе

Отменить последнее действие

Ctrl + Z
Alt + BackSpace

Отменяет последнее совершенное действие

Вернуть отмененное действие

Ctrl + Y
Shift + Alt + BackSpace

Позволяет отменить "Ctrl + Z", иными словами - вернуть то, что вы сделали до нажатия отмены последнего совершенного действия

Открывает диалог настройки параметров поиска в активном объекте конфигурации и выполнения этого поиска

Находит следующий элемент, соответствующий указанным в настройках поиска параметрам

Найти следующий выделенный

Находит следующий элемент, соответствующий тому, который вы выделили (например, на котором установлен курсор)

Находит предыдущий элемент, соответствующий указанным в настройках поиска параметрам

Найти предыдущий выделенный

Ctrl + Shift + F3

Находит предыдущий элемент, соответствующий тому, который вы выделили

Открывает диалог поиска и замены значений (там, где это разрешено)

Свернуть (узел дерева, группу табличного документа, группировку модуля)

Используется там, где доступны узлы деревьев, отмеченные значками "+" или "-"

Свернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные

Свернуть (все узлы дерева, группы табличного документа, группировки модуля)

Ctrl + Shift + Num + (-)

Развернуть (узел дерева, группу табличного документа, группировку модуля)

Развернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные

Развернуть (все узлы дерева, группы табличного документа, группировки модуля)

Ctrl + Shift + Num + (+)

Ctrl + Page Down
Ctrl + Alt + F

Быстрое листание активного документа

Ctrl + Page Up
Ctrl + Alt + B

Используется там, где поддерживается и возможно форматирование текста

Переход к предыдущей web-странице/главе справки

Используется в HTML-документах

Переход к следующей web-странице/главе справки

Прервать исполнение отчета системы компоновки данных

"Горячие" клавиши: управление окнами

В этом разделе объединены общие для всех окон и форм платформы "1С:Предиприятие" "горячие" клавиши.

"Горячие" клавиши для управления окнами

Действие

Сочетания клавиш

Как работает программа

Закрыть активное свободное окно, модальный диалог или приложение

Этой комбинацией можно быстро завершить работу всей конфигурации на платформе "1С:Предприятие", поэтому пользуйтесь ей осторожно

Закрыть активное обычное окно

Закрывает текущее обычное окно

Закрыть активное окно

Закрывает текущее активное окно

Активизировать следующее обычное окно

Ctrl + Tab
Ctrl + F6

Позволяет активизировать следующее окно среди открытых в рамках конфигурации. Нажатие в цикле с удерживанием клавиши Ctrl позволяет листать отрытые окна "вперед"

Активизировать предыдущее обычное окно

Ctrl + Shift + Tab
Ctrl + Shift + F6

Позволяет активизировать предыдущее окно среди открытых в рамках конфигурации. Нажатие в цикле с удерживанием клавиши Ctrl позволяет листать отрытые окна "назад"

Активизировать следующую секцию окна

Активирует следующую секцию текущего окна

Активизировать предыдущую секцию окна

Активирует предыдущую секцию текущего окна

Вызвать системное меню приложения или модального диалога

Позволяет увидеть системное меню операций (свернуть, переместить, закрыть и т. п.) над окном программы или открытого модального диалога

Вызвать системное меню окна (кроме модальных диалогов)

Alt + Hyphen + (-)
Alt + Num + (-)

Позволяет увидеть системное меню операций (свернуть, переместить, закрыть и т. п.) над активным окном

Вызвать главное меню

Активирует главную панель с кнопками текущего окна. Тем самым вы можете выбирать действия без участия мыши

Вызвать контекстное меню

Отображает контекстное меню над текущим активным элементом. Аналогично нажатию правой кнопки мыши на нем

Вернуть активность обычному окну

Возвращает активность обычному окну после работы с контекстным меню. Внимание! В любом другом случае, Esc инициирует закрытие активного окна

"Горячие" клавиши: управление формами

Здесь собраны "горячие" клавиши, упрощающие и ускоряющие работу с различными формами, которые созданы в конфигурациях, написанных на платформе "1С:Предприятие".

"Горячие" клавиши для управления формами

Действие

Сочетания клавиш

Как работает программа

Перейти на следующий элемент управления/вызов кнопки по умолчанию

Переход между элементами управления на форме "вперед" (см. Tab)

Вызов кнопки по умолчанию

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

Перейти на следующий элемент управления

Переход между элементами управления на форме "вперед"

Перейти на предыдущий элемент управления

Переход между элементами управления на форме "назад"

Активизирует командную панель, связанную с активным элементом управления/формой

Активирует главную панель с кнопками текущей формы. Тем самым вы можете выбирать действия без участия мыши

Перемещение по элементам управления, объединенным в одну группу

Используя клавиши-курсоры можно быстро перемещаться между сгруппированными элементами управления

Закрывает окно текущей формы

Восстановить положение окна

Если сбились какие-то параметры окна формы, эта комбинация позволяет вернуть все назад

"Горячие" клавиши: работа со списком и деревом

"Горячие" клавиши этого раздела помогут эффективно работать без использования мыши в многочисленных списках и деревьях, которые активно используются в различных объектах конфигураций на платформе "1С:Предприятие 8".

"Горячие" клавиши для работы со списком и деревом

Действие

Сочетания клавиш

Как работает программа

Открывает для изменения элемент, на который установлен курсор. Клавиша аналогична действию "Изменить" на стандартной панели кнопок формы

Ctrl + Shift + R
F5

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

Создает новый элемент списка, используя в качестве шаблона текущий элемент. Аналогично кнопке "Добавить копированием"

Создает новую группу. Аналогично кнопке "Добавить группу"

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

Перемещение строки вверх

Ctrl + Shift + Up

В списках, где разрешено изменение порядка строк, позволяет передвинуть текущую строку вверх. Аналогично кнопке "Переместить вверх"

Перемещение строки вниз

Ctrl + Shift + Down

В списках, где разрешено изменение порядка строк, позволяет передвинуть текущую строку вниз. Аналогично кнопке "Переместить вниз"

Перенести элемент в другую группу

Ctrl + Shift + M
Ctrl + F5

Позволяет быстро переместить текущий элемент (например, справочника) в другую группу

Перейти на уровень вниз с одновременным раскрытием группы

Переходит внутрь папки, на которой был установлен курсор

Перейти на уровень вверх (к "родителю")

Выходит наверх из папки, в которой вы находились

Завершает с сохранением изменений редактирование элемента списка

Раскрыть узел дерева

Используется там, где доступны узлы деревьев, отмеченные значками "+" или "-"

Закрыть узел дерева

Раскрыть все узлы дерева

Инвертирует значение флажка текущего элемента (включает или отключает его)

"Горячие" клавиши: поле ввода

Поле ввода - активно используемый элемент управления во множестве мест форм конфигураций. "Горячие" клавиши для поля ввода позволяют быстро выполнить часто используемые действия над ним. Особенно полезно использовать эти клавиши там, где разработчик конфигурации не вывел нужные вам кнопки управления полем ввода.

"Горячие" клавиши для поля ввода

Действие

Сочетания клавиш

Как работает программа

Переключить режим вставки/замены

Аналогично поведению при редактировании обычного текста, позволяет либо добавлять новые символы при вводе к старым, либо затирать старые новыми

Выбор соответствующего объекта, связанного с полем ввода (например, выбор нужного документа из списка). Аналогично кнопке поля ввода "Выбор"

Ctrl + Shift + F4

Открытие формы выбранного объекта в текущем поле ввода. Аналогично нажатию кнопки поля ввода "Открыть"

Очистить поле ввода от текущего в нем значения

Удалить символ слева от курсора

Работа с набранным текстом в поле ввода

Удалить символ справа от курсора

Удалить слово слева от курсора

Удалить слово справа от курсора

Перейти в начало строки

Перейти в конец строки

Нажатие указателем мыши кнопки "Вверх" для кнопки регулирования

Использование регулировки, если это разрешено в поле ввода. Например, изменение дат, счетчиков и т. п. Аналогично нажатию на кнопку "вверх" регулятора поля ввода

Нажатие указателем мыши кнопки "Вниз" для кнопки регулирования

Использование регулировки, если это разрешено в поле ввода. Например, изменение дат, счетчиков и т. п. Аналогично нажатию на кнопку "вниз" регулятора поля ввода

"Горячие" клавиши: поле картинки

Поле картинки - это стандартный элемент платформы "1С:Предприятие 8" для отображения графических изображений. "Горячие" клавиши помогут, например, комфортно просмотреть изображение, расположенное в поле картинки.

Вечер добрый!
Подскажите, кто знает, как программно отменить запись вновь вводимого через форму документа при неудачной попытке его проведения?

Документ должен спрашивать типа "Не удалось провести документ. Сохранить ? Да | Нет"

Вроде "вновь вводимый документ" написано. Если это как в (3), значит, гуано 1С, как система.

(1) удалить после этого программно из открытой формы из базы (но чтобы в форме остался) видимо тоже никак?

1C - гуано, но отменить запись документа при неудачном проведении - МОЖНО.
просто лохи не соображают как. дятлы, они и есть дятлы.

(8) Пролейте свет на наши головы!
Пытался с транзакцией мутить (с откатом), но что-то не выходит, при повторной операции половину реквизитов из формы слетают куда-то.

(4) Мое "так и есть" относилось к "При проведении документ УЖЕ записан".
Что касается 1С - ну что дали, на том и пишем. Критику системы за рамки выведем.

(0) А без выкрутасов не катит? В чем такая уж вот необходимость то?

(12) Привязываю в Торговле к ЗаявкеПокупателя ПеремещениеТМЦ
Хочу, чтобы если ПеремещениеТМЦ не провелось, чтобы оно в базе не оставалось.

(14) дык проверь условие проведения перемещения при записи.

(13) Да, что угодно.
Не хочу все стандартные проверки при проведении и сигнализацию об этом переписывать.
(15), (16) Там и пишу, но как проверить условие? Только провести. А он при проведении автоматом пишется.

(17) Составь все причины, почему он может не провестись, и проверь их ДО записи.

(14) программно в транзакции не открывая формы создавай документ - поглЯди в типовой продажу собственной фирме

После проведения провеяй и удаляй если не проведен

(19) Спасибо! Хорошая мысль, щас попробуем.
(22) не пробовал. Работает? Но Удалить(1) - это же пометка?

(22) из формы самого документа Удалить() точно не работает - пробовал :)

Удалить (0) это пометка. Пока форма документа открыта на экране, ты его не удалишь. Закрой форму и из родительской удали подчиненный.

(26) на счет пометки, гоню, конечно.
Из родительской напряжно. Как управление передавать?

Какое управление ? чем ? Ты док создаешь новый где в ЗаявкеПокупателя ? Вот и вставь после ПеремещениеТМЦ.Провести().

(29) Как это?
Модально не получается, в ПеремещениеТМЦ при проведении форма трассировки проведения глючить начинает (если правильно выразился).
Спасибо всем! KRV особенно! (19) завтра попробую, думаю будет работать! Проверю завтра, сегодня побегу домой.

Платформа:1С:Предприятие 8.3 (8.3.8.2054)
Конфигурация: Управление производственным предприятием, редакция 1.3 (1.3.75.2)
В документе на форме (управляемые формы) создана кнопка Отмена проведения и создана команда НаКлиенте "Отмена проведения".

Появляется ошибка
: Ошибка при вызове метода контекста (Записать)
Записать(РежимЗаписиДокумента.ОтменаПроведения);
по причине:
Несоответствие типов (параметр номер '1')

Что я не так делаю?

Пыталась перенести записать в процедуру НаСервер - та же ошибка выскакивает.
Что это может быть?! И как правильно организовать распроведение документа?

(1) soulseller76, а почему типовую отмену проведения не используете? (2) olgerd666, потому что требуется кое-что обработать в момент распроведения. Причем, обработка должна совершаться НаКлиенте. А как это организовать в УФ - я не знаю. :( (6) spenser123, Да! Сработало. Спасибо!
А в чем ошибка была - можно пояснить? создайте подписку на событие отмена проведения лучше и обрабатывайте что хотите (4) c300pm, те.е я хочу сказать, что обработчик Подписки на событие с событием ОбработкаУдаленияПРоведения предлагает мне обработчик прописать только в общем модуле, который имеет признак Серверный. Понимаете? тогда смотрите событие "после записи" формы- выполняется на клиенте и вообще, смысл всего этого? если у непроведенного документа типовая кнопка отмены проведения не активна, если документ не проведен. то есть получается как, если документ не проведен то и нет необходимости снимать его с проведения, как то так. так зачем все это? Работая с управляемой формой - в ней нет как такового Объекта документа, только его представление для формы (тип другой - данныеформыколлекция или что-то похожее) с ним работать не получится кроме как для видимости, а зпаисывать вам нужно непосредственно ДокументОбъект, его можно получить только на сервере и записать соответственно там же. Методы ДанныеФормыВЗначение и ЗначениеВДанныеФормы нам в этом сильно помогают ;) (11) spenser123, спасибо больше. Я понимала, что записывать на клиенте - не верное решение. Но так как и на сервере я получала аналогичную ошибку, то я совсем потерялась.
Всем еще раз огромное спасибо. :)

(11) spenser123,
Можно из формы записывать объект, проводить и отменять проведение,
как уже написал (15) нужно передавать правильные параметры:

volend; creatermc; Cmapnep; smit1c; user659124_s.kostina; yuri76; SotNick; Const1C; корум; + 9 – Ответить Но так как и на сервере я получала аналогичную ошибку (14) teller, нет ошибка была бы та же самая, т.к. записать вызывало расширение формы документа а там в параметре не режим записи документа указывать нужно.

Расширение управляемой формы для документа (Managed form extension for documents)
Записать (Write)
Синтаксис:

Тип: Структура.
Структура параметров записи, которые могут быть обработаны в обработчиках событий записи. Состав параметров произвольный. Содержит предопределенные параметры записи РежимЗаписи и РежимПроведения. Предопределенные параметры передаются в метод объекта Записать.
Параметры записи можно обработать в событиях формы ПередЗаписью, ПередЗаписьюНаСервере, ПриЗаписиНаСервере, ПослеЗаписиНаСервере, ПослеЗаписи.
Возвращаемое значение:

Тип: Булево.
Истина - успешно записан; Ложь - в противном случае.
Описание:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). .


Кстати через него тоже можно отменить проведение, просто в параметр структуру параметров нужно указывать. Кстати через него тоже можно отменить проведение, просто в параметр структуру параметров нужно указывать. (17) spenser123, ну это и сказал, однако не привел примера, я свое время тоже читал такое, однако со слов понять какую именно структуру нужно передать сразу не понятно
вот и написал пример

Расширение управляемой формы для документа (Managed form extension for documents)
Записать (Write)
Синтаксис:

Тип: Структура.
Структура параметров записи, которые могут быть обработаны в обработчиках событий записи. Состав параметров произвольный. Содержит предопределенные параметры записи РежимЗаписи и РежимПроведения. Предопределенные параметры передаются в метод объекта Записать.
Параметры записи можно обработать в событиях формы ПередЗаписью, ПередЗаписьюНаСервере, ПриЗаписиНаСервере, ПослеЗаписиНаСервере, ПослеЗаписи.
Возвращаемое значение:

Тип: Булево.
Истина - успешно записан; Ложь - в противном случае.
Описание:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).

Тогда да тут нужна структура!

А вы перепутали с общим методом:

ДокументОбъект.<Имя документа>.Записать (DocumentObject.<Имя документа>.Write)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Записать (Write)
Синтаксис:

Записать(<РежимЗаписи>, <РежимПроведения>)
Параметры:

Тип: РежимЗаписиДокумента.
Позволяет выбрать один из возможных режимов записи.
Значение по умолчанию: Запись.
<РежимПроведения> (необязательный)

Тип: РежимПроведенияДокумента.
Позволяет выбрать один из возможных режимов проведения.
Значение по умолчанию: Неоперативный.
Описание:

Записывает документ в базу данных.

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:

Для документов с поддержкой уникальности номеров в процессе записи, если нужно, проверяется уникальность номера.
Пример:

Попытка
НовДокумент.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Предупреждение(НСтр("ru = 'Невозможно провести документ.';"
+ " en = 'Document needs reposting.'"));
КонецПопытки;

ДокументОбъект.<Имя документа>, событие ПередЗаписью
ДокументОбъект.<Имя документа>, событие ПриЗаписи

Казалось бы, всё это есть в литературе. Зачем словами переписывать? В этой статье собрана и структурирована информация из разных источников. Однако не всегда и не у всех есть эта литература под рукой. А тут информация в открытом источнике и достаточно структурированная, изложенная простым языком. Тем самым делаем эти знания более понятными и доступными.

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

Итак, для чего нам вообще нужны эти обработчики?

Очень часто программисту требуется переопределить стандартное поведение системы во время записи документа, а именно: отменить запись, в случае каких-то условий; запросить дополнительную информацию у пользователя; дозаполнить реквизиты; что-то ещё записать в базу данных на основании этой записи; что-то изменить на форме после записи и т.д. и т.п. Каждый программист рано или поздно сталкивается с подобными задачами, потому знать назначение и последовательность запуска этих событий необходимо.

Последовательность запуска событий (в том порядке, в каком они перечислены) и небольшие подробности:

Во многих обработчиках есть параметр «Отказ». Там, где этот параметр присутствует означает, что в этом обработчике ещё можно отказаться от записи, присвоив параметру «Отказ» значение Истина, и тогда запись произведена не будет. И ещё, отдельно отмечу, что п ри программной записи события модуля формы не запускаются!

1) Модуль формы ПередЗаписью(Отказ, ПараметрыЗаписи)

Выполняется на клиенте!

Этот обработчик следует использовать, если необходимо организовать диалог с пользователем перед тем, как записать объект. Запросить дополнительную информацию, предупредить о чём-либо, дать возможность отказаться и т.п.

Второй параметр этого обработчика «ПараметрыЗаписи» имеет тип «Структура». У документов эти параметры заполняются системой предопределенными параметрами РежимЗаписи, РежимПроведения. Можно добавить свои!

Эти параметры передаются между событиями формы ПередЗаписьюНаСервере, ПриЗаписиНаСервере, ПослеЗаписиНаСервере, где их можно благополучно использовать. Например, можно спросить что-то у пользователя и ответ записать в этот параметр. И уже, например, в ПриЗаписиНаСервере использовать этот параметр для анализа и дальнейших действий.

2) Модуль формы ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)

3) Модуль объекта ОбработкаПроверкиЗаполнения (Отказ, ПроверяемыеРеквизиты)

Сначала вызывается событие формы ОбработкаПроверкиЗаполненияНаСервере На данном этапе есть доступ к данным формы.

После этого в памяти сервера создается прикладной объект, соответствующий типу основного реквизита формы, и его данные заполняются из данных формы.

Затем вызывается событие прикладного объекта ОбработкаПроверкиЗаполнения .

Эти два обработчика проверки заполнения реализуются через параметр «ПроверяемыеРеквизиты» типа Массив, содержащий реквизиты, которые надо проверять (т.е. которым установлено свойство проверки заполнения «Выдавать ошибку»). И если из этого массива убрать реквизит, то проверяться он не будет, если добавить, то будет выполняться проверка заполнения.

Эти два обработчика событий предназначены :

  1. Для включения в проверку заполнения тех реквизитов, у которых в свойствах «ПроверкаЗаполнения» указано «Не проверять». Для этого надо добавить этот реквизит в массив параметр «ПроверяемыеРеквизиты»
  2. Для того, чтобы исключить из автоматической проверки реквизиты, у которых установлено свойство проверки заполнения «Выдавать ошибку» в зависимости от каких-то условий. Для этого надо удалить этот реквизит из массива параметра «ПроверяемыеРеквизиты»

Имеется несколько особенностей, которые необходимо учитывать:

  1. Если у формы из которой записывается объект в свойствах не установлено «ПроверятьЗаполнениеАвтоматически», то тогда эти обработчики проверки заполнения не вызываются и проверки не происходят!
  2. Вызываются только при интерактивной записи! При программной записи не вызываются. Для проверки нужно использовать метод объекта ПроверитьЗаполнение(), который инициирует запуск этих событий.
  3. Для документов, имеющих возможность проведения, эти события проверки заполнения вызываются только при проведении!

Если данные формы не нужны, то используйте обработчик модуля объекта ОбработкаПроверкиЗаполнения

4) Модуль формы ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

В этом обработчике можно дозаполнять реквизиты объекта (через параметр ТекущийОбъект) или провести дополнительные проверки. Есть доступ к данным формы.

Важно понимать, что в предыдущем обработчике (в процессе проверки заполнения) произошло «разделение» формы на форму и прикладной объект (пока только в памяти сервера), данные которого будут записаны в базу данных.

В обработчике модуля формы ПередЗаписьюНаСервере появляется возможность доступа как к данным основного реквизита формы Объект, а также и к самому объекту, который будет записан через параметр обработчика ТекущийОбъект.

Параметр ТекущийОбъект имеет тип класса «объект» в зависимости от типа записываемого объекта (в случае записи документа ДокументОбъект). Т.е. экземпляр класса объект создан, и можно обратиться к его свойствам и методам, но в базу данных ещё не записан.

И тут внимание. ТекущийОбъект - объект, который реально будет записан в информационную базу и дозаполнять реквизиты нужно именно через параметр ТекущийОбъект.

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

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

Поэтому если какие-либо алгоритмы должны выполняться при любом способе записи данных объекта, а не только при записи из формы, их следует размещать в обработчике события объекта (ПередЗаписью), а не в обработчике события формы.

Начало транзакции

5) Модуль объекта ПередЗаписью(Отказ)

В этом обработчике можно провести дополнительные проверки и отказаться от записи.

Для документов в параметры данного обработчика добавляются ещё два параметра: РежимЗаписи, РежимПроведения.

Запись

6) Модуль объекта ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)

Возникает в момент, когда выполняется установка номера нового документа, задачи или бизнес-процесса.

Или ПриУстановкеНовогоКода(СтандартнаяОбработка,Префикс)

Возникает в момент, когда выполняется установка нового кода элемента справочника, узла плана обмена или кода плана видов характеристик.

Эти событии вызываются для объектов у которых указано свойство «Автонумерация» и только для тех объектов, у которых пустой код на момент записи.

Если установить параметру СтандартнаяОбработка значение Ложь, то новый номер генерироваться не будет и можно программно задать код объекта в данном обработчике.

7) Модуль объекта ОбработкаУдаленияПроведения (Отказ)

Этот обработчик запускается только при отмене проведения документов с целью удаления движений из регистров. При этом неважно как отменяется проведение документа - программно или интерактивно.

8) Модуль объекта ПриЗаписи(Отказ)

Вызывается после записи объекта в базу данных, но до окончания транзакции записи.

Назначение этого обработчика - записать в базу данных дополнительную информацию, связанную с данными записываемого объекта.

Ссылка уже есть и можно записать в базу данных дополнительные данные на основании текущего объекта, используя эту ссылку.

Например, при записи создавать другой документ, содержащий реквизит ссылку на записываемый.

Поскольку это событие обрабатывается в транзакции записи основных данных, гарантируется синхронность изменения основных и дополнительных данных. Либо и те и другие будут записаны, либо и те и другие изменения будут отменены при отмене транзакции.

Можно ещё отказаться от записи.

9) Модуль объекта ОбработкаПроведения (Отказ, РежимПроведения)

Этот обработчик запускается только при проведении документов. При этом неважно как проводится документ - программно или интерактивно.

Основное назначение процедуры-обработчика данного события - генерация движений по документу. Именно в данном обработчике прописываются алгоритмы записей в регистры, т.е. программно формируются движения документа.

Параметр РежимПроведения определяет как будет проводиться документ: оперативно или неоперативно.

Если для данного вида документа в конфигурации установлено автоматическое удаление движений, то перед возникновением события все движения по документу будут удалены.

10) Модуль формы ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

Вызывается после записи объекта в базу данных, но до окончания транзакции записи.. Есть последний шанс отказаться от записи.

Назначение этого обработчика – записать в базу данных дополнительную информацию, связанную с данными записываемого объекта.

Если данные для записи дополнительной информации находятся в самом объекте, то мы использовали обработчик модуля объекта ПриЗаписи(). А вот если данные находятся в форме, то как раз для таких случаев и предназначено это событие, потому как есть доступ к данным формы.

Этот обработчик ещё используется, если нужны данные параметра обработчика ПараметрыЗаписи, которые «приехали» в этом параметре из других обработчиков.

Через параметр ТекущийОбъект доступны данные, которые уже были записаны в информационную базу и имеет тип класса Объект (ДокументОбъект). Можно обратиться к его свойствам и методам, а также использовать для вызова экспортных методов объекта.

Работать следует именно через этот параметр, то есть не путать с основным реквизитом формы Объект, так как там данные, которые были до записи и его изменения бесполезны потому, что после этого обработчика данные из ТекущегоОбъекта запишутся в Объект.

Если это запись нового объекта, то ТекущийОбъект.Ссылка будет содержать уже конкретное значение ссылки на этот элемент в информационной базе. А вот Объект.Ссылка имеет пустое значение на этом этапе.

Итак, по поводу этого обработчика можно сделать следующие выводы:

  • Если нужно выполнять какие-то действия, связанные с записанным объектом, и при этом, например, нужна ссылка на этот объект, необходимо использовать ТекущийОбъект.Ссылка.
  • Основной реквизит формы Объект можно использовать только для сравнения того, что «было», с тем, что «записалось».
  • Если нужно изменить записанные дополнительные данные на основании данных формы и данных объекта, то необходимо использовать в данном обработчике при обращении к данным объекта ТекущийОбъект

Завершение транзакции

11) Модуль формы ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)

После завершения транзакции записи выполняется преобразование данных записанного объекта в данные формы. После этого вызывается данный обработчик. Это последний обработчик, в котором по отдельности доступны данные формы и объект, который был записан.

Этот обработчик используют, когда предполагаются действия над формой. Это те действия, которые должны быть выполнены только в том случае, когда объект 100 % записан (т.е. после транзакции). Например, вывод в форме некоторой дополнительной информации, связанной с данными объекта. Или выполнение каких-либо действий, которые должны быть выполнены только в том случае, когда объект гарантированно записан.

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

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

Доступны ПараметрыЗаписи, данные которых «приехали» в этом параметре из других обработчиков.

12) Модуль формы ПослеЗаписи(ПараметрыЗаписи)

Выполняется на клиенте!

Можно использовать для того, чтобы визуально что-то отобразить на форме или организовать диалог с пользователем, например выдать предупреждение.

Доступны ПараметрыЗаписи, данные которых «приехали» в этом параметре из других обработчиков.

Часто бывает так, что использовать подписку на событие эффективнее, потому что не затрагивает модули, находящиеся на поддержке и очередное обновление конфигурации проходит с куда меньшими затратами труда и времени.

Обработчики событий объекта на которые можно сделать подписку на события:
- ПриУстановкеНовогоНомера / ПриУстановкеНовогоКода
- ПриКопировании
- ОбработкаЗаполнения
- ПередЗаписью
- ПриЗаписи
- ПередУдалением
- ОбработкаПроведения
- ОбработкаУдаленияПроведения
- ОбработкаПроверкиЗаполнения

Дополнение 2: подписки на события для одинаковых источников и действий выполняются в порядке размещения подписок в конфигураторе сверху вниз (т.е. в таком же порядке, как и в дереве метаданных).

Т.е., если для какого-то документа в конфигурации есть две подписки на событие ПриЗаписи, то в начале выполнится та, которая расположена выше.

Дополнение 3 : подписки с источником общего типа (ДокументОбъект, СправочникОбъект) выполняются позже, чем с источником конкретного типа, даже если он составной.

Как вариант указывать в своей подписке источник ДокументОбъект и ставить ее ниже по списку, а в самом обработчике проверять тип документа:
Если ТипЗнч(Источник) <> Тип("ДокументОбъект.МойДокумент") Тогда
Возврат;
КонецЕсли;

Если статья оказалась вам интересной и полезной, то сохраняйте, чтоб не потерять и иметь под рукой- просто нажимайте + и получите от меня + в свою карму :))

Формирование сведений о работниках по форме СЗВ-ТД для представления в ПФР

Форма заполняется отдельно на каждого сотрудника, если в отчетном месяце произошло одно из событий:

прием на работу;

перевод на другую работу;

увольнение с работы;

подано заявление сотрудником о порядке ведения трудовой книжки — на бумажном носителе или в электронном виде.

Порядком, утв. постановлением Правления ПФР от 25.12.2019 № 730п, предусмотрено еще несколько мероприятий, которые необходимо отражать в форме СЗВ-ТД, это (п. 2.5.3 Порядка):

изменение наименования страхователя;

установление (присвоение) работнику второй и последующей профессии, специальности или иной квалификации;

лишение права в соответствии с приговором суда занимать определенные должности и заниматься определенной деятельностью.

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

При этом заполняются все графы формы СЗВ-ТД в соответствии с пунктами 2.5.1–2.5.8 Порядка (п. 2.9 Порядка).

Если в течение 2020 года по сотруднику не было кадровых мероприятий и (или) он не подал заявление о порядке ведения его трудовой книжки, то сведения о трудовой деятельности по состоянию на 01.01.2020 у этого страхователя на такого сотрудника представляются не позднее 15.02.2021 (пп. 1 п. 2.5. ст. 11 Федерального закона от 01.04.1996 № 27-ФЗ).

Если в течение 2020 года по сотруднику не было кадровых мероприятий и (или) он не подал заявление о порядке ведения его трудовой книжки, то сведения о трудовой деятельности по нему представлять не надо («нулевую» СЗВ-ТД сдавать не нужно).

Начиная с 09.04.2020 и до 31.12.2020 в случае приема на работу и увольнения сотрудника отчет по форме СЗВ-ТД представляется в ПФР не позднее рабочего дня, следующего за днем издания приказа (распоряжения) (Постановление Правительства РФ от 08.04.2020 № 460).

Корректировка и отмена кадровых мероприятий по СЗВ-ТД

Если необходимо отменить ранее переданные сведения о трудовой деятельности, то нужно в форме СЗВ-ТД указать только одну строку с ранее представленными сведениями о кадровом мероприятии с признаком их отмены (знак «X») (п. 2.6 Порядка).

Исправление кадровых мероприятий по СЗВ-ТД в «1С:Зарплате и управлении персоналом 8»

В программе «1С:Зарплата и управление персоналом 8» редакции 3 кадровые мероприятия считаются переданными в ПФР, если в документе Сведения о трудовой деятельности работников, СЗВ-ТД установлен флаг Документ принят в ПФР (не редактируется).

041.jpg

Обратите внимание, если что-нибудь изменить в кадровом документе (например, сведения о мероприятии, которые были переданы в ПФР, или просто отменить проведение), прежняя запись регистрируется как отмененная. После повторного проведения измененного или снятого с проведения документа сформируется новое мероприятие. При изменении в форме СЗВ-ТД будет сформировано: первая строка с ранее переданными сведениями с признаком отмены; вторая строка — с новыми измененными данными о мероприятии. При снятии документа с проведения формируется строка с ранее переданными сведениями о мероприятии с признаком отмены.

Если в кадровом документе меняются сведения, которые не передаются в фонд (суммы постоянных начислений, право на отпуск и т. д.), то при проведении документа новое мероприятие в последующем формироваться не будет.

Корректировка переданных кадровых мероприятий

Пример 1

Сотрудник принят в организацию 20.07.2020. Эти сведения были переданы в ПФР. В августе обнаружили ошибку: сотрудник был принят на работу 27.07.2020. Необходимо сформировать корректировку по форме СЗВ-ТД.

Так как данные были приняты ПФР (установлен флаг Документ принят в ПФР (не редактируется)), в верхней части кадрового документа выводится предупреждение о том, что данные по этому мероприятию переданы в ПФР и редактирование документа нежелательно. Для изменения данных документа следует нажать кнопку Еще, выбрать команду Изменить документ и изменить некорректные данные. В нашем Примере 1 изменить дату приема сотрудника на работу.


При формировании формы СЗВ-ТД за август 2020 года по сотруднику будут сформированы две строки: строка с признаком отмены ранее переданных сведений и строка с корректными сведениями (рис. 2). В качестве даты отмены указывается дата на рабочем компьютере, когда корректировались сведения кадрового документа.

042.jpg

Пример 2

В ПФР были переданы сведения с неверным номером приказа. Был указан номер с префиксом — ШФ00-000001. Номера приказов организация в бумажную трудовую книжку вносит без префиксов. Чтобы сведения в электронном и бумажном виде были одинаковы, принято решение подать корректировку по форме СЗВ-ТД.

043-01.jpg

В нашем Примере 2 следует изменить номер приказа и затем нажать на кнопку Провести и закрыть.


Сведения, которые были изменены, будут отражены в форме СЗВ-ТД автоматически при последующем их формировании (рис. 4). В форме появится строка с признаком отмены ранее переданных сведений и строка с корректными сведениями.

043-02.jpg

Если в программе используются номера приказов с префиксом (например, ШФ00-00001) и они вносятся в бумажную трудовую книжку, при этом необходимо, чтобы такие номера отражались в сведениях, нужно в дополнительных настройках снять флаг Удалять префиксы организации и ИБ из номеров кадровых приказов (раздел Настройка — Дополнительные настройки). Если такой вариант не подходит и в базе ведется своя нумерация документов, то можно в кадровом документе в поле Печатать как вручную указать необходимый номер документа. Если номер заполнен в этом поле, то он будет отражен в форме СЗВ-ТД.

Отмена переданных кадровых мероприятий

Пример 3

044.jpg

Пример 4

За июль 2020 года по сотруднику были переданы сведения по форме СЗВ-ТД, так как он был лишен права в соответствии с приговором суда заниматься деятельностью по управлению транспортным средством. В августе обнаружили, что сведения были переданы по другому сотруднику — однофамильцу. Необходимо сформировать отмену кадрового мероприятия. 1С:ИТС
О регистрации отмены в 1С подачи заявления сотрудника о продолжении ведения работодателем бумажной трудовой книжки либо о предоставлении сведений о трудовой деятельности в электронном виде см. в справочнике «Кадровый учет и расчеты с персоналом в программах 1С» раздела «Инструкции по учету в программах 1С» .

От редакции. На странице 1С:Лектория в 1С:ИТС см. видеозапись лекции от 03.09.2020 «Обзор последних изменений в программе „1С:Зарплата и управление персоналом 8“. Электронные трудовые книжки, особенности представления СЗВ-ТД» с участием представителей ПФР и экспертов 1С. Подробнее — на странице 1С:Лектория .

Читайте также: