Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 10:09

Как привязать введённую Дату на форме к параметру запроса этого модуля ?

Автор ksander-fars, 02 июн 2016, 03:09

0 Пользователей и 1 гость просматривают эту тему.

ksander-fars

ДД!

Создал внешнюю обработку, в модуле создал запрос. на форму добавил поле ввода для начала периода.

Подскажите как мне привязать поле ввода периода к параметру в запросе?

Вопрос конечно несерьёзный, но я только недавно работаю с 1С....


ksander-fars

Решено

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

 
Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
   
   ТекстЗапрос = Новый Запрос;
   ТекстЗапрос.УстановитьПараметр("ДатаНачала",ДатаНачала);
   ТекстЗапрос.Текст="ВЫБРАТЬ
                     |   НачислениеПоБольничномуЛисту.Сотрудник,
                     |   НачислениеПоБольничномуЛисту.ПричинаНетрудоспособности,
                     |   НачислениеПоБольничномуЛисту.ДатаНачала,
                     |   НачислениеПоБольничномуЛисту.ДатаОкончания
                     |ИЗ
                     |   Документ.НачислениеПоБольничномуЛисту КАК         НачислениеПоБольничномуЛисту
                     |ГДЕ
                     |   НачислениеПоБольничномуЛисту.ДатаНачала >= &ДатаНачала";
                ТЗ = ТекстЗапрос.Выполнить().Выгрузить();
                ВыбранныйЭлемент = ТЗ.ВыбратьСтроку();
                Сообщить(ВыбранныйЭлемент.Зарплата);
                                  
КонецПроцедуры
         

Добавлено: 02 июн 2016, 05:28


Следующий вопрос.

Как при закрытии формы сохранить значения введёные в поля НачалоПериода и КонецПериода, а при открытии автоматически восстанавливались например в таком коде?


Процедура НачПериодаПриИзменении(Элемент)
   УстановитьПараметрыПериода();
КонецПроцедуры

Процедура КонПериодаПриИзменении();
   УстановитьПараметрыПериода();
КонецПроцедуры

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

КонецПроцедуры

Процедура ВыбПериодНажатие(Элемент);
   
   НастройкаПериода = Новый НастройкаПериода;
   НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода,
КонецДня(КонПериода)));
   НастройкаПериода.РедактироватьКакИнтервал = Истина;
   НастройкаПериода.РедактироватьКакПериод = Истина;
   НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
   Если НастройкаПериода.Редактировать() Тогда
      НачПериода = НастройкаПериода.ПолучитьДатуНачала();
      КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
   КонецЕсли;
   
   УстановитьПараметрыПериода();
КонецПроцедуры

Добавлено: 02 июн 2016, 05:49


Решено

Процедура ПриОткрытии()
   НачПериода = ВосстановитьЗначение("КадровыеОтчеты_НачПериода");
   КонПериода = ВосстановитьЗначение("КадровыеОтчеты_Конпериода");
КонецПроцедуры

Процедура НачПериодаПриИзменении(Элемент)
   УстановитьПараметрыПериода();
КонецПроцедуры

Процедура КонПериодаПриИзменении();
   УстановитьПараметрыПериода();
КонецПроцедуры

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

КонецПроцедуры

Процедура ВыбПериодНажатие(Элемент);
   
   НастройкаПериода = Новый НастройкаПериода;
   НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода,
КонецДня(КонПериода)));
   НастройкаПериода.РедактироватьКакИнтервал = Истина;
   НастройкаПериода.РедактироватьКакПериод = Истина;
   НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
   Если НастройкаПериода.Редактировать() Тогда
      НачПериода = НастройкаПериода.ПолучитьДатуНачала();
      КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
   КонецЕсли;
   
   УстановитьПараметрыПериода();
КонецПроцедуры

Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
   СохранитьЗначение("КадровыеОтчеты_НачПериода", НачПериода);
   СохранитьЗначение("КадровыеОтчеты_Конпериода", КонПериода);
КонецПроцедуры


cska-fanat-kz

у формы есть флаг "СохранятьЗначения" и список реквизитов, которые надо сохранять.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск