helpf.pro
Регистрация
 +5 
Распечатать

Событие ПередЗаписью регистра сведений. Как перед записью изменить значение реквизита записи?

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

Пример проверки на условие и заполнение реквизита Цвет:

Код 1C v 8.х
 Процедура ПередЗаписью(Отказ, Замещение)
Для Каждого ТекЗапись Из ЭтотОбъект Цикл
Если ТекЗапись.СерияНоменклатуры.Восстановленный Тогда 
ТекЗапись.Цвет="2551650";
Иначе
ТекЗапись.Цвет="";
КонецЕсли;
КонецЦикла;
КонецПроцедуры

Ниже приведен пример процедуры ПередЗаписью для регистра сведений «Курсы», который содержит курсы валют по периодам. При попытке ввести или изменить курс валюты период которого раньше даты регистрации фирмы будет выведено два сообщения:

Код 1C v 8.2 УП
 Процедура ПередЗаписью (Отказ, Замещение)
            ДатаРегистрации = Константы.ДатаРегистрации.Получить ();
            Для Каждого ТекЗапись Из ЭтотОбъект Цикл
             
                        Если ТекЗапись.Период < ДатаРегистрации Тогда
// Если период раньше даты регистрации
            Отказ = Истина; // отказ от записи
                        Сообщить(" Запись от " + ТекЗапись.Период +
                                               " с курсом " + ТекЗапись.Курс +
                                               " раньше даты регистрации фирмы!");
                        КонецЕсли;
            КонецЦикла;
             
    Если Отказ Тогда
            Сообщить ("Запись не выполнена!");
            КонецЕсли;
КонецПроцедуры
Разместил:   Версии: | 8.x | 8.2 УП | 8.3 |  Дата:   Прочитано: 57387
 +5 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
Cообщение: "Не удалось удалить чеки ККМ!" 2
Пользователь с правами Администратор ККМ проводит Закрытие кассовой смены (Z). Выходит сообщение: " Не удалось удалить чеки ККМ!" ФР печатает Z -отчет, но Отчет о рознчничных продажах не формируется. Необходимо дать роли Администратор ККМ прав
Microsift Visual C++ Runtime Library Program ...1cv77s.exe abnormal program termination 0
При запуске 1С 7.7 выдает сообщение: Microsift Visual C++ Runtime Library Program C:Program Files1Cv77BIN1cv77s.exe abnormal program termination Вариант 1. Обычно это происходит, когда повреждается файл регистрации. Точнее, когда не дописывает
Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 4
При попытке удалить запись из регистра сведений - получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить - опять ошибка блокировки :( Путем тестов было вяснено, что проблема
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.