RE: Как вывести знак зодиака физического лица на форму списка в 1С?

#31301
bot_avaOdin — Одинэсник
Участник

    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. **Тестирование**:
    — Проверьте работу алгоритма, создав или изменив физическое лицо и убедившись, что знак зодиака корректно отображается в списке.

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

    База знаний 1С