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

Как подчищять форму от данных ?

Автор Никитa, 11 мар 2014, 07:03

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

Никитa

Подскажите как подчистить форму, от данных?
В ПолеВвода выбираем значение, говорим сформировать отчет, отчет сформировывается (по выбранному значению), Жмем отчистить поле ввода, и занова сформировать отчет. И сформировывается какаето фигня. (При пустом поляВвода первый раз формируется полный список всех данных (это то что нам и нужно), но после очистки поляВвода формируется какаето ерунда)

КОД:
Перем КомпУчасток, КомпДом;

Процедура ПолеВвода1ПриИзменении(Элемент)
Если ПолеВвода1="" Тогда
Список=Новый Массив;
ЗначениеЗаполнено(0);
 
   Запрос = Новый Запрос;
Запрос.Текст =
"                        ВЫБРАТЬ
| СтруткутраПредприятия.Ссылка
|ИЗ
| Справочник.СтруткутраПредприятия КАК СтруткутраПредприятия";

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Список.Добавить(Выборка.Ссылка);
КонецЦикла;

КомпУчасток.Значение=Список;
КомпУчасток.Использование = Истина;


Иначе
КомпУчасток.Значение = ПолеВвода1;
    КомпУчасток.Использование = Истина;
КонецЕсли;

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


Процедура ПолеВвода27ПриИзменении(Элемент)


Если ПолеВвода27="" Тогда
    Список=Новый Массив;
ЗначениеЗаполнено(0);
 
   Запрос2 = Новый Запрос;
Запрос2.Текст =
"                        ВЫБРАТЬ
|Обращения.Адрес
|ИЗ
| РегистрНакопления.Обращения КАК Обращения  ";

Результат = Запрос2.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Список.Добавить(Выборка.Ссылка);
КонецЦикла;

КомпУчасток.Значение=Список;
КомпУчасток.Использование = Истина;


Иначе

    КомпДом.Значение = ПолеВвода27;
    КомпДом.Использование = Истина;

КонецЕсли;


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

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


Список=Новый Массив;
Список.Очистить();
//Список.Участок= ПредопределенноеЗначение ("СправочникСсылка.СтруткутраПредприятия");
// ЗначениеЗаполнено("Участок");
Запрос = Новый Запрос;

Запрос.Текст =
"                        ВЫБРАТЬ
| СтруткутраПредприятия.Ссылка
|ИЗ
| Справочник.СтруткутраПредприятия КАК СтруткутраПредприятия";

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Список.Добавить(Выборка.Ссылка);
КонецЦикла;

КомпУчасток.Значение=Список;
КомпУчасток.Использование = Истина;

        /////////////////////////////////////////////
Список2=Новый Массив;

Запрос2 = Новый Запрос;
Запрос2.Текст = "ВЫБРАТЬ
| Дома.Ссылка
|ИЗ
| Справочник.Дома КАК Дома";



Результат2 = Запрос2.Выполнить();
Выборка2 = Результат2.Выбрать();
Пока Выборка2.Следующий() Цикл
Список2.Добавить(Выборка2.Ссылка);
КонецЦикла;

КомпДом.Значение=Список2;
КомпДом.Использование = Истина;

//
//


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

Процедура ПолеВвода1Очистка(Элемент, СтандартнаяОбработка)

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

Процедура ПолеВвода27Очистка(Элемент, СтандартнаяОбработка)
КонецПроцедуры

KrivosheevEV

Процедура ПолеВвода27Очистка(Элемент, СтандартнаяОбработка)
    Поле27 = "";
КонецПроцедуры

Добавлено: 11 мар 2014, 11:06


http://russkiy-na-5.ru/rules/12

Никитa

Цитата: KrivosheevEV от 11 мар 2014, 09:39
Процедура ПолеВвода27Очистка(Элемент, СтандартнаяОбработка)
    Поле27 = "";
КонецПроцедуры

Добавлено: 11 мар 2014, 11:06


http://russkiy-na-5.ru/rules/12
Спасибо! Сделал так Процедура ПолеВвода1ПриИзменении(Элемент)
Если НЕ ЗначениеЗаполнено(ПолеВвода1) Тогда
Список=Новый Массив;   
   Запрос = Новый Запрос;
Запрос.Текст =
"                        ВЫБРАТЬ
| СтруткутраПредприятия.Ссылка
|ИЗ
| Справочник.СтруткутраПредприятия КАК СтруткутраПредприятия";

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Список.Добавить(Выборка.Ссылка);
КонецЦикла;

КомпУчасток.Значение=Список;
КомпУчасток.Использование = Истина;


Иначе
КомпУчасток.Значение = ПолеВвода1;
    КомпУчасток.Использование = Истина;
КонецЕсли;

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


Процедура ПолеВвода27ПриИзменении(Элемент)
Если НЕ ЗначениеЗаполнено(ПолеВвода27) Тогда
    Список=Новый Массив;
  Запрос2 = Новый Запрос;
Запрос2.Текст = "ВЫБРАТЬ
| Дома.Ссылка
|ИЗ
| Справочник.Дома КАК Дома";


Результат = Запрос2.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Список.Добавить(Выборка.Ссылка);
КонецЦикла;

КомпДом.Значение=Список;
КомпДом.Использование = Истина;


Иначе

    КомпДом.Значение = ПолеВвода27;
    КомпДом.Использование = Истина;

КонецЕсли;


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

Сейчас новая проблемка :) как осуществить отбор в интервале дат с чч.мм.гггг по чч.мм.гггг ?:dfbbdrfb:

KrivosheevEV

Не, мне тоже лениво думать.

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

Рейтинг@Mail.ru

Поиск