Имя: Пароль:
1C
1С v8
Как отловить значение параметра СКД
0 Dinip
 
23.03.18
11:00
День добрый!
Вопрос слегка не новый наверное, но обыскав большую площадь пространства подходящего ответа не нашел. Потому и спрашиваю.
А ситуация такая:
Внешний отчет. В  нем СКД. В СКД запрос к бухгалтерским оборотам и остаткам. В запросе параметры  начало периода и конец периода. прошиты жестко. При выставленном в настройках флажке типа "Выводить для пользователя "(или как то так) на автоматом созданной форме два поля соответствующих. Заполняем оба. Кнопка Сформировать.Результат запроса! А там как будто и не заполнял эти а!!!! Почему???? Как вообще добраться программно к этим параметрам. Хелп ми плиз!
1 Franchiser
 
гуру
23.03.18
11:05
Какой у тебя запрос? Не указывай в нем параметры
2 Dinip
 
23.03.18
12:36
Вынул из запроса
Это ничего не меняет по ходу
3 Mankubus
 
23.03.18
12:39
(2)
>>Как вообще добраться программно к этим параметрам
КомпоновщикНастроек.ПользовательскиеНастройки
4 Mankubus
 
23.03.18
12:40
>>Внешний отчет. В  нем СКД. В СКД запрос к бухгалтерским оборотам и остаткам. В запросе параметры  начало периода и конец периода. прошиты жестко
показывай запрос
5 hhhh
 
23.03.18
12:54
(0) параметры  начало периода и конец периода не могут быть прошиты
6 Dinip
 
23.03.18
13:06
(5)Вот это я имел ввиду под жесткостью. т.е не средствами СКД потом, а непосредственно в запросе сразу

ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
            &НачалоПериода,
            &КонецПериода,
7 Buster007
 
23.03.18
13:26
(6) можешь удалить эти параметры оттуда, они автоматом добавятся в параметры
Вообще непонятно, что тебе нужно.
Если тебе нужно вытащить значение параметров при компоновке данных, то тогда надо получить настройки компоновщика и оттуда уже дергать твои значения
8 Dinip
 
23.03.18
14:09
(7) Поясню.
Я запросом получаю остатки и обороты по паре счетов  за определенный двумя параметрами временной интервал. Форму сам я не создаю. это делает СКД .Но тем не менее на этой форме есть пара полей ввода как раз для параметров. я забиваю значения параметров что ограничить выборку и жму кнопку Сформировать так же любезно предоставленную СКД. И что я вижу после небольшого количества времени? Что мои ограничения проигнорированны. А зайдя в отладчик я вижу что запрос получил пустые параметры. Какого х? Спрашиваю я))
9 Buster007
 
23.03.18
14:15
(8) "А зайдя в отладчик я вижу что запрос получил пустые параметры" каким образом ты это видишь?
10 zhoi
 
23.03.18
14:31
У Вас в форме должно быть нечто подобное:

&НаКлиенте
Процедура КонПериодаПриИзменении(Элемент)
    ЭтотОбъект.Отчет.КонПериода = КонецМесяца(ЭтотОбъект.Отчет.КонПериода);
КонецПроцедуры

&НаКлиенте
Процедура НачПериодаПриИзменении(Элемент)
    ЭтотОбъект.Отчет.НачПериода = НачалоМесяца(ЭтотОбъект.Отчет.НачПериода);
КонецПроцедуры

В свойствах кнопок описываются события ПриИзменении соответсвенно
11 zhoi
 
23.03.18
14:53
В процедуре

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

должно быть такое:

    НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
    НастройкиОтчета.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", НачалоМесяца(НачПериода));
    НастройкиОтчета.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецМесяца(КонПериода));

НачалоПериода и КонецПериода - это те параметры, которые Вы используете в СКД (наименование параметров у Вас может быть другое).
12 Franchiser
 
гуру
23.03.18
15:29
Если не умеешь пользоваться таблицей остатков-оборотов бери таблицу оборотов. Причин может быть несколько: может быть ты выходишь регистратор, не выбираешь оба сальдо остатка на начало и конец, выбираешь только обороты в запросе и до.
13 Dinip
 
26.03.18
14:00
(12) Что то не понятно мне каким образом таблица может влиять на передачу параметров , учитывая, что параметр в принципе подходит таблице. а он подходит
Поделись тайными знаниями, пожалуйста.
14 Chameleon1980
 
26.03.18
14:12
(11) да сфигали
форму не создает
подразумевается УФ раз при установке флажка параметры на форме появляются
не нужно никаких событий приизменении и т.п. обрабатывать
15 Chameleon1980
 
26.03.18
14:13
да тс - убери параметры из запроса (как выше посоветовали)
скд сама проставит нужное для ВТ
16 Dinip
 
26.03.18
14:32
Спасибо всем кто откликнулся. Остался вопросик.
Буду признателен если кто нибудь разъяснит мне следующее:
есть отчет на   СКД .есть форма с парой реквизитов отчета. И на форме есть выведенные системой поля ввода для параметров началопериода и конецпериода.
Я программно поменял один Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода").значение=Другая дата) На форме должны произойти изменения или нет?
17 aleks_default
 
26.03.18
15:44
(16) Нет. Вот если пользовательские настройки поменяешь, то да
18 aleks_default
 
26.03.18
15:47
ПараметрОтчета    = Новый ПараметрКомпоновкиДанных(ИмяПараметра);    
    НашлиПараметр    = КомпоновщикНастроек.ПолучитьНастройки().ПараметрыДанных.НайтиЗначениеПараметра(ПараметрОтчета);
ИдентификаторНастройки = КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьИдентификаторПоОбъекту(НашлиПараметр);
Если ПустаяСтрока(ИдентификаторНастройки) = Ложь Тогда
        НашлиПараметр    = КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(ИдентификаторНастройки);
    КонецЕсли;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан