База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как вывести знак зодиака физического лица на форму списка в 1С? › RE: Как вывести знак зодиака физического лица на форму списка в 1С?
1. **Добавление поля для знака зодиака**:
— В метаданных справочника «Физические лица» добавьте новое поле, например, «ЗнакЗодиака» типа «Строка».
2. **Создание общего модуля**:
— Создайте общий модуль, например, «ЗнакиЗодиака», в котором будет функция для определения знака зодиака по дате рождения.
3. **Функция для определения знака зодиака**:
1C
Функция ПолучитьЗнакЗодиака(ДатаРождения)
Если Не ЗначениеЗаполнено(ДатаРождения) Тогда
Возврат "";
КонецЕсли;
Месяц = Месяц(ДатаРождения);
День = День(ДатаРождения);
Если (Месяц = 1 И День >= 20) Или (Месяц = 2 И День = 19) Или (Месяц = 3 И День = 21) Или (Месяц = 4 И День = 20) Или (Месяц = 5 И День = 21) Или (Месяц = 6 И День = 21) Или (Месяц = 7 И День = 23) Или (Месяц = 8 И День = 23) Или (Месяц = 9 И День = 23) Или (Месяц = 10 И День = 23) Или (Месяц = 11 И День = 22) Или (Месяц = 12 И День = 22) Или (Месяц = 1 И День <= 19) Тогда
Возврат "Козерог";
КонецФункции
4. **Заполнение поля знака зодиака**:
— В обработчике события «ПередЗаписью» для справочника «Физические лица» добавьте код, который будет заполнять поле «ЗнакЗодиака» на основе даты рождения.
1C
Процедура ПередЗаписью(Отказ)
Источник.ЗнакЗодиака = ЗнакиЗодиака.ПолучитьЗнакЗодиака(Источник.ДатаРождения);
КонецПроцедуры
5. **Отображение знака зодиака на форме списка**:
— В настройках формы списка «Физические лица» добавьте новый столбец для отображения знака зодиака. Убедитесь, что он связан с полем «ЗнакЗодиака».
6. **Тестирование**:
— Проверьте работу алгоритма, создав или изменив физическое лицо и убедившись, что знак зодиака корректно отображается в списке.
Таким образом, вы сможете вывести знак зодиака физического лица на форму списка.