Группа: Пользователи
Сообщений: 945
Из: Україна
Спасибо сказали: 447 раз
Рейтинг: 13.5
Управляемые формы, конфигурация "УНФ". Реально ли передать в параметры открытия формы выбора документа условие: дата документа в некотором интервале. Насколько мне известно, можно передать только точные значения...
ПараметрыОткрытияФормыВыбора=Новый Структура; Пар = Новый Структура; Пар.Вставить("Контрагент", Объект.Контрагент); Пар.Вставить("Организация", Объект.Организация); //сюда бы добавить период отбора документа. Например, документы за последние 2 месяца. Сейчас за все годы попадают в список, не годится так. ПараметрыОткрытияФормыВыбора.Вставить("Отбор", Пар); ОписаниеОповещения = Новый ОписаниеОповещения("Тест", ЭтаФорма);
Группа: Пользователи
Сообщений: 945
Из: Україна
Спасибо сказали: 447 раз
Рейтинг: 13.5
sava1 Доработав немного код выше:
Сп = Новый СписокЗначений; Сп.Добавить(ДобавитьМесяц(НачалоДня(ТекущаяДата()), -2)); Сп.Добавить(КонецДня(ТекущаяДата())); ПараметрыОтбор = Новый Структура("Дата", Сп);
Пустой список в результате получаем. Также попробовал вместо "Дата" --- "Период": никаких изменений по сравнению с базовым кодом (т.е. список отображается полностью по всем годам)
типа сравнения между в СКД нет для левого соединения. увы там или больше (больше или равно) или меньше (меньше или равно), или равно, или не равное, или в списке...... и т.д. идею получать весь список дат и сравнивать("В списке" или "Не в списке"), думаю это не очень хорошая идея - хотя если очень и очень надо, то возможно и такое.
Группа: Пользователи
Сообщений: 945
Из: Україна
Спасибо сказали: 447 раз
Рейтинг: 13.5
sava1 Работает прекрасно, спасибо. А как получить результат?
ОписаниеОповещения = Новый ОписаниеОповещения("Тест", ЭтаФорма); ОткрытьФорму("Документ.ЗаказПоставщику.Форма.ФормаВыбора", ПараметрыОткрытияФормыВыбора,ЭтаФорма,,,,ОписаниеОповещения); //тут результат получаем в процедуре Тест()
//тут нет конструктора ОписаниеОповещения Форма = ПолучитьФорму("Документ.ЗаказПоставщику.Форма.ФормаВыбора");
ОписаниеОповещения = Новый ОписаниеОповещения("ПолучитьЗначениеВыбора", ЭтаФорма); Форма = ОткрытьФорму("Документ.ЗаказПоставщику.Форма.ФормаВыбора",,ЭтаФорма,,,,ОписаниеОповещения);
Отбор = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата"); Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно; Отбор.Использование = Истина; Отбор.ПравоеЗначение = ДобавитьМесяц(ТекущаяДата(),-3);
Отбор = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата"); Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно; Отбор.Использование = Истина; Отбор.ПравоеЗначение = ТекущаяДата();
Отбор = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент"); Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Отбор.Использование = Истина; Отбор.ПравоеЗначение = Объект.Контрагент;
Отбор = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация"); Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Отбор.Использование = Истина; Отбор.ПравоеЗначение = Объект.Организация;
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!