Имя: Пароль:
1C
1С v8
Внешняя обработка (упр.формы) не всегда открывается. Почему?
0 PCcomCat
 
05.08.16
14:08
Доброго времени, уважаемые!

Управление торговлей, редакция 11.2 (11.2.3.108).
Добавлена внешняя обработка.

При попытке ее открыть она может четыре раза открыться, а пятый раз нет. А может и с первого раза не открыться.

Почему?
1 Горогуля
 
05.08.16
14:09
у меня родители так люябт делать. между первым и вторым кликом мыши чуть смещают её. ОС не считает это двойным кликом
2 PCcomCat
 
05.08.16
14:21
(1) троль?
3 PCcomCat
 
05.08.16
14:22
Оповещение об открытии формы выводится во всех случаях, но не во всех открывается. Просто тупо когда хочет.
4 Горогуля
 
05.08.16
14:23
(2) не, пенсионеры
5 PCcomCat
 
05.08.16
14:23
Кстати, та же фигня наблюдалась в демке на УТ от Первого Бита по софтфону.
6 Fragster
 
гуру
05.08.16
14:23
&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ГСЧ = Новый ГенераторСлучайныхЧисел;
    Отказ = ГСЧ.СлучайноеЧисло(0,5) = 5;
КонецПроцедуры
7 PCcomCat
 
05.08.16
14:26
Обработка взята стандартная из конфы - Универсальный обмен данными XML, туда добавлено заполнение полей с путями и правилами. Ну и в Модуле объекта добавлены необходимые для внешних обработок процедуры и функции.
8 PCcomCat
 
05.08.16
14:29
Заполнение полей с путями и правилами, а также загрузка правил происходит при открытии. Может тут что не так? Если через файл - открыть, проблемы не наблюдаются.
9 Горогуля
 
05.08.16
14:30
отладку или программиста предлагать?
10 lubitelxml
 
05.08.16
14:31
(8)
попытка
исключение
конецПопытки

должны помочь поймать косяк
11 PCcomCat
 
05.08.16
14:31
(9) Да помидоры, чего уж там!
12 PCcomCat
 
05.08.16
14:33
(10) Не помогло.... Раз шесть открылась, а потом не открывается...
13 lubitelxml
 
05.08.16
14:34
(12) и исключение не вывалилось? Куда вставляла? И в ПриОткрытии все загнала в попытки и в ПриСозданииНаСервере?
14 lubitelxml
 
05.08.16
14:35
версия платформы?
15 PCcomCat
 
05.08.16
14:35
Вообще свое комментирую, и... поведение не поменялось!
16 PCcomCat
 
05.08.16
14:35
1С:Предприятие 8.3 (8.3.6.2152)
17 lubitelxml
 
05.08.16
14:35
(15) кеш?
18 PCcomCat
 
05.08.16
14:36
И на 1С:Предприятие 8.3 (8.3.8.1861)
19 PCcomCat
 
05.08.16
14:36
(18) - это от Бита так себя ведет.
20 PCcomCat
 
05.08.16
14:36
Компы разные
21 PCcomCat
 
05.08.16
14:37
(17) Счас...
22 PCcomCat
 
05.08.16
14:40
Очистка кэша не помогла...
23 PCcomCat
 
05.08.16
14:44
Код для внешней обработки в модуле объекта (Может тут что не так?):
Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("");

    ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Универсальный обмен данными"); // <<<<< Укажите свое имя отчета
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", "Универсальный обмен данными");

    ТаблицаКоманд = Получить_Таблицу_Команд();

    ДобавитьКоманду(ТаблицаКоманд, "Универсальный обмен данными", "Универсальный обмен данными", "ОткрытиеФормы", Ложь);

    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

    Возврат ПараметрыРегистрации;
КонецФункции

Функция Получить_Таблицу_Команд()//
  Команды = Новый ТаблицаЗначений;
  Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
  Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
  Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
  НоваяКоманда = ТаблицаКоманд.Добавить();
  НоваяКоманда.Представление = Представление;
  НоваяКоманда.Идентификатор = Идентификатор;
  НоваяКоманда.Использование = Использование;
  НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
  НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
24 Горогуля
 
05.08.16
14:46
мне идентификатор команды с пробелом не нравится
25 PCcomCat
 
05.08.16
14:47
(24) И без пробела было - результат один
26 lubitelxml
 
05.08.16
14:47
МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("");
лишнее, остальное вроде норм
27 lubitelxml
 
05.08.16
14:48
хотя может и нет. Но зачем добавлять туда ""?
28 Горогуля
 
05.08.16
14:48
ну скажи уже, что вот точка остановка на конце процедуры при открытии, жму - и фих
29 PCcomCat
 
05.08.16
14:53
Она открывается и мгновенно исчезает!
30 lubitelxml
 
05.08.16
14:56
(29) чудеса какие-то
31 PCcomCat
 
05.08.16
14:57
Вывожу оповещение пользователя "Открылась!!!" после всех действий при открытии - оповещение есть, а формы нет!!!
32 Горогуля
 
05.08.16
15:00
надо было с самого начала рисовать обёртку типовой, а не курочить её...
33 PCcomCat
 
05.08.16
15:02
(32) А принципиальные отличия?
34 Горогуля
 
05.08.16
15:02
(33) кода меньше, отладить проще
35 Горогуля
 
05.08.16
15:03
+(34) ну и если что-то сменится в типовой..
36 PCcomCat
 
05.08.16
15:03
Сверхестественного ничего не делалось.
37 PCcomCat
 
05.08.16
15:04
(34) Своё уже закомментировала - там строк восемь после типовых. А поведение не поменялось.
38 Горогуля
 
05.08.16
15:07
а не было там выставлено галки про запускать обмен по открытии?
39 PCcomCat
 
05.08.16
15:10
Нет, конечно!
40 PCcomCat
 
05.08.16
15:13
Повторюсь: подобное поведение замечено в конфе УТ с обработками от БИТА, причем они не внешние. Там ситуация такая: поступает звонок от клиента, и должно появиться окно с кнопками Принять вызов, Отклонить вызов, и оповещение о входящем звонке. Вот здесь тоже - как повезёт!
41 Горогуля
 
05.08.16
15:14
(39) сразу конечно, ага
42 PCcomCat
 
05.08.16
15:15
+(40) Моих рук там не было.
43 PCcomCat
 
05.08.16
15:15
(41) Ж на М сменить нужно, чтоб всерьез?! ;)
44 Горогуля
 
05.08.16
15:16
(43) М разные бывают. как и Ж
45 PCcomCat
 
05.08.16
15:17
(41) Добавляю вот это:
        КаталогИБ = СокрЛП(СтрЗаменить(СтрЗаменить(СтрЗаменить(СтрокаСоединенияИнформационнойБазы(),"""",""),";",""), "File=", ""));
        ИмяФайлаПравил = КаталогИБ + "\ПравилаОбменаДанными_УТ11_в_КА.xml";
        ИмяФайлаДанных = "F:\exchange\Message_УТЦ_КЮ1.xml";
        
        ПериодВыгрузки.ДатаНачала = НачалоДня(ТекущаяДата()) - 7*86400;
        ПериодВыгрузки.ДатаНачала = ?(ПериодВыгрузки.ДатаНачала<Дата(2016,07,01), Дата(2016,07,01),ПериодВыгрузки.ДатаНачала);
        ПериодВыгрузки.ДатаОкончания = КонецДня(ТекущаяДата());
        
        ПриИзмененииПериода();
        
        ПрочитатьПравилаОбмена(Элементы.ФормаЗагрузитьПравила);


Но и без этого куска - как повезет!
46 PCcomCat
 
05.08.16
16:02
Вспомнилось, что стандартная обработка отрывалась, блокируя остальные окна. А как внешняя она такого не делает. Поменяла на Независимый режим открытия окна. После этого открывается всегда.

Спасибо за попытки помочь!!!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан