Предыдущий год в модуле печатной формы.

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. Zhest 23 05.06.13 10:47 Сейчас в теме
Как программно задать, чтобы данные формировались за предыдущий от рабочей даты год? Часть модуля прилагается ниже. Заранее спасибо!
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. AnryMc 849 05.06.13 11:02 Сейчас в теме
(1) Zhest,

Встроенные функции языка.ДобавитьМесяц (Script functions.AddMonth)
Встроенные функции языка (Script functions)
ДобавитьМесяц (AddMonth)
Синтаксис:

ДобавитьМесяц(<Дата>, <ЧислоМесяцев>)
Параметры:

<Дата> (обязательный)

Тип: Дата.
Исходная дата.
<ЧислоМесяцев> (обязательный)

Тип: Число.
Количество месяцев, которое необходимо добавить к исходной дате. Если принимает отрицательное значение, то число месяцев вычитается.
Возвращаемое значение:

Тип: Дата.
Дата, полученная в результате добавления.
Описание:

Добавляет (или вычитает) к указанной дате заданное число месяцев.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

ДатаРождения = СтрокаТаблицы.КонтактноеЛицо.ДатаРождения;
ДеньРожденияБудущегоГода = ДобавитьМесяц(
(ДобавитьМесяц(НачалоДня(ТекущаяДата()), -(Год(ДатаРождения) - 1) * 12)),
(Год(ТекущаяДата()) * 12));
5. sommid 05.06.13 11:22 Сейчас в теме
как советовали в (3) заменить использование текущей даты (это кстати не рабочая в 1С, а дата, установленная на компе), на текущую дату -12 месяцев

ТекДата = ТекущаяДата();


меняем на
ТекДата = ДобавитьМесяц(ТекущаяДата(), -12);
2. sommid 05.06.13 10:57 Сейчас в теме
ниччего не видно.. выложите текстом с тегом "code"
4. Zhest 23 05.06.13 11:15 Сейчас в теме
Сотр = СсылкаНаОбъект.ПолучитьОбъект();
    ФЛ = Сотр.Физлицо;
    ООО = Сотр.Организация;
    Отбор = Новый Структура("Объект");
    Отбор.Объект = ФЛ;
    КИ = РегистрыСведений.КонтактнаяИнформация.Выбрать(Отбор);
    Адресок = "";
    Пока КИ.Следующий() Цикл
        Если КИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
            Если (КИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресФизЛица) Тогда
                Адресок = КИ.Представление;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    Отбор1 = Новый Структура("ФизЛицо");
    Отбор1.ФизЛицо = ФЛ;
    ДК = РегистрыСведений.ПаспортныеДанныеФизЛиц.Выбрать(,,Отбор1);
    Паспорток = "";
    Пока ДК.Следующий() Цикл
        Паспорток = Строка(ДК.ДокументВид.Наименование) + ", серия: " +ДК.ДокументСерия+" № "+ДК.ДокументНомер+", выдан "+
                    Формат(ДК.ДокументДатаВыдачи, "ДЛФ=Д")+" , "+ДК.ДокументКемВыдан;
    КонецЦикла;
    
    ТабДокумент  = Новый ТабличныйДокумент;
    // Зададим параметры макета
    ТабДокумент.ПолеСверху              = 0;
    ТабДокумент.ПолеСлева               = 5;
    ТабДокумент.ПолеСнизу               = 0;
    ТабДокумент.ПолеСправа              = 5;
    ТабДокумент.РазмерКолонтитулаСверху = 0;
    ТабДокумент.РазмерКолонтитулаСнизу  = 0;
    ТабДокумент.АвтоМасштаб             = Истина;
    ТабДокумент.ОриентацияСтраницы      = ОриентацияСтраницы.Ландшафт;
    
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Сотрудники_ЛК";
    
    Макет = ПолучитьМакет("Макет");
    
    // Выводим общие реквизиты шапки
    
    ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
    ОбластьМакета.Параметры.ОРГАН = ООО;
    ОбластьМакета.Параметры.ИННКПП = "ИНН/КПП : "+ООО.ИНН+"/"+ООО.КПП;
    
    Отбор = Новый Структура("Объект");
    Отбор.Объект = ООО;
    КИ = РегистрыСведений.КонтактнаяИнформация.Выбрать(Отбор);
    ААА = "";
    Пока КИ.Следующий() Цикл
        Если КИ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
            Если (КИ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации) Тогда
                ААА = КИ.Представление;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    ОбластьМакета.Параметры.Адр = "Адрес:       "+ААА;
    
    ТекДата = ТекущаяДата();
    КонДата = КонецМесяца(ТекДата);
    Год=КонецМесяца(ТекДата);
    ОбластьМакета.Параметры.РабДата = "Дата составления: "+Формат(КонецМесяца(ТекДата), "ДЛФ=Д");
    ОбластьМакета.Параметры.ГОД = Формат(Год(Год),"ЧГ=0")+" год";
    ОбластьМакета.Параметры.ФИО = ФЛ.Наименование;
    ОбластьМакета.Параметры.ИНН = ФЛ.ИНН;
    ОбластьМакета.Параметры.ПФР = ФЛ.СтраховойНомерПФР;
    ОбластьМакета.Параметры.Таб = Сотр.Код;
    ОбластьМакета.Параметры.Рожд = Формат(ФЛ.ДатаРождения, "ДЛФ=Д");
    ОбластьМакета.Параметры.Место = Адресок;
    ОбластьМакета.Параметры.Докум = Паспорток;
    ТабДокумент.Вывести(ОбластьМакета);
    

Показать
6. Zhest 23 05.06.13 13:23 Сейчас в теме
Спасибо огромное!!! Все работает!
Оставьте свое сообщение

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