Имя: Пароль:
1C
1C 7.7
v7: Не очищается поле ввода на форме
,
0 Масянька
 
15.01.14
08:11
Доброе утро!

Такой вопрос: есть внешний отчет. На форме есть реквизит (поле ввода) - недоступный, число формулы нет. По нажатию кнопки "Сформировать" - данное поле заполняется суммой (считается).
Мне хочется, чтобы при повторном нажатии кнопки "Сформировать" это поле сначала очищалось, а потом уже там появлялась сумма. Не получается.

Процедура ОчисткаПолей()
    
    СуммаОстаткиТМЦ     = 0;
    СуммаПоПартиямТМЦ     = 0;
    //Форма.СуммаОстаткиТМЦ.Заголовок(0);

    Форма.АнализОстаткиТМЦ_ОК.Видимость(0);
    Форма.АнализПартииТМЦ_ОК.Видимость(0);
    Форма.АнализОстаткиТМЦ_НеОК.Видимость(0);
    Форма.АнализПартииТМЦ_НеОК.Видимость(0);

    Форма.БегунокПроцентыОстаткиТМЦ.Заголовок("");
    Форма.БегунокПрогрессБарОстаткиТМЦ.Заголовок("");
    Форма.БегунокПроцентыПартииТМЦ.Заголовок("");
    Форма.БегунокПрогрессБарПартииТМЦ.Заголовок("");

    Форма.Обновить();
    
КонецПроцедуры // ОчисткаПолей


Кстати, есть реквизит "Дата" - формула - ОчисткаПолей(). Так вот суммы (почему-то) очищаются.

Где косяк?

Спасибо.
1 SeraFim
 
15.01.14
08:15
Косяк в выборе секции =)
2 Масянька
 
15.01.14
08:19
(1) Какой секции?
3 1dvd
 
15.01.14
08:38
Если Сумма = 0 Тогда
    Сумма = <туто заполняем как нуно>
Иначе
    Сумма = 0;
КонецЕсли;
4 Масянька
 
15.01.14
08:43
(3) Это что?
5 Asmody
 
15.01.14
08:44
(2) это точно 8ка?
6 Масянька
 
15.01.14
08:45
(5) Блин!!!!!!!!!!!! Я же выбирала 7....

Пардон, это 7.7.
Поправьте, пожалуйста.
7 1dvd
 
15.01.14
08:46
(4) Это код
8 Масянька
 
15.01.14
09:00
Асмодя - спасибо :))))
9 Масянька
 
15.01.14
09:05
Люди, ну ткните меня в правильном направлении.....
Пажалста....
10 Mikeware
 
15.01.14
09:05
а вот нефиг франчем обзывать...
11 Масянька
 
15.01.14
09:06
(10) Ну я же попросила прощения :(
12 DeiMos
 
15.01.14
09:21
Что-то я не вижу в твоей процедуре очистки каких-либо реквизитов формы...

Типа Форма.ТакойТоРеквизит=0;
13 Масянька
 
15.01.14
09:22
(12) Форма.СуммаОстаткиТМЦ     = 0;
{D:\1CV7\ОБРАБОТКИ\РАЗРАБОТКА\ДНЕВНОЙОТЧЕТ_1.ERT(1321)}: Попытка присвоить значение недоступной для записи переменной (СуммаОстаткиТМЦ)
14 1dvd
 
15.01.14
09:30
пелять....


Если СуммаОстаткиТМЦ = 0 Тогда
    СуммаОстаткиТМЦ = <туто заполняем как нуно>
Иначе
    СуммаОстаткиТМЦ = 0;
КонецЕсли;

так понятнее?
15 oslokot
 
15.01.14
09:32
Вместо:
//Форма.СуммаОстаткиТМЦ.Заголовок(0);
Напесать это:
СуммаОстаткиТМЦ=0;

:)
16 Масянька
 
15.01.14
09:35
(14) Ф топку.
(15) Так и написано. А работает только при изменении даты.
17 oslokot
 
15.01.14
09:38
(16) дык Форма.Обновить() выполняется до или после нажатия Сформировать?
18 Масянька
 
15.01.14
09:41
(16)
Процедура Сформировать()
    
    ОчисткаПолей();
    Форма.Обновить();
    
    СформироватьОстатки();
    СформироватьПоПартиям();
    Анализ();
    
КонецПроцедуры
19 1dvd
 
15.01.14
09:46
(16) и тебя туда же :)
20 trad
 
15.01.14
09:46
(18)
Перем мНеЗакрывать;

Процедура Сформировать()
    ОчисткаПолей();
    мНеЗакрывать=1;
    Форма.Закрыть();
КонецПроцедуры

Процедура Сформировать2()
    СформироватьОстатки();
    СформироватьПоПартиям();
    Анализ();
КонецПроцедуры

Процедура ПриЗакрытии()
    Если мНеЗакрывать=1 Тогда
        мНеЗакрывать=0;
        СтатусВозврата(0);
        Сформировать2();
    КонецЕсли;
КонецПроцедуры
21 1dvd
 
15.01.14
09:49
Процедура Сформировать()
    
    Если СуммаОстаткиТМЦ = 0 Тогда
        
        ОчисткаПолей();
        Форма.Обновить();
    
        СформироватьОстатки();
        СформироватьПоПартиям();
        Анализ();
        
    Иначе
        
        СуммаОстаткиТМЦ = 0;
        
    КонецЕсли;
КонецПроцедуры
22 Масянька
 
15.01.14
09:49
(20) Да была у меня такая мысль, но - что проще никак?
В чем проблема-то?
23 oslokot
 
15.01.14
09:54
(22) Да просто Форма в этом случае не обновляется, и есть вариант через ложное закрытие формы (20)
А можно наверное формексом обновить попробовать
24 Масянька
 
15.01.14
09:56
(23) Спасибо. Уже до самой стало доходить :(
25 oslokot
 
15.01.14
09:56
А вобще нафига на форме недоступное поле ввода числа? Сделай ее текстом
26 trad
 
15.01.14
10:09
(22) "В чем проблема-то?"
поля ввода отрисовываются только при транслировании WM_PAINT, а WM_PAINT транслирутся только когда никакой код не выполняется
27 trad
 
15.01.14
10:10
+(26) можно сделать текст, как в (25). Тексты обновляются иначе
28 Масянька
 
15.01.14
10:15
Дядьки - спасибо!
29 Мимохожий Однако
 
15.01.14
10:17
От тётьки слышу! ))
30 Масянька
 
15.01.14
10:20
(29) Иди мимо, однако :)))))))))))))))