Вход | Регистрация


1С:Предприятие ::

Метки:справочники

Открытие определенной документом ГРУППЫ справочника

Я
   koshechka
 
03.07.04 - 15:52
Существует документ в котором надо в зависимости от выбора вида материалов (в шапке) попадать в определенную группу при выборе конкретных материалов (в таблице)
метод:
        СПР=СоздатьОбъект("Справочник.Материалы");
        Родитель=СПР.НайтиПоНаименованию("СИЗ",0,1);
        СПР.ИспользоватьРодителя(Родитель);
        СПР.ВключатьПодчиненные(1);
        СПР.ВыбратьЭлементы(1);
        Пока спр.получитьэлемент()>0 цикл
           конеццикла;
абсолютно не работает.
В базе знаний искала, там есть нек. соображения, но тоже не работают.
у кого решена эта проблема, ответьте, каким образом?
 
  Рекламное место пустует
   koshechka
 
1 - 03.07.04 - 15:53
Упсссс! забыла сказать - вопрос по 7.7
   mszsuz
 
2 - 03.07.04 - 16:12
Посмотри в СП что возвращает СПР.НайтиПоНаименованию("СИЗ",0,1) и может ли это значение быть Родителем.
   koshechka
 
3 - 03.07.04 - 16:44
СИЗ - это наименование группы справочника материалы
   mszsuz
 
4 - 03.07.04 - 16:52
Меня не смутила эта аббревиатура, проблема в другом ...
   mszsuz
 
5 - 03.07.04 - 16:54
Синтакс-помощник, который в Конфигураторе есть под рукой? Найди там описание метода НайтиПоНаименованию(), а именно - что ВОЗВРАЩАЕТ этот метод.
   koshechka
 
6 - 03.07.04 - 17:00
1-возвращает, если действие выполнено, 0-если элемент не найден
Синтакс. НайтиПоНаименованию(<аименование>,<Режим>,<ФлагПоиска>)
Где:
Наименование - строковое выражение с наименованием искомого эл-та
Режим - н\обязат.парам. 1-поиск внутри подчинения, 0 поиск во всем справочнике
ФлагПоиска - н\обязат. парам. 1-найти точное соответствие, 0-найти по первым символам
   Press
8 - 03.07.04 - 17:00
Прости меня mszsuz...

СПР.НайтиПоНаименованию("СИЗ",0,1); 
Родитель = СПР.ТекущийЭлемент();
   koshechka
 
9 - 03.07.04 - 17:03
в доке задача такова, выбирается вид материала, а в форме при выборе материала если вид = такой-то тогда
группа = такая-то
иначеесли вид = другой тогда группа = другая
и т.тд.
конецесли;
   mszsuz
 
10 - 03.07.04 - 17:09
(8) чего уж там, пиши тогда и весь остальной код ...
 
  Рекламное место пустует
   koshechka
 
11 - 03.07.04 - 17:15
а че писать-то? я уж сама вкурила
       СПР.ВыбратьЭлементы(0);
        Пока спр.получитьэлемент(0)>0 цикл
            Если  спр.ТекущийЭлемент().Наименование="СИЗ" тогда
                Родитель=СПР.ТекущийЭлемент();
        Сообщить("Группа выбрана "+Родитель);       
        СПР.ИспользоватьРодителя(Родитель,0);
   Gavrila
 
12 - 03.07.04 - 17:17
(11) а зачем выборка то, если найти можно, пару строк поменять? :)
   koshechka
 
13 - 03.07.04 - 17:18
каким образом поменять то? а то ща как поменяю и опять работать не будет
   Gavrila
 
14 - 03.07.04 - 17:25
(13)
СПР=СоздатьОбъект("Справочник.Материалы"); 
Если СПР.НайтиПоНаименованию("СИЗ",0,1) = 1 Тогда
    Родитель = СПР.ТекущийЭлемент();
КонецЕсли;
СПР.ИспользоватьРодителя(Родитель); 
СПР.ВключатьПодчиненные(1); 
СПР.ВыбратьЭлементы(1); 
Пока СПР.ПолучитьЭлемент() > 0 Цикл 
КонецЦикла; 
Попробуй так :)
   mszsuz
 
15 - 03.07.04 - 17:27
(11) И что, уже попадаешь в определенную группу при выборе конкретных материалов в таблице?
   koshechka
 
16 - 03.07.04 - 17:29
(13) не, не работает так
   Gavrila
 
17 - 03.07.04 - 17:31
(16) что именно не работает, и как должно работать?
   koshechka
 
18 - 03.07.04 - 17:36
(11) сообщает правильную группу, но в справочнике ее не открывает :-(((
рана я радовалась
   koshechka
 
19 - 03.07.04 - 17:36
(11) сообщает правильную группу, но в справочнике ее не открывает :-(((
   koshechka
 
20 - 03.07.04 - 17:36
(11) сообщает правильную группу, но в справочнике ее не открывает :-(((
рана я радовалась
   Gavrila
 
21 - 03.07.04 - 17:38
(18) что значит "но в справочнике ее не открывает" ?
   Press
22 - 03.07.04 - 17:41
//Родитель - Реквизит Шапки

//Материал    - Реквизит Табличной Части
Процедура ПриНачалеВыбораЗначения(ЭлемДиалога) 
Если ЭлемДиалога= "Материал"  Тогда 
    Материал.ИспользоватьРодителя(Родитель.Родитель);
КонецЕсли; 
КонецПроцедуры
   koshechka
 
23 - 03.07.04 - 17:41
не входит в эту группу
   mszsuz
 
24 - 03.07.04 - 17:41
(21) Это значит открывается справочник "Материалы", но не в той группе, которую нашли.
   koshechka
 
25 - 03.07.04 - 17:45
(22) ооооооооооооо, но Родитель то в Реквизите шапки не задан
Там задан вид материалов, тип перечисление, с родителем пытаюсь связать, вот!
и как тута задать группу? по наименованию? по коду? и как он будет знать это?
   mszsuz
 
26 - 03.07.04 - 17:47
Скучновато без Рупора ... :(
   Press
27 - 03.07.04 - 17:49
(26)А чего, он с Мистой все - завязал?
   mszsuz
 
28 - 03.07.04 - 17:50
(27) Да, попросили его отсель ...
   mszsuz
 
29 - 03.07.04 - 17:54
22+8 = ...
В (30) koshechka должна написать, что всё получилось ...
   Gavrila
 
30 - 03.07.04 - 17:56
Процедура ПриНачалеВыбораЗначения(Идент, Флаг)
    Если Идент = "Материал" Тогда
        СПР = СоздатьОбъект("Справочник.Контрагенты");
        Если СПР.НайтиПоНаименованию("СИЗ",0,1) = 1 Тогда
            Флаг = 0;
            Родитель = СПР.ТекущийЭлемент();
            СПР.ИспользоватьРодителя(Родитель, 0);
            СПР.ВключатьПодчиненные(1);
            Если СПР.Выбрать("Выбор материала...", "ФормаСписка") = 1 Тогда 
                Материал = СПР.ТекущийЭлемент();
            КонецЕсли;
        Иначе
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
   Press
31 - 03.07.04 - 17:59
(22) Опааа.., А каки таки грехи?
   Press
32 - 03.07.04 - 18:01
Попытка №2:
Опааа.., А за каки таки грехи?
ЗЫ. Ух, вроде получилось...
   mszsuz
 
33 - 03.07.04 - 18:02
(30) Похоже на правду, но так новые элементы не даст ввести.
(31) Слишком много знал ...
 
  Рекламное место пустует
   koshechka
 
34 - 03.07.04 - 18:02
кароче, пришлось написать ТЗ (ужасно не люблю ТЗ) и все заработало! всем спасибки
   koshechka
 
35 - 03.07.04 - 18:04
(29) ты не угадал
я поробую наверное как написано в 30, но только в другой раз
   Gavrila
 
36 - 03.07.04 - 18:06
+(30) там надо поменять название справочника с "Контрагенты" на "Материалы" :)
(33) а как? через подбор?
   mszsuz
 
37 - 03.07.04 - 18:07
А счастье было так близко ...
   mszsuz
 
38 - 03.07.04 - 18:10
   mszsuz
 
39 - 03.07.04 - 18:12
(36) Можно подбор, можно просто Открытьформу и ч/з контекст установить Родителя.
   Gavrila
 
40 - 03.07.04 - 18:15
(38,39) Да спасибо, понял, вот что получилось
Процедура ПриНачалеВыбораЗначения(Идент, Флаг)
    Если Идент = "Материал" Тогда
        СПР = СоздатьОбъект("Справочник.Контрагенты");
        Если СПР.НайтиПоНаименованию("СИЗ",0,1) = 1 Тогда
            Родитель = СПР.ТекущийЭлемент();
            Материал.ИспользоватьРодителя(Родитель, 0);
            Материал.ВключатьПодчиненные(1);
        Иначе
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
   Press
40 - 03.07.04 - 18:15
(33)-(31) Это грех?
ЗЫ. А можно его вернуть? (воздымая голову к верху...)
   mszsuz
 
42 - 03.07.04 - 18:28
(40) Зачем ты упорно везде вставляшь Материал.ВключатьПодчиненные(1);
   mszsuz
 
43 - 03.07.04 - 18:29
(40.2) А фиг его знает. Обидели поэта, вот он и того ...
   Gavrila
 
44 - 03.07.04 - 18:36
(42) да еще с (0) поста скопировал :( , а так и без него работает, ты прав



Список тем форума
 
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит Тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует