Имя: Пароль:
1C
1C 7.7
v7: Как найти документы, в которых присутствует реквизит определённого типа
0 Woolf
 
17.07.09
11:55
День добрый, господа! Второй день не приходит в голову каким образом можно организовать поиск документов по конфигурации, в которых присутствует реквизит определённого вида. Проще говоря, требуется найти все виды документов, в которых присутствует реквизит с типом "справочник.контрагенты". Всем заранее спасибо
1 ТелепатБот
 
гуру
17.07.09
11:55
2 skunk
 
17.07.09
11:56
(0)перебором по метаданным
3 Джордж1
 
17.07.09
11:56
(0)В конфигуратор - правая кнопка мыши - Найти ссылк на объект. Как то так
4 dk
 
17.07.09
11:57
Метаданные.Документ(Сч).РеквизитШапки(Сч1)
...
есть еще табличнаячасть и общиереквизиты, ищи meta.als по метаданным
5 Woolf
 
17.07.09
11:58
4 - то есть нужно сначала по шапке, а потом по табличной части проверять?
6 skunk
 
17.07.09
11:58
(3)а я подумал, что программно )))
7 Woolf
 
17.07.09
11:59
6 - конечно программно, господа, шо за вопрос :))
8 skunk
 
17.07.09
12:00
9 Коллайдер
 
17.07.09
12:00
поиск -

по общим
по шапке
по таб части
10 Woolf
 
17.07.09
12:01
9 - а так чтобы "сразу"?
11 Woolf
 
17.07.09
12:02
8 - вас ист дас?
12 Коллайдер
 
17.07.09
12:02
перечисли 500000 копеек мне на счет и будет "сразу"
13 dk
 
17.07.09
12:04
не шли, тут один уже послал 300 руб гы ))))
14 skunk
 
17.07.09
12:04
(11)справочник как работать с метадаными...

function GetAttribDocument(idDoc)
    // На всякий случай проверим если у нас такой вид документа.
    if metadata.Document(idDoc).Selected() = 0 then
         return "Нет документа данного вида";
    endif;
    Answer = createobject("valuelist");
    // Получим количество общих реквизитов документа.
    Count = metadata.CommonDocAttribute();
    // В цикле добавим их к нашему "Списку значений".
    for x = 1 to Count do
         Answer.AddValue(metadata.CommonDocAttribute(x).Identifier);
    enddo;
    // Получим количество реквизитов шапки документа.
    Count = metadata.Document(idDoc).HeadAttribute();
    // В цикле добавим их к нашему "Списку значений".
    for x = 1 to Count do
         Answer.AddValue(metadata.Document(idDoc).HeadAttribute(x).Identifier);
    enddo;
    // Получим количество реквизитов табличной части документа.
    Count = metadata.Document(idDoc).TableAttribute();
    // В цикле добавим их к нашему "Списку значений".
    for x = 1 to Count do
         Answer.AddValue(metadata.Document(idDoc).TableAttribute(x).Identifier);
    enddo;
    return Answer;
endfunction;
15 Коллайдер
 
17.07.09
12:06
(14) можно проще...."Сразу"....


(13) медленный интернет? Оленей покорми....
16 skunk
 
17.07.09
12:07
(15)получить сразу спмсок всех реквизитов? ... без анализа метаданных
17 dk
 
17.07.09
12:07
(15) "столовое серебро нашли, а осадочек остался" )
18 dk
 
17.07.09
12:08
(0) не забываем про реквизиты спр. неопределенного вида и просто неопределенного типа
19 Woolf
 
17.07.09
12:08
12 - я про метод говорю: чтоб не про "реквизитТЧ" и "реквизитШапки", а сразу "РЕКВИЗИТ" проверять на вхождение. Описания так и нет вроде бы как
20 Woolf
 
17.07.09
12:09
18 - кстати - точно!!!
21 Woolf
 
17.07.09
12:10
19 - вот бы щас лоханулси то как
22 Коллайдер
 
17.07.09
12:11
(19) а я про 500000 копеек говорю... Как поступят - так проверишь....

(18) и это решаемо...
23 Коллайдер
 
17.07.09
12:12
(18) точнее - уже решено...
24 Woolf
 
17.07.09
12:13
22 - я не жадный :)) послал бы и не в копейках
самому интересно
иначе зачем на свете этом грешном живём?
25 Коллайдер
 
17.07.09
12:14
ну так в чем дело? удовлетвори свое любопытство...
26 Коллайдер
 
17.07.09
12:15
а мне как раз на второй бюджетный сотовый хватит для прогулок...
27 Man4kin
 
17.07.09
12:15
Для Каждого мдДокумент Из Метаданные.Документы Цикл
       Для Каждого мдИзмерение Из мдДокумент.Измерения Цикл
           Если мдИзмерение.Тип.СодержитТип(Тип("СправочникСсылка.Номенклатура")) Тогда
                            Сообщить("Документ содержит такой реквизит");
           КонецЕсли;
       КонецЦикла;
   КонецЦикла;
28 Коллайдер
 
17.07.09
12:16
недорого прошу...

P.S. кстати, примера в типовых от 1С нет...
29 skunk
 
17.07.09
12:16
(26)дэдэ распарсиваешь что ли?
30 Коллайдер
 
17.07.09
12:16
(27) убейся ап табуретку....
31 dk
 
17.07.09
12:17
(27) переведи на 7-ку )
32 Коллайдер
 
17.07.09
12:17
(29) шевели мосхой то... а то застоится...
33 Man4kin
 
17.07.09
12:17
епт, не заметил что для семерки надо :)
34 Woolf
 
17.07.09
12:18
25 - Спасибо, Уважаемый, за предложение, пошел шевелить...
35 Коллайдер
 
17.07.09
12:19
(34) все равно не допрешь... как ....
36 skunk
 
17.07.09
12:29
да фиги тут шевелить ... есть только два решения... либо перебором по метаданным... либо дд ...
37 Коллайдер
 
17.07.09
12:43
(36) вот не думал, что ты так тупить умеешь....
и это во вшивой семерке.... представляю, как тупят в восьмерке....
38 skunk
 
17.07.09
12:55
(37)тупить тоже надо уметь... у тебя ксати даже это плохо получается, не в обиду...

думаешь закос под пита это круто? ... для этого надо хоть что-то показать, а потом тупить
39 Коллайдер
 
17.07.09
13:03
Ну ты точно тупой....
P.S. косить под себя еще уметь надо?
40 Woolf
 
17.07.09
13:11
38, 39 - брэйк! Выяснять отношения нужно в реале,
так корректнее будет :))
41 skunk
 
17.07.09
13:11
(39)с каких это пор я питом стал? ... а вот у тебя косить под пита получается плохо...
42 Коллайдер
 
17.07.09
13:15
(41) мдя.... в карточку Коллайдера глянь...
картоку 427 тож исправить?
43 у лю 427
 
17.07.09
13:16
щас поправлю....
44 у лю 427
 
17.07.09
13:17
уть....  а ник то в карточке нельзя исправить....
45 Woolf
 
17.07.09
13:18
Господа! Давайте лучше проигнорируем нездоровые эмоции и поближе к теме, к теме...
46 у лю 427
 
17.07.09
13:19
а? что? 500000 копеек уже на счету?
47 Woolf
 
17.07.09
13:21
46 - щас...
Врагу не сдается наш гордый Варяг... :))
48 у лю 427
 
17.07.09
13:21
тогда проходите.... здесь не подают...
49 Woolf
 
17.07.09
13:22
если Вы не можете зайти через Вход,
значит пройдём через Выход :))

без подачек
50 skunk
 
17.07.09
13:23
(43)уделал ... пошел вытирать попу... а что это ты с сотки на копейки перешел?
51 у лю 427
 
17.07.09
13:25
а в крокодилах я длиннее...


(49) табуретку для убивства дать?
52 Иду
 
17.07.09
13:41
(тщетно пытаясь проснуться, протирая глаза)
О! А чоэто, уля еще и задовым тут работал?
53 skunk
 
17.07.09
13:43
(52)вот это меня и свело ... всю дорогу думал, что коллайдер это задов...
54 у лю 427
 
17.07.09
13:52
Это был подлинный Коллайдер... раньше
Пока я ник не перевел на себя...
55 у лю 427
 
17.07.09
13:52
Теперь гражданин Задов отдыхает...
56 skunk
 
17.07.09
13:55
как ... ты у самого крутого хакера мисты учетку увел ... куда катимся
57 у лю 427
 
17.07.09
14:01
Причем заметь - увел исключительно силой мосха... ничего не ломая...
58 skunk
 
17.07.09
14:05
(57)и он до сих пор не отжал ... странно ...


а я уже собирался с ним побздеть за бюджетный телефон и выделеный канал в германию...
59 skunk
 
17.07.09
14:06
наверное ты ему какую-то хитрую обработку всучил?
60 у лю 427
 
17.07.09
14:09
нах? Ложкой по лбу и он сдулся... Примитивно до ужаса...
61 Ёпрст
 
гуру
17.07.09
14:14
(15) ээ... я тоже потуплю:
"Сразу" это где ? в предприятии, или в пофигураторе ?
И без ВК ?...
62 Ёпрст
 
гуру
17.07.09
14:18
Если в пофигураторе..то там и так всё штатно находится через найти ссылки на объект.
63 Woolf
 
17.07.09
14:19
Коли такая дискуссия развернулась и пыль столбом и чепчики летают, придётся объяснить: обработку пишу для подмены "клонов" разных по "контрагентам". Недавно граждане пришли и "навыгружали" из какого-то стороннего софта в Бухгалтерию... Щас контрагентов развелось...

на ИТС нашёл такую по смыслу обработку...
ток она какая-то не совсем живая - ни один кнопарик не работаетъ
64 Woolf
 
17.07.09
14:21
+63 Называется "Замена значений"
Щас вот её ковыряю
Странно это всё конечно
65 Ёпрст
 
гуру
17.07.09
14:32
repval.ert
66 Woolf
 
17.07.09
14:36
65 - так я про её и говорю. Ток она немножко не так звучит REPLVAL.ERT
67 у лю 427
 
17.07.09
14:48
Жить надо проще... Гони денежку то....
Я тебе за час сваяю шедевр...
68 Ёпрст
 
гуру
17.07.09
14:49
(66) она полностью работоспособна.
есть хренова туча клонов наеё основе на проклабе/инфостарте.
69 Ёпрст
 
гуру
17.07.09
14:51
(67) а на (61) есть ответ ;)
70 v_rtex
 
17.07.09
15:50
Woolf
ставь номера сообщений в скобках
как-то так (70)
71 dk
 
17.07.09
15:51
(63) надо ее из каталога с другими обработками открывать )
она часть других использует
и работает через НайтиСсылки, а не через метаданные
72 Оболтус
 
17.07.09
16:04
А что, Пит и Коллайдер - один человек?

Вот, северный лис...
73 Torquader
 
17.07.09
18:45
А такой вопрос - есть функция "НайтиСсылки" - она же по идее сама должна делать то, что вы хотите руками.
P.S. проще всего заглянуть в dbf-файлы и поискать нужное значение там.
2 + 2 = 3.9999999999999999999999999999999...