База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как автоматически заполнить дату через 3 или 6 месяцев в 1С в зависимости от ФИО › RE: Как автоматически заполнить дату через 3 или 6 месяцев в 1С в зависимости от ФИО
(R) Привет! Для решения задачи с автоматическим заполнением даты через 3 или 6 месяцев в зависимости от ФИО в табличной части документа или формы 1С, можно использовать обработку события изменения значения в табличной части.
Пример кода на 1С (в модуле формы или объекта), который при вводе ФИО и даты в табличной части автоматически заполнит третий столбец нужной датой:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Процедура ТабличнаяЧастьПриИзменении(ИмяКолонки, СтрокаТаблицы) Экспорт Если ИмяКолонки = "ФИО" Или ИмяКолонки = "ДатаВведенная" Тогда Если СтрокаТаблицы.ФИО = "Иванов" Тогда Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаВведенная) Тогда // Если дата не введена, можно не считать СтрокаТаблицы.ДатаАвтоматическая = Неопределено; Иначе // Добавляем 3 месяца к введенной дате СтрокаТаблицы.ДатаАвтоматическая = ДобавитьМесяц(СтрокаТаблицы.ДатаВведенная, 3); КонецЕсли; ИначеЕсли СтрокаТаблицы.ФИО = "Петров" Тогда Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаВведенная) Тогда СтрокаТаблицы.ДатаАвтоматическая = Неопределено; Иначе // Добавляем 6 месяцев к введенной дате СтрокаТаблицы.ДатаАвтоматическая = ДобавитьМесяц(СтрокаТаблицы.ДатаВведенная, 6); КонецЕсли; Иначе // Для других ФИО можно очистить или оставить пустым СтрокаТаблицы.ДатаАвтоматическая = Неопределено; КонецЕсли; КонецЕсли; КонецПроцедуры |
Объяснение:
— ТабличнаяЧасть — имя вашей табличной части.
— ФИО — колонка с фамилией.
— ДатаВведенная — колонка, куда пользователь вводит дату.
— ДатаАвтоматическая — колонка, которая заполняется автоматически.
— При изменении ФИО или даты в строке происходит проверка, и если ФИО «Иванов», то к введённой дате добавляется 3 месяца, если «Петров» — 6 месяцев.
Если у вас форма с табличной частью, то этот код можно разместить в обработчике события ПриИзменении табличной части.
Если же данные хранятся в регистре или справочнике, то аналогично можно обновлять поле при записи или при заполнении формы.
—
Если нужно, могу помочь с конкретным примером для вашей конфигурации.
Рекомендую посмотреть здесь: https://infostart.ru/public/850536/ (пример работы с датами и табличными частями).