Имя: Пароль:
1C
1C 7.7
v7: после закрытия формы Контрагента закрывается группа, в которой он находился
0 ksa-nsk
 
18.08.17
07:04
Всех приветствую.
Есть проблема - иногда после закрытия формы элемента справочника Контрагенты вместо того, чтобы остаться на строке этого Контрагента в списке Контрагнтов, в 1С вообще закрывается та группа, в которой он был открыт, т.е. как-бы идет переход на 1 уровень выше. Жутко мешает работать, может кто знает лекарство?
1 Рэйв
 
18.08.17
07:06
>> может кто знает лекарство?
переходите на 8.x. Там такого нету.
2 Масянька
 
18.08.17
08:19
(0) Нет такой болячки.
3 1dvd
 
18.08.17
08:29
Закрывается по ОК или по кресту?
4 Масянька
 
18.08.17
08:31
(3) Без разницы.
5 1dvd
 
18.08.17
08:36
(4) я не у тебя спрашивал :)
6 ksa-nsk
 
18.08.17
09:32
закрывается по кресту
7 ksa-nsk
 
18.08.17
09:33
на 8-ку не судьба - все конфигурация полностью переписана, от родного мало что осталось
8 Ёпрст
 
18.08.17
09:39
Смотри, что написано в ПриЗакрытии
9 ksa-nsk
 
18.08.17
09:48
вываливается ИНОГДА при закрытии уже существующего элемента справочника,
вот при закрытии:

Процедура ПриЗакрытии() //предопределенная
    
    Если (НовыйКонтрагент = 1) И (Выбран() = 1) Тогда
        СпрДог = СоздатьОбъект("Справочник.Договоры");
        СпрДог.ИспользоватьВладельца(ТекущийЭлемент());
        Если СпрДог.ВыбратьЭлементы() = 0 Тогда
            СпрДог.Новый();
            СпрДог.Наименование = "Основной договор";
            СпрДог.ВидДоговора  = глЗначениеПоУмолчанию("ОсновнойВидДоговоров");
            СпрДог.ОплатаДоговора = 1;
            СпрДог.АвтоОбработкаНДС = 1;
            СпрДог.Записать();
            
            ОсновнойДоговор = СпрДог.ТекущийЭлемент();
            Записать();
        КонецЕсли;
    КонецЕсли;
    
    Если ПустаяСтрока(ПочтовыйАдрес) = 0 Тогда
        Если ПустаяСтрока(ПочтовыйИндекс) = 1 Тогда
            Предупреждение("Почтовый адрес введен,
                           |необходимо ввести почтовый индекс.", 2);
        КонецЕсли;
    КонецЕсли;
    
    Если Выбран() = 1 Тогда
        Если ПустаяСтрока(ИНН) = 1 Тогда
            Предупреждение("У Контрагента не введен ИНН.
            |Необходимо заполнить!!!");
        КонецЕсли;    
        Если (СтрДлина(ИНН) <> 10) И (СтрДлина(ИНН) <> 12) И (ПустаяСтрока(ИНН) = 0) Тогда
            Предупреждение("У Контрагента неправильно введен ИНН.
            |Для юр.лиц:10 знаков, для физ.лиц:12 знаков.
            |Необходимо исправить!!!");
        КонецЕсли;    
        Если ПустаяСтрока(КПП) = 1 Тогда
            Если СтрДлина(КПП) <> 9 Тогда
                Предупреждение("У Контрагента неправильно введен КПП.
                |Для юр.лиц:9 знаков.
                |Необходимо исправить!!!");
            КонецЕсли;    
        КонецЕсли;    
    КонецЕсли;
    
    Если Модифицированность() = 1 Тогда
        Если ПустаяСтрока(ЭлАдрес) = 0 Тогда
            СтрокаЯщиков = СокрЛП(ЭлАдрес);
            КолЯщиков = СтрЧислоВхождений(СтрокаЯщиков, ";");
            Для Н = 1 По КолЯщиков Цикл
                НомВх = Найти(СтрокаЯщиков, ";");
                ТекЯщик = Лев(СтрокаЯщиков, НомВх-1);    
                СтрокаЯщиков = Прав(СтрокаЯщиков, СтрДлина(СтрокаЯщиков)-НомВх);
                Если глПроверкаЭлЯщика(СокрЛП(Нрег(ТекЯщик))) = 0 Тогда
                    Предупреждение("Ошибка во введенном электронном адресе ("+СокрЛП(ТекЯщик)+"). Ищем...");
                    СтатусВозврата(0);
                    Возврат;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры //ПриЗакрытии
10 ksa-nsk
 
18.08.17
09:48
т.е. простые проверки и все
11 Ёпрст
 
18.08.17
09:57
(10) "Вываливается" у всех, или только у тебя ?
12 Ёпрст
 
18.08.17
09:58
в форме списка, нет ничего ?
Там тоже можно "порулить"
13 Масянька
 
18.08.17
10:06
(9) А на фига проверка реквизитов при закрытии?
14 ksa-nsk
 
18.08.17
10:30
вываливается не всегда, в том то и проблема. Проверка реквизитов - чтобы нормальный ввод был - с этим потом обработки работают. Если типа косяка по сети, то, наверно, 1С пообще бы полностью вывалилась, а тут просто не позиционируется на закрываемом элементе((.
Ну по ходу вариантов нет.
15 Масянька
 
18.08.17
10:32
(14) Ты мозг включи...
Проверка нормального ввода при закрытии - это нормально?
16 ksa-nsk
 
18.08.17
10:47
14 - нуу, не совсем конечно, переделаю, но не может же из-за этого глючить)
17 Масянька
 
18.08.17
10:50
(16) "Не совсем конечно" - это мягко сказано...
А почему не может?