Имя: Пароль:
1C
1C 7.7
v7: Элемент управления ИНДИКАТОР
0 GirlProgram
 
01.02.08
11:52
Пишу:

Ответ = Вопрос("ля-ля");
если Ответ = Да тогда
  //какой-то код
конец если;

Так вот, как мне настроить Индикатор, чтобы он запускался при Ответе Да до того момента, пока не выйдет из цикла?
1 Heckfy
 
01.02.08
11:59
Не совсем понятно. Ты хочешь видить ход выполнения обработки?
2 Salvador Limones
 
01.02.08
12:00
Наверное, чтобы пользователь видел, сколько раз ему нужно нажать на "Да", чтобы прога продолжила работу. :-)
3 GirlProgram
 
01.02.08
12:04
(1) да, чтобы пользователь знал, как скоро она прекратиться
4 GirlProgram
 
01.02.08
12:04
(2) :D не умничай
5 Ветер теней
 
01.02.08
12:05
(0) у элемента "индикатор" есть свойства:
//
1. мин. знач -
2. макс знач -
3. шаг приращение -
//изменяет положение индикатора
4. значение -

устанавливая эти свойства вы и меняете вид индикатора...
6 Salvador Limones
 
01.02.08
12:06
(4) :-P
Не вижу в этом смысла, но попробуй конструкцию "Пока ... Цикл"
7 GirlProgram
 
01.02.08
12:09
(5) я знаю, что есть эти свойства, но где их установливать, и как индикатоор поймет, когда ему запуститься и когда остановиться и как он будет показывать состояние, в каком у меня находится система
8 GirlProgram
 
01.02.08
12:11
(6) а где мне его запустить?
9 Ветер теней
 
01.02.08
12:31
(7) если я правильно понял, что вам нужно:
Задаем начальные параметры:
//
1. минЗнач = 0
2. максЗнач = 100
3. шагПриращение = 1
//
Для позицияИндикатора=минЗнач По максЗнач Цикл
//изменяет положение индикатора
4. Индикатор.значение = позицияИндикатора //покажет ход процесса
КонецЦикла;

Индикатор.значение = 50 //покажет половину заполнения
Индикатор.значение = 10 //покажет 1/10 часть заполнения

Удачи!
10 Heckfy
 
01.02.08
12:35
Лови пример. В свойствах индикатора, для красоты, поставь "показывать проценты":
Процедура ОсновныеДействияФормыОчиститьТестовыйСправочник(Кнопка)
   ОчиститьСообщения();
   Запрос = Новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
   |    КОЛИЧЕСТВО(*) КАК КоличествоЗаписей
   |ИЗ
   |    Справочник.ТестовыйСправочник КАК ТестовыйСправочник"
   ;
   Выборка = Запрос.Выполнить().Выбрать();
   Если Выборка.Следующий() Тогда
       КоличествоЗаписей = Выборка.КоличествоЗаписей;
   КонецЕсли;
   ЭлементыФормы.Индикатор1.МаксимальноеЗначение=КоличествоЗаписей;
   Выборка=Справочники.ТестовыйСправочник.Выбрать();
   СчУд=0;
   Пока Выборка.Следующий() Цикл
       Выборка.ПолучитьОбъект().Удалить();
               СчУд=СчУд+1;
       Индикатор1=СчУд;
   КонецЦикла;
   Сообщить("Всего удалено: "+СчУд);
КонецПроцедуры
11 GirlProgram
 
01.02.08
12:44
Короче вот:

Ответ = Вопрос("Очистить таблицу товаров и подсчитать их общую стоимость?", РежимДиалогаВопрос.ДаНет);
  если Ответ = КодВозвратаДиалога.Да тогда
   // вывести на печать (ПечатьПеремещения)
   ТаблЧастьЭтогоДок = ЭтотОбъект.Номенклатура.Выгрузить(,"Номенклатура");
   // Извлекаем стоимость товара
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("СубконтоДт1",ТаблЧастьЭтогоДок);
       Запрос.УстановитьПараметр("СчетДт1",    "10");
   Запрос.УстановитьПараметр("Организация",     Организация);
   ТекстЗапросаИнвентаризация = "ВЫБРАТЬ
      |    ля-ля;"
                                                           Запрос.Текст =ТекстЗапросаИнвентаризации;
       Цена = 0;
   Кол = 1;
   Ном = "";
   Выборка   = Запрос.Выполнить().Выбрать();
       Пока Выборка.Следующий() Цикл
        Ном = Выборка.СубконтоДт1;
        Цена = Цена + (Выборка.СуммаОборот / Выборка.КоличествоОборотДт);
       конеццикла;
       ЭтотОбъект.Номенклатура.Очистить();
   ТаблЧастьНовДок = ЭтотОбъект.Номенклатура.Добавить();
   ТаблЧастьНовДок.Номенклатура = "";
   ТаблЧастьНовДок.ЦенаПлан = Цена;
   ТаблЧастьНовДок.Количество = 1;
   ТаблЧастьНовДок.КоличествоМест = "";
   возврат;
иначе
   возврат;
конецесли;

так вот все это действие мне должен отражать индикатор. Как?
12 GirlProgram
 
01.02.08
12:45
после ответа да и до конца если
13 ЗлобнийМальчик
 
01.02.08
12:46
ИМХО задача нерешаемая, так как вы хотите добиться многопоточности от однопоточной системы

получается, что вы должны одновременно запустить две задачи:
1)Ответ = Вопрос("Очистить таблицу товаров и подсчитать их общую стоимость?", РежимДиалогаВопрос.ДаНет); и 2) создать и отобразить индикатор
14 GirlProgram
 
01.02.08
12:50
(13) по идее да. значит это все пустая затея. Ладно, откажусь. Не буду понтоваться.
15 GirlProgram
 
01.02.08
12:52
всем спасибо, кто откликнулся.