Имя: Пароль:
1C
1С v8
Вывод отбора на простую форму
0 komstr
 
20.09.19
09:19
Доброе утро. Подскажите пожалуйста,
с простыми формами немного плаваю.
Необходимо вывести отбор на форму, табличное поле вывел. И понимаю как в пользовательском режиме добавить отбор, но
так форма отчёт внешняя, то каждый раз при выходе из отчёта настройки пропадают. Как в конфигураторе добавить настройки дат для отбора, чтобы при открытии они всегда отображались.
Заранее благодарен за ответы.
1 ДенисЧ
 
20.09.19
09:24
При закрытии сохраняй, при открытии восстанавливай.
Пример смотри в УниверсальномОтчете из типовых
2 komstr
 
20.09.19
09:29
(1) А можно подробней?
3 ДенисЧ
 
20.09.19
09:38
(2) Отчёт уже посмотрел? )))
4 komstr
 
20.09.19
09:45
(3) Посмотрел, но как то не дошло что сделать(
5 kda26
 
20.09.19
10:20
// Работа с настройками формы
Процедура ВосстановитьНастройки() Экспорт
    
    КлючОбъекта = ЭтотОбъект.Метаданные().ПолноеИмя();
    КлючНастроек = КлючОбъекта;
    ОписаниеНастроек = КлючОбъекта;
    Значение ="";
    ИмяПользователя = "Обмен";    
    
    ЗначениеНастроек = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, КлючНастроек, Значение, ОписаниеНастроек, ИмяПользователя);
    
    Если ТипЗнч(ЗначениеНастроек) = Тип("Соответствие") Тогда
        
        ЗначениеИзНастройки = ЗначениеНастроек.Получить("ТаблицаЗначений");
        ЗначениеИзНастройки1 = ЗначениеНастроек.Получить("ТаблицаЗначений1");
        ЗначениеИзНастройки2 = ЗначениеНастроек.Получить("ТаблицаЗначений2");
        ЗначениеИзНастройки3 = ЗначениеНастроек.Получить("ТаблицаЗначений3");
        ЭтотОбъект.УчетнаяЗаписьАвтоматическойОтправкиОтчета = ЗначениеНастроек.Получить("УчетнаяЗаписьАвтоматическойОтправкиОтчета");
        
        Если ЗначениеЗаполнено(ЗначениеИзНастройки) Тогда
            ЭтотОбъект.АдресаРассылки.Загрузить(ЗначениеИзНастройки);
        КонецЕсли;
        
        Если ЗначениеЗаполнено(ЗначениеИзНастройки1) Тогда
            ЭтотОбъект.ИсклДоговоры.Загрузить(ЗначениеИзНастройки1);
        КонецЕсли;    
        
        Если ЗначениеЗаполнено(ЗначениеИзНастройки2) Тогда
            ЭтотОбъект.ПорядокФилиалов.Загрузить(ЗначениеИзНастройки2);
        КонецЕсли;    
        
        Если ЗначениеЗаполнено(ЗначениеИзНастройки3) Тогда
            ЭтотОбъект.ПорядокПродукции.Загрузить(ЗначениеИзНастройки3);
        КонецЕсли;    
        
    КонецЕсли;
    
КонецПроцедуры

Процедура СохранитьНастройки() Экспорт
    
    КлючОбъекта = ЭтотОбъект.Метаданные().ПолноеИмя();
    КлючНастроек = КлючОбъекта;
    ОписаниеНастроек = КлючОбъекта;
    Значение ="";
    ИмяПользователя = "Обмен";    
    
    Настройки = Новый Соответствие;
    Настройки.Вставить("ТаблицаЗначений", ЭтотОбъект.АдресаРассылки.Выгрузить());
    Настройки.Вставить("ТаблицаЗначений1", ЭтотОбъект.ИсклДоговоры.Выгрузить());
    Настройки.Вставить("ТаблицаЗначений2", ЭтотОбъект.ПорядокФилиалов.Выгрузить());
    Настройки.Вставить("ТаблицаЗначений3", ЭтотОбъект.ПорядокПродукции.Выгрузить());
    
    Настройки.Вставить("УчетнаяЗаписьАвтоматическойОтправкиОтчета", ЭтотОбъект.УчетнаяЗаписьАвтоматическойОтправкиОтчета);
    ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Настройки, ОписаниеНастроек, ИмяПользователя );
    
КонецПроцедуры
6 komstr
 
20.09.19
10:26
Ещё один важный момент, собирается отчет на скд, при отсутствии отбора собираются все поля как надо, но если поставить отбор по дате, то исчезают поля должностей, но оно и понятно, работа отбора правильно так как в поле дата у должности пустое значение,может подскажите как сделать, чтобы поля должности тоже отбирались. А нужна возможность отбора по датам.
https://prnt.sc/p8k9w4
Отчёт собран объединением по этому так выходит.
Я ещё не долго программирую, поэтому заранее извиняюсь за дурацкие вопросы
7 komstr
 
20.09.19
10:41
Что то с отбором никак не придумаю
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший