Имя: Пароль:
1C
1C 7.7
v7: Как открыть форму справочника
,
0 Invzor
 
24.01.14
09:11
Процедура ЧитатьШтрих()
    Сообщить("Читаю штрихкод...");
    СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");
    СпрДог = создатьОбъект("Справочник.Договоры");
    СпрШтрих = СоздатьОбъект("Справочник.Идентификатор");
Если СпрШтрих.НайтиПоКоду(Число(СоСканераШтрих)) =1 тогда  
    Сообщить(СпрШтрих.Код);
Если СоСканераШтрих >= 1 тогда
    
    

    СпрКонтр.ВыбратьЭлементы();
//    Сообщить(СпрКонтр.Наименование);
    Пока СпрКонтр.ПолучитьЭлемент() = 1 Цикл
    //    Сообщить(СпрКонтр.Наименование); конецЦикла;
        Если СпрКонтр.ЭтоГруппа() = 0 Тогда                      
        СпрДог.ИспользоватьВладельца(СпрКонтр);
//ЗДЕСЬ НЕОБХОДИМО ОТКРЫТЬ ФОРМУ СПРАВОЧНИКА СПР.ДОГ

//Пробывал так не открывает:
//Конт = 0;
//ОткрытьФорму(СпрДог,Конт); //открыть //форму списка справочника
        
     СпрДог.ВыбратьЭлементы();  
    // Сообщить(СпрДОг.ИдентификаторШтриха);
     Пока СпрДог.ПолучитьЭлемент() = 1 цикл
     Если СпрДог.ИдентификаторШтриха.код = СпрШтрих.Код тогда
//         сообщить(СпрДог.Код);
     сообщить(СпрКонтр.Наименование);
         СпрДог.Статус = Перечисление.СтатусДоговора.Действует;
         СпрДог.Записать();
         
          конецЕсли;
     КонецЦИкла;  
         КонецЕсли;
     КонецЦикла;  
     СоСканераШтрих = "";  
     Сообщить("обработал");  
    
    
Иначе Сообщить("Введен нулевой ШТРИХКОД");
конецЕсли;    
    
Иначе Сообщить("Такого штрихКода нет в базе!");
конецЕсли;
    
КонецПроцедуры
1 Invzor
 
24.01.14
09:12
Не открывает форму справочника . Можете подсказать что не так?
2 butterbean
 
24.01.14
09:14
фубля, это 7.7 что-ли??
3 Wobland
 
24.01.14
09:15
(2) 7.7 - та ещё фубля ;)
4 Invzor
 
24.01.14
09:16
да да... забыл указать 7.7
5 Wobland
 
24.01.14
09:20
а что-то неплохо так выглядит. шарашим по списку всех контрагентов, для каждого элемента открываем форму. не?
6 Wobland
 
24.01.14
09:20
(5) *все формы всех договоров
7 Invzor
 
24.01.14
09:22
да нет... это я не туда просто вставил когда копировал ... открыть нужно форму только одного.. который по условиям подходит естественно
8 zdas
 
24.01.14
09:25
а то что
//ОткрытьФорму(СпрДог,Конт); //открыть //форму списка справочника

ПЕРЕД
        
     СпрДог.ВыбратьЭлементы();  

не смущает?:)
9 Invzor
 
24.01.14
09:26
да какая разница куда... он все равно не открывает...
10 Invzor
 
24.01.14
09:26
сообщает: ОТКРЫТИЕ ОКНА В ДАННОМ РЕЖИМЕ НЕДОСТУПНО
11 Invzor
 
24.01.14
09:30
я так понимаю сам код открытия неправильный... можете подсказать?
12 zdas
 
24.01.14
09:39
ОткрытьФорму(<?>,,)
Синтаксис:
ОткрытьФорму(<Элемент>,<КонтекстФормы>,<РежимПросмотра>)
Назначение:
Открывает визуальную форму сущ. элемента/группы справочника.
Возвращает: 1 - если действие выполнено, 0 - иначе.
Параметры:
<Элемент> - выражение со значением типа 'Справочник';
13 Invzor
 
24.01.14
09:47
ОткрытьФорму("Справочник.Договоры", конт,1);
Вот так?
не работает...
сообщает: ОТКРЫТИЕ ОКНА В ДАННОМ РЕЖИМЕ НЕДОСТУПНО
14 chelentano
 
24.01.14
09:49
(13) потому что ты ещё не нашёл нужный договор
15 Invzor
 
24.01.14
09:52
я ж говорю мне не элемент справочника... а форму справочника открыть надо
16 Invzor
 
24.01.14
09:52
это подчиненный справочник... у каждого элемента СпрКонтр есть подчиненный спрДог... в нем список договоров.. вот мне этот список и надо открыть...
17 zdas
 
24.01.14
09:54
хех, ты уж определись, форму справочника или форму списка справочника тебе надо открыть?:)

ОткрытьФорму(<?>,)
Синтаксис:
ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>)
Назначение:
Открывает визуальную форму списка справочника.
Возвращает: 1 - если действие выполнено, 0 - иначе.
Параметры:
<ОписательОбъекта> - строковое выражение. ''Справочник.ХХХХХ.YYYYY'', где ХХХХХ - вид справочника, YYYYY - имя выбранной формы списка справочника;
<КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен).
18 chelentano
 
24.01.14
09:54
(16) тогда срочно читать СП
19 ADirks
 
24.01.14
10:02
> сообщает: ОТКРЫТИЕ ОКНА В ДАННОМ РЕЖИМЕ НЕДОСТУПНО

ты все эти действия делаешь в обработчике выбора значения?
20 dk
 
24.01.14
10:04
или в формулу текстового реквизита запихал )
21 Invzor
 
24.01.14
10:43
в конеце процедуры я уже поставил ОткрытьФорму... после всех циклов... все равно пишет ОТКРЫТИЕ ОКНА В ДАННОМ РЕИМЕ НЕВОЗМОЖНО
Что за режим не такой ?
22 Wobland
 
24.01.14
10:46
прямо таким заглавным голосом и сообщает? усматривается в этом влияние программиста-фекалоида
23 dedmoroz777
 
24.01.14
10:48
режим называется "Модальный"
24 Invzor
 
24.01.14
10:56
ну так как сделать что бы открыл то?
25 Invzor
 
24.01.14
10:57
по существу можно что-то сказать?
26 dedmoroz777
 
24.01.14
11:03
процедура ЧитатьШтрих где находится?
27 zdas
 
24.01.14
11:09
в форма родителя открыта в каком режиме (если открыта) ?
28 Invzor
 
24.01.14
13:03
(26) находится в модуле справочника контрагентов
29 Invzor
 
24.01.14
13:03
(27) открывается пользователем.
30 Invzor
 
24.01.14
13:17
может кто-нибудь помочь? я не думаю , что тут такая проблема большая...
31 zdas
 
24.01.14
13:48
(29) я рад,что пользователем открывается. в каком режиме (модально или нет) ?:) может пытаешься модальное перекрыть?
32 Invzor
 
24.01.14
14:02
(31) в обычном... нажал на справочники.. выбрал справочник Контрагенты... открылась... дальше в нем срабатывает обработка... приведена выше... в обработке пытаюсь открыть форму
33 Invzor
 
24.01.14
16:07
пятница всех сгубила)) ?
34 Diter
 
24.01.14
16:11
В ПриОткрытии не сработает....
35 Diter
 
24.01.14
16:12
ещё небось и в текстовом поле на форме в формуле прописано.... фигня бред и нелогично
36 Invzor
 
24.01.14
16:22
(35) да именно в текстовом поле прописано. где еще то прописывать чтение штрихКода мне инересно расскажи? что б логично было... ?? засунуть его в одно место а потом может самому скопировать и вставить в поле ввода штрихкода?
37 Diter
 
24.01.14
20:23
чтение ШК прописывается в ОбработкаВнешнегоСобытия при чем тут текстовое поле?
38 acanta
 
24.01.14
20:31
Выбрать(<?>,)
Синтаксис:
Выбрать(<Подсказка>,<ФормаСписка>)
Назначение:
Вызов диалога для выбора элемента справочника.
Возвращает: 1 - если элемент выбран; 0 - если не выбран.
Параметры:
<Подсказка> - текст заголовка окна диалога ввода;
<ФормаСписка> - строка, содержащая идентификатор формы списка справочника, используемой для выбора.
Замечание:
Метод  можно использовать только для объектов, созданных функцией СоздатьОбъект.