Имя: Пароль:
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
Вспомнилось, что стандартная обработка отрывалась, блокируя остальные окна. А как внешняя она такого не делает. Поменяла на Независимый режим открытия окна. После этого открывается всегда.

Спасибо за попытки помочь!!!
Программист всегда исправляет последнюю ошибку.