Вход | Регистрация
 

Как вывести параметры СКД на ОФ ?

Как вывести параметры СКД на ОФ ?
Я
   НоваяВолна
 
07.09.20 - 17:54
Доброго всем времени суток!
Понимаю, что вопрос элементарный, но видимо так давно отошел от 1С, тем более от ОФ.... Сделал отчет на СКД, все работает, данные собирает правильно. Осталось только для удобства пользователей вывести параметры ДатаНачала и ДатаОкончания на форму. Нарисовал поля выбора дат на форме, задал им те же имена, что и параметры СКД, выставил в свойстве полей Данные как ДатаНачала и ДатаОкончания... Но не фурычит. Т.е. Параметры остаются пустыми при заполнении полей на форме. Подскажите, что надо сделать?
   ДенисЧ
 
1 - 07.09.20 - 17:55
Я тупо выводил поля ввода и при изменении ставил эти значения в схему...
   НоваяВолна
 
2 - 07.09.20 - 17:57
(1) ПриИзменении полей? лезть в НастройкуКомпановки?
   НоваяВолна
 
3 - 07.09.20 - 17:59
+ (2) Так пробовал. при изменении поля ищу настройку компоновки по имени, и пытаюсь вставить значение с формы...  ругается , что поле не содержится Значение
   ДенисЧ
 
4 - 07.09.20 - 18:04
Что-то вроде

    парам = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ПериодОтчета");
    Если парам <> Неопределено Тогда
        парам.Использование = Истина;
        парам.Значение = Новый СтандартныйПериод(НачПериода, КонПериода);
    КонецЕсли;
   Быдло замкадное
 
5 - 07.09.20 - 18:05
вот вы извращенцы..

на форму табличное поле добавляешь и в данных пишешь КомпоновщикНастроек.Настройки.ПараметрыДанных
   ДенисЧ
 
6 - 07.09.20 - 18:10
(5) Табличное поле не всегда удобно.
   Fish
 
7 - 07.09.20 - 18:17
(6) А не проще выводить стандартный период и оттуда брать параметры?
   НоваяВолна
 
8 - 07.09.20 - 18:18
(5) не понял... вот скрин ,что куда и где?
https://pastenow.ru/bdea7c27f83c3882cc094a7faa08464c
   ДенисЧ
 
9 - 07.09.20 - 18:19
(7) Стандартный период? На ОФ? Что-то я не помню там такого контрола.
   Fish
 
10 - 07.09.20 - 18:21
(9) А, это ОФ. Сорри, перепутал с УФ :))
   Вафель
 
11 - 07.09.20 - 18:25
на ОФ тоже можно стандартный период
   ДенисЧ
 
12 - 07.09.20 - 18:26
(11) Ну покажи, раз ты такой умный...
   ДенисЧ
 
13 - 07.09.20 - 18:28
Ну да, можно. ТОлько он такой нафиг не сдался. Совершенно неудобный. Лучше вставить готовый набор из трёх надписей, двух полей ввода и кнопки.
Намного удобней.
   НоваяВолна
 
14 - 07.09.20 - 18:34
(11) Хорошо, пусть СтандартныйПериод ... а что в Выражении надо написать, чтобы подменить ДатаНачала и ДатаОкончания в Параметрах?
   НоваяВолна
 
15 - 07.09.20 - 18:39
(13) я тоже к этому склоняюсь но не понял код в (4), там вроде опять же через СтандартныйПериод
   ДенисЧ
 
16 - 07.09.20 - 18:40
(15) Нет. Там так, как описал в (13).
В конфигураторе на форме - Меню форма- вставить - и внизу выбор периода. Штатная вещь
   НоваяВолна
 
17 - 07.09.20 - 19:07
(16) Ну и получилось в итоге тоже, что я сам руками рисовал, только рисовать не пришлось, форму само встало, но от этого работать не хочет
   ДенисЧ
 
18 - 07.09.20 - 19:09
(17) Код в (4) работает. Инфа 146%.
   НоваяВолна
 
19 - 08.09.20 - 12:45
Сделал как в (16), и дописал код:

Процедура НачПериодаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    УстановитьПараметрКомпоновкиДанных("НачПериода", НачалоДня(НачПериода));
КонецПроцедуры

Процедура КонПериодаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    УстановитьПараметрКомпоновкиДанных("КонПериода", КонецДня(КонПериода));
КонецПроцедуры
 

Процедура УстановитьПараметрКомпоновкиДанных(Имяпараметра,Значение)
    Попытка
        Параметр_ = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(Имяпараметра));
        Параметр_.Использование = Истина;
        Параметр_.Значение = Значение;
    Исключение 
        Сообщить("Ошибка установки параметра СКД: "+Имяпараметра,СтатусСообщения.Информация);    
    КонецПопытки;
КонецПроцедуры


работает, может кому поможет
   ДенисЧ
 
20 - 08.09.20 - 12:46
Можно без попытки.
А как в (4). Код красивей получается.
   НоваяВолна
 
21 - 08.09.20 - 12:48
(20) код в (4) не понял в какую процедуру пихать
   ДенисЧ
 
22 - 08.09.20 - 12:51
(21) В изменение полей даты. Или в Сформировать() перед вызовом СкомпоноватьОтчет(). Или в ПриКомпоновкеОтчета().
В общем в любое, где надо установить значение параметра
   ДенисЧ
 
23 - 08.09.20 - 12:52
И кстати.. Ты взял обработку выбора. А ты уверен, что она сработает, если дату введут руками, а не выберут из календаря?
   НоваяВолна
 
24 - 08.09.20 - 12:57
(23) Этот код для кнопки по выбору стандартного периода, для ручного ввода тут же процедуру вызвал ПриИзменении
   Tarlich
 
25 - 08.09.20 - 13:14
   ДенисЧ
 
26 - 08.09.20 - 13:27
(25) Тут обычные формы. И про стандартный период уже говорили.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.