![]() |
![]() |
![]() |
|
1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
letovd 19.07.19 - 14:22 | Как передать период в предопределенную процедуру отчета "ПриКомпоновкеРезультата"?
Вернее даже не период, а ДатуНачала и ДатуОкончания. | ||
ДенисЧ 1 - 19.07.19 - 14:24 | Через реквизиты отчёта, например...
Откуда ты собрался из передавать? | ||
letovd 2 - 19.07.19 - 14:26 | (1) Из формы отчета, в модуль объекта | ||
Джинн 3 - 19.07.19 - 14:29 | Реквизит отчета Период с типом СтандартныйПериод. В параметрах что-то типа &Период.ДатаНачала или НачалоПериода(&Период.ДатаНачала, "Месяц") в зависимости от потребности. | ||
letovd 4 - 19.07.19 - 14:33 | В общем в модуле объекта есть процедура, которая рассчитывает и заполняет ТЗ из РегистраСведений.
В эту процедуру нужно передать ДатуНачала и ДатуОкончания | ||
letovd 5 - 19.07.19 - 14:40 | (3) А можно ли как-то передать ДатаНачала и ДатаОкончания из параметров в модуль объекта?
http://ipic.su/img/img7/fs/vvv.1563536398.jpg | ||
VS-1976 6 - 19.07.19 - 14:46 | (5) Если компоновщик доступен ( настройки ), поищи там, по идее должны параметры быть там инициализированы... | ||
letovd 7 - 19.07.19 - 14:54 | (6) Они здесь Настройки.ПараметрыДанных.ДоступныеПараметры.Элементы | ||
azernot 8 - 19.07.19 - 14:54 | Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) НачалоПериода = Неопределено; КонецПериода = Неопределено; ПараметрыДанныхПользовательские = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; ПараметрыВПользовательскихНастройках = Ложь; Для Каждого Элемент Из ПараметрыДанныхПользовательские Цикл Если ТипЗнч(Элемент) <> Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда Продолжить; КонецЕсли; Если Элемент.Параметр = Новый ПараметрКомпоновкиДанных("Период") Тогда НачалоПериода = Элемент.Значение.ДатаНачала; КонецПериода = Элемент.Значение.ДатаОкончания; ПараметрыВПользовательскихНастройках = Истина; КонецЕсли; КонецЦикла; Если НЕ ПараметрыВПользовательскихНастройках Тогда Для Каждого Элемент Из КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы Цикл Если ТипЗнч(Элемент) <> Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда Продолжить; КонецЕсли; Если Элемент.Параметр = Новый ПараметрКомпоновкиДанных("Период") Тогда НачалоПериода = Элемент.Значение.ДатаНачала; КонецПериода = Элемент.Значение.ДатаОкончания; КонецЕсли; КонецЦикла; КонецЕсли; Если НачалоПериода = Неопределено И КонецПериода = Неопределено Тогда Возврат; КонецЕсли; | ||
letovd 9 - 19.07.19 - 15:20 | (6) (8) Можно по индексу Период = Настройки.ПараметрыДанных.Элементы.Получить(0).Значение; Но в этот момент значения ДатаНачала и ДатаОкончания неопределены | ||
letovd 10 - 19.07.19 - 15:24 | Как из СтандартногоПериода достать датуначала и датуокончания строкой? | ||
Джинн 11 - 19.07.19 - 15:26 | (5) А на кой ляд она Вам там понадобились? Какое-то извращение делаете? | ||
letovd 12 - 19.07.19 - 15:26 | Короче так.
Период = Настройки.ПараметрыДанных.Элементы.Получить(0).Значение;
ДатаНачала = Период.ДатаНачала;
ДатаОкончания = Период.ДатаОкончания; | ||
letovd 13 - 19.07.19 - 15:29 | (11) Ага, вместо того чтобы дату через реквизит передавать, передаю через параметр СКД... | ||
Джинн 14 - 19.07.19 - 15:29 | (12) Опасно вслепую брать. Поправите параметры или их порядок и отчет навернется. | ||
letovd 15 - 19.07.19 - 15:31 | (14) Да, действительно. Просто интересно стало... | ||
letovd 16 - 19.07.19 - 15:34 | (3) В параметрах чего? | ||
Джинн 17 - 19.07.19 - 15:36 | (16) СКД | ||
PR 18 - 19.07.19 - 15:37 | (1) Через реквизиты не получится | ||
PR 19 - 19.07.19 - 15:38 | (0) Передавай через параметры компоновщика | ||
letovd 20 - 19.07.19 - 15:39 | (18) С чего вы взяли?
Работает все, только их не нужно передавать в процедуру, просто вызвать реквизит в процедуре | ||
PR 21 - 19.07.19 - 15:39 | Если что-то не лезет в параметры компоновщика, передавай через временное хранилище | ||
yavasya 22 - 19.07.19 - 15:41 | (0) тебе нужно в форму отчета перенести параметры СКД, а грязноизвращаться | ||
letovd 23 - 19.07.19 - 15:42 | (22) Да у меня скд берет данные из ТЗ. Для формирования ТЗ нужна дата | ||
letovd 24 - 19.07.19 - 15:42 | Уже все, спасибо | ||
PR 25 - 19.07.19 - 15:43 | |||
letovd 26 - 19.07.19 - 15:49 | (25) Да я сам тупанул... | ||
PR 27 - 19.07.19 - 16:06 | А, вспомнил Не получится обойтись без созданной формы А с созданной формой да, работает Я пробовал сделать такВ модуле отчета сразу же при инициализации заполняется ТЗ (реквизит отчета), которую потом нужно использовать Так вот она в процедуре ПриКомпоновкеРезультата всегда пустая? то есть хочется один раз заполнить и все, а она заполняется каждый раз при формировании отчета | ||
PR 28 - 19.07.19 - 16:09 | +(27) Реквизиты в этом случае тоже пустые | ||
PR 29 - 19.07.19 - 16:22 | Странно, кстати, что с созданной формой работает сохранение реквизитов, даже если я их заполнил программно, не располагая на форме
Получается, что если я что-то заполнил в модуле формы, то это не обнулится при вызове ПриКомпоновкеРезультата, а если в модуле объекта, то обнулится |
|
Список тем форума |
Правила | Описание | Реклама на форуме | Волшебные решения | Поиск | Секции | Рейтинг | Книга знаний | Вики-миста (КЗ2) | Мобильная | Архив | Модераторы | Галерея | Регистрация | 18+ |