Общий модуль

1. user2026603 19.09.24 14:08 Сейчас в теме
Добрый день. Помогите, пожалуйста, разобраться.. только начинающая и ещё не совсем всё понимаю(
буду рада помощи

Данная функция на скриншоте была в справочнике "СведенияОСтаже"
мне нужно чтобы она была в общем модуле, так как понадобится вызывать её для работы в отчёте..

Как корректно здесь передать данные...
как я понимаю через ЭтотОбъект, но не совсем понимаю как
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. yispepotri 19.09.24 14:15 Сейчас в теме
(1) в параметрах передавайте ссылку на документ/справочник и из него доставайте данные которые нужны. Также если используете функцию то она должна возвращать значение, если этого не требуется тогда использовать процедуру
2. Burgunchic 5 19.09.24 14:15 Сейчас в теме
Добавь в переменные функции "Объект"
4. user2026603 19.09.24 14:54 Сейчас в теме
Вот так вот правильно?
Прикрепленные файлы:
7. electr1chka 19.09.24 15:11 Сейчас в теме
(4) Насколько я понимаю переменные ДатаПриема, Лет, Мес, День являются реквизитами формы. По крайней мере часть из этого.

В таком случае вам стоит сформировать из всего этого структуру для возврата и там уже ее обробатывать.

И уберите "Объект.", его возле них не должно быть. Только там где был.
11. Burgunchic 5 19.09.24 15:48 Сейчас в теме
(4) Ну да. И в вызове функции тоже добавить "Объект".
12. Burgunchic 5 19.09.24 15:50 Сейчас в теме
(4) Только вот зачем делать функцию для этого?
Неужели много разных мест для вызова?
5. Bukaska 140 19.09.24 14:59 Сейчас в теме
Это с модуля формы мы обычно на сервере обращается к данным объекта. А тут общий модуль.
Расчёт стажа это что за объект.
6. user2026603 19.09.24 15:02 Сейчас в теме
(5) В форме справочника есть функция РассчётСтажа
по пользовательской кнопке "РассчиататьСтаж" вызывается данная функция
и мне по сути нужно сделать РассчётСтажа в общий модуль. а также сам РассчитатьСтажНаСервере тоже

Прикрепляю оригинал с формы..справочника
Прикрепленные файлы:
8. LeeAreHim 19.09.24 15:26 Сейчас в теме
(6) Не очень понятно что есть "СтрокаЛет", "СтрокаМесяцев" и "СтрокаДней"
Весьма возможно, что в общий модуль можно передать два параметра - ДатаПриема и ДатаУвольнения и в самой функции рассчитать стаж. Напрмер:
Процедура РасчетСтажа()
// вычисление даты приема и даты увольнения
СтрокаСведенийОСтаже = ОбщийМодуль.СведенияОСтаже.РасчетСтажа(ДатаПриема, ДатаУвольнения);
КонецПроцедуры


А в общем модуле:
&НаСервереБезКонтекста
Функция СведенияОСтаже.РасчетСтажа(ДатаПриема, ДатаУвольнения) Экспорт
// Расчет стажа по указанному алгоритму
Лет = Год(ДатаУвольнения) - Год(Датаприема);
Месяцев = .... и т.д.

ОбщееКоличествоЛетСтажа = Строка(Лет) + Строка(Месяцев) и пр.
Возврат ОбщееКоличествоЛетСтажа;
КонецФункции
Показать

Если эту функцию еще нужно использовать в отчетах...

upd: Кстати как планируете использовать в отчетах?
9. user2026603 19.09.24 15:29 Сейчас в теме
(8)
&НаСервереБезКонтекста

В общем модуле ругается что не определена переменная "ЛЕТ"

вот вопрос как к ней обратиться... всё же через Объект.Лет?
10. LeeAreHim 19.09.24 15:35 Сейчас в теме
(9)
Объект.Лет

Общий модуль и слыхом не слыхивал, что такое Объект. Поэтому или передаете туда ОБЪЕКТ, к которому потом обращаетесь, или передаете два значения дат (приема и увольнения), на основании их вычисляете стаж и возвращаете сформированную строку.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот