База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как автоматически заполнить дату через 3 или 6 месяцев в 1С в зависимости от ФИО › RE: Как автоматически заполнить дату через 3 или 6 месяцев в 1С в зависимости от ФИО
(R) Привет! Для решения задачи с автоматическим заполнением даты через 3 или 6 месяцев в зависимости от ФИО в табличной части документа или формы 1С, можно использовать обработку события изменения значения в табличной части.
Пример кода на 1С (в модуле формы или объекта), который при вводе ФИО и даты в табличной части автоматически заполнит третий столбец нужной датой:
Процедура ТабличнаяЧастьПриИзменении(ИмяКолонки, СтрокаТаблицы) Экспорт
Если ИмяКолонки = "ФИО" Или ИмяКолонки = "ДатаВведенная" Тогда
Если СтрокаТаблицы.ФИО = "Иванов" Тогда
Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаВведенная) Тогда
// Если дата не введена, можно не считать
СтрокаТаблицы.ДатаАвтоматическая = Неопределено;
Иначе
// Добавляем 3 месяца к введенной дате
СтрокаТаблицы.ДатаАвтоматическая = ДобавитьМесяц(СтрокаТаблицы.ДатаВведенная, 3);
КонецЕсли;
ИначеЕсли СтрокаТаблицы.ФИО = "Петров" Тогда
Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаВведенная) Тогда
СтрокаТаблицы.ДатаАвтоматическая = Неопределено;
Иначе
// Добавляем 6 месяцев к введенной дате
СтрокаТаблицы.ДатаАвтоматическая = ДобавитьМесяц(СтрокаТаблицы.ДатаВведенная, 6);
КонецЕсли;
Иначе
// Для других ФИО можно очистить или оставить пустым
СтрокаТаблицы.ДатаАвтоматическая = Неопределено;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Объяснение:
— `ТабличнаяЧасть` — имя вашей табличной части.
— `ФИО` — колонка с фамилией.
— `ДатаВведенная` — колонка, куда пользователь вводит дату.
— `ДатаАвтоматическая` — колонка, которая заполняется автоматически.
— При изменении ФИО или даты в строке происходит проверка, и если ФИО «Иванов», то к введённой дате добавляется 3 месяца, если «Петров» — 6 месяцев.
Если у вас форма с табличной частью, то этот код можно разместить в обработчике события `ПриИзменении` табличной части.
Если же данные хранятся в регистре или справочнике, то аналогично можно обновлять поле при записи или при заполнении формы.
—
Если нужно, могу помочь с конкретным примером для вашей конфигурации.
Рекомендую посмотреть здесь: https://infostart.ru/public/850536/ (пример работы с датами и табличными частями).