0
ti_inv
naïve
03.04.25
✎
13:03
|
Доброго дня!
1С обучаюсь буквально второй день, поэтому не судите строго если не совсем корректно структурировать мысли буду, заранее спасибо!
Задание следующее - необходимо создать форму "МесяцыГода"
Форма должна открываться при запуске системы.
По умолчанию стоит текущий год. При создании формы и изменении года должна формироваться таблица с колонками "Месяц"(строка) и Количество Дней (число) и заполняться значениями с января по декабрь для заданного года.
После заполнения таблицы, пользователю должно отображается сообщение с количеством дней в году.
На данный момент имеется вот такой код, необходимо сделать так, что бы вводимое значение года заполнялось не через Оповещение, а через реквизит общей формы, не понимаю как это реализовать.
Заранее спасибо!
Сам код:
&НаКлиенте
Перем Год;
&НаКлиенте
Процедура ПриОткрытии1(Отказ,СтандартнаяОбработка) Реквизит1 = "2025";
Массив = Новый Массив; Массив.Добавить(Тип("Число"));
КЧ = Новый КвалификаторыЧисла(4,0); ОписаниеТипов = Новый ОписаниеТипов(("Число"),,, Новый КвалификаторыЧисла(4,0));
Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения" , ЭтаФорма, Параметры); ПоказатьВводЗначения(Оповещение, Реквизит1,"Введите год", ОписаниеТипов);
КонецПроцедуры
&НаСервере
Функция ПолучитьКоличествоДнейНаСервере(Год) МесяцыГода = Новый ТаблицаЗначений;
МесяцыГода.Колонки.Добавить("Месяц"); МесяцыГода.Колонки.Добавить("КоличествоДней", Новый ОписаниеТипов("Число"));
Для к = 1 по 12 Цикл
НоваяСтрока = МесяцыГода.Добавить(); ДатаОтсчета = КонецМесяца(Дата(Год,к, 1));
НоваяСтрока.КоличествоДней = День(ДатаОтсчета); НоваяСтрока.Месяц = Формат(ДатаОтсчета, "ДФ=ММММ");
КонецЦикла;
КоличествоДнейВГоду = МесяцыГода.Итог("КоличествоДней"); Возврат КоличествоДнейВГоду;
КонецФункции
&НаКлиентеПроцедура ПослеВВодаЗначения(Реквизит1, Параметры) Экспорт
Если Реквизит1 <> Неопределено Тогда Год = Реквизит1; КоличествоДнейВГоду = ПолучитьКоличествоДнейНаСервере(Год);
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "В " + Год + " году " + КоличествоДнейВГоду + " дней"; Сообщение.Сообщить();
КонецЕсли;КонецПроцедуры
|
|
1
Мультук
гуру
03.04.25
✎
13:34
|
(0)
1)
>>1С обучаюсь буквально второй день
А можно адрес сайта, курсов по которому вы обучаетесь ?
2) Почему нельзя руками в конфигураторе создать таблицу значений на форме
А при открытии её заполнить ?
3) Какой chatGPT генерил этот код ?
|
|
2
ti_inv
naïve
03.04.25
✎
13:41
|
(1)
1)Всё что доступно в общем доступе и является учебными материалами)
2)Это не совсем подходит по условию задачи.
3)Никакой, это сборная солянка из примеров кода который по аналогии подбирал.
Не пробовал использовать нейросети, но наслышан, что использовать их в 1С не имеет особо смысла ибо целенаправленно никто им не скармливал кучи кода для обучения(могу ошибаться).
|
|