Имя: Пароль:
1C
 
Можно ли отменить редактирование новой строки?
0 toypaul
 
гуру
05.07.19
10:43
Дано - УФ, такси. При добавлении новой строки производится вход в режим редактирования. Можно ли отменить вход в режим редактирования?
1 Fragster
 
гуру
05.07.19
10:52
да
2 Fragster
 
гуру
05.07.19
10:52
по крайней мере пользователю так будет казаться
3 lxs
 
05.07.19
10:53
(0) а зачем вообще разрешать?
4 toypaul
 
гуру
05.07.19
11:04
(1) как?
5 toypaul
 
гуру
05.07.19
11:04
(3) разрешать что?
6 toypaul
 
гуру
05.07.19
11:08
у меня вообще проблема в другом. я бы может и не просил как сделать "это странное требование", но ситуация такая что при активизации строки нужно выполнять некоторые действия. выполняются они есс-но через обработчик ожидания, потому что идет обращение к серверу. и вот если идет обращение к серверу, то режим редактирования сбрасывается.

что выглядит странно. и лично меня бесит. и видимо пользователе тоже. вот я и думаю. как бы сделать так, чтобы вход в режим редактирования не производился. я сделаю все свои "грязные дела" и сам потом могу вызвать ИзменитьСтроку. но главное - сделать надо так, чтобы окошко редактирования не скакало туда-сюда.
7 Вафель
 
05.07.19
11:10
ну так добавляй програмно
8 lxs
 
05.07.19
11:18
"есс-но через обработчик ожидания" - и чего же тут естественного?...
9 toypaul
 
гуру
05.07.19
11:20
(8) СП открой что ли почитай
10 lxs
 
05.07.19
11:21
(9) Ты меня решил поучить, вылезая на форум с такими тупыми вопросами?
11 Cyberhawk
 
05.07.19
11:25
Ты хочешь при интерактивном добавлении новой строки что-то с этой строкой делать в фоне, а пользователь чтоб в это время ничего не мог сделать, и только после завершения твоего фона смог что-то сделать? Недружественно, однако.
12 toypaul
 
гуру
05.07.19
11:25
(10) я просто решил поучить тебя. где тут вопросы тупые? может у тебя с пониманием проблемы?

нужно строку добавить, но не начинать ее редактировать. знаешь как сделать - так напиши. а не задавай тупых вопросов
13 toypaul
 
гуру
05.07.19
11:27
(11) ну куда деваться. если любое обращение (даже из обработчика ожидания и даже обращение к ТолькоПросмотр) сбрасывает режим редактирования. это сейчас вообще выглядит очень не дружественно.
14 Cyberhawk
 
05.07.19
11:27
(13) Игрался с режим редактирования: вход / непосредственно / вход при вводе?
15 toypaul
 
гуру
05.07.19
11:28
(14) с чем я только не игрался :)
16 toypaul
 
гуру
05.07.19
11:30
вообще удалось победить как-то так ...

почему-то режим редактирования сбрасывается только для 1й строки. если добавляются 2,3 и т.д. строки = все НОРМ

пришлось сделать так - если в поле ничего не выбрано (от этого поля зависят все вызовы сервера) и если строка только одна - то не обращаемся на сервер и не дергаем ТолькоПросмотр. БИНГО - тогда режим редактирования для 1й строки не сбрасывается.

хотя нет 100% уверенности, что дальше будет работать нормально.
17 silent person
 
05.07.19
11:37
&НаКлиенте
Процедура ТабличнаяЧасть1ПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
        // Вставить содержимое обработчика.
    Отказ = Истина;    
    НоваяСтрока = Объект.ТабличнаяЧасть1.Добавить();
КонецПроцедуры
18 toypaul
 
гуру
05.07.19
12:18
(17) ага. будет как запасной вариант.
19 Вафель
 
05.07.19
12:20
(18) это же самы простой вариант.
добавил, заполнил как нужно.
никаких обработок ожидания с блокировками таблиц
20 toypaul
 
гуру
05.07.19
12:25
обработка ожидания для другого нужна
21 lxs
 
05.07.19
12:55
(12) НЕ?

&НаКлиенте
Процедура ТабличнаяЧасть1ПередНачаломИзменения(Элемент, Отказ)
    
    Отказ = НЕ РедактированиеРазрешено;
    
КонецПроцедуры

&НаКлиенте
Процедура ТабличнаяЧасть1ПриАктивизацииСтроки(Элемент)
    
    РедактированиеРазрешено = Ложь;
    ЭтаФорма.ПодключитьОбработчикОжидания("Подключаемый_ФоновыеПроцедуры", 0.1, Истина);
    
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ФоновыеПроцедуры()
    
    Старт  = ТекущаяДата();
    Пока (ТекущаяДата() - Старт) < 5 Цикл
        //эмуляция выполнения каких-то процедур    
    КонецЦикла;
    РедактированиеРазрешено = Истина;
    
КонецПроцедуры

&НаКлиенте
Процедура ТабличнаяЧасть1ПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр)
    
    Объект.ТабличнаяЧасть1.Добавить();
    Отказ = Истина;
    
КонецПроцедуры