|
Подчиненный документ !.. Ø |
☑ | ||
|---|---|---|---|---|
|
0
1CRico
10.11.04
✎
16:57
|
Создал документ, поставил галку - напротив дока основания !..
Как сделать этот созданный документ - подчиненным?!.. P.S.: Чтоб отражался в дереве подчиненных доков?!.. |
|||
|
1
Ким
10.11.04
✎
16:59
|
тебе же в предыдущей ветке уже все популярно объяснили
|
|||
|
3
Пшзукшщт
10.11.04
✎
17:03
|
(2) подчиненным называется документ если один из ево реквизитов имеет тип значения документ и он не пустой. какраз етому документу, значение которого указано в етом реквизите, он и будет подчинен. невзирая на галочки итп.
галочки влияют тока на выбор вида документа при выборе ввода на основании из контекстного меню. |
|||
|
4
Меланхоличный ворон
10.11.04
✎
17:19
|
Типовой отчет ДеревоДокументов смотрит только по реквизитам с именем ДокументОснование, любые другие подчинения он игнорирует. Так что либо называть свой реквизит-ссылку на главный документ именно так (и естественно, заполнять), либо править отчет
|
|||
|
5
pit
10.11.04
✎
21:17
|
(4) Не ф_з_дите, молодой человек. Он смотрит по типу реквизита - вот строка из него
. Если ТипЗначенияСтр(РеквДок) = "Документ" Тогда . P.S. но работает он неверно - ряд ситуаций не обрабатывается... Например, если в шапке дока БОЛЕЕ одного реквизита типа докумЭЭЭЭнт... . вот код.... . Для Н = 1 По Метаданные.Документ(ВД).РеквизитШапки() Цикл РеквДок = Док.ПолучитьАтрибут(Метаданные.Документ(ВД).РеквизитШапки(Н)); Если ТипЗначенияСтр(РеквДок) = "Документ" Тогда Если РеквДок.Выбран() = 1 Тогда КореньДок = РеквДок; Прервать; КонецЕсли; КонецЕсли; КонецЦикла; . т.е. видно, что если нарвались на незаполненный реквизит с тиом ДОК - просто прерываем просмотр... |
|||
|
6
pit
10.11.04
✎
21:22
|
Тьфу, ошибся...
Смотрю в одно место, а копирую из другого... т.е. Если нарвался на заполненный реквизит - второго корня уже не увидим... Возможно, у (0) именно так... . Также неверно обрабатывается табличная часть - и в бухии и в ТиС есть живые примеры этому... |
|||
|
7
Бодун
10.11.04
✎
21:37
|
Ещё следует различать документы ПОДЧИНЕННЫЕ, от документов, изображаемых как подчиненные в отчете "ДеревоДокументов".
|
|||
|
8
АЛьФ
10.11.04
✎
21:43
|
2(7) Переведи!
|
|||
|
9
Бодун
10.11.04
✎
23:16
|
(8):
1. Есть понятие в 1С "подчиненные документы". С соответствующим функционалом (типа методов "ВыбратьПодчиненныеДокменты(..), журнала подчиненных документов). 2. Есть стандартный (используемый практически во всех типовых) отчет/обработка "ДеревоДокументов", претендующий на изображение структуры подчиненности документов. Так вот, в общем случае, документы "подчиненные" и документы, выглядящие в отчете (см.п.2) как подчиненные - это "две большие разницы"©. А именно: в общем в отчете изображаются отношения подчиненности лишь ЧАСТИЧНО. ЗЫ: про зацикливание и "слет" отчета при подчинении двух документов друг другу я уж молчу - достаточно упомянуть, что там не анализируются Мн.ч. документов, реквизиты которых однако также могут задавать отношение подчиненности. |
|||
|
10
pit
11.11.04
✎
06:37
|
(9) не пори чушь... В 1С есть один механизм подчиненных документов, встроенный журнал подчиненных документов и обработка ДеревоДокументов, которая некорректно строит подчинение при некоторых условиях.
. P.S. беглый наезд на эту обработку показал, что построение ПОЛНОГО дерева документов возможно, но вот как его корректно отобразить штатными средствами построения таблиц - ХЕЗ... Сделал свою обработку с ТЗ на форме и успокоился... |
|||
|
11
Бодун
11.11.04
✎
22:38
|
(10): Петя, порите чушь как раз Вы.
Заключается это в том, что Вы сначала брызгаете слюной, а потом повторяете с умным видом то, с чем же и типа несогласны. Учитесь читать не буквы или слова, но пытаться понять смысл сказанного. Немного задолбало Ваше высокомерие с незатейливой торопливостью выскочки. Все некорректности этой обработки ужЕ обсосаны, причем не только Вами, о неудавшийся Гений 1С. A propos: ТЗ подчиненности(инцидентности) недолго перевести в орграф. Ежели решили тут растопыривать пальцы и пускать сопли пузырями - так этим бы хвастались. |
|||
|
12
Начинающий линуксоид
12.11.04
✎
02:11
|
(10) Петь, сейчас ты порешь чушь
|
|||
|
13
pit
12.11.04
✎
07:46
|
(11) "ТЗ подчиненности(инцидентности) недолго перевести в орграф."
Да, недолго, и БЕЗ ПРОБЛЕМ. Но надо все таки читать (10) - "но вот как его корректно отобразить штатными средствами построения таблиц". . Ключевое слово - штатными... Там есть некоторые случаи, которые я не смог отобразить. Один из случаев - несколько корней и документ в одной из веток имеет подчиненные ... ХЗ, словами сложно описать, надо рисовать, а картинку здесь не положишь... В общем, в другой проге я нарисовал просто стрелки поверх промежуточных доков... . P.S. Сторонней прогой (не ВК) все отобразил без проблем). Но клиента это не устроило. А потом задача отпала - было найдено другое решение... Но изначально хотелось все сделать ШТАТНЫМИ средствами с возможностью клика по доку и выполнением действий по клику... . (12) Мяукни еще что нибудь... Смешное... |
|||
|
14
Начинающий линуксоид
13.11.04
✎
18:20
|
(13) Зачем?
|
|||
|
15
pit
13.11.04
✎
19:58
|
Скучно....
|
|||
|
16
Бодун
13.11.04
✎
20:05
|
(13): Можешь не рассказывать - сам знаю. Хотя без повода визг про свою крутизну не подымаю.
Штатными тоже можно извернуться. Только в общем случае там не "дерево", а именно орграф. Т.е. корня как такового может не существовать (точнее - корнем может быть любой док). Соответственно: - в качестве левого-верхнего выбирается одна из вершин; - от этого документа пересчинываются (дополнительно к инцидентностям) "координаты"; - строится от него "разворот" должен подокументно вниз и право. Получается. но слишком "размазанный" граф. И - все-таки в (10) по отношению к (9) - чушь. Перечти (9), (10) и пойми, что ты обозвал чушью именно то, что потом же сам и выдал своими словами. ЗЫ: Петь, злобствуешь ты чё-т в последнее время дофига. Случилось чего?.. |
|||
|
17
syktyk
13.11.04
✎
20:38
|
А где Журнал подчиненных документов находится?
|
|||
|
18
Пудель
13.11.04
✎
21:41
|
Год назад дерево документов в ТиС ловило все подчинённые документы.
(17) В контекстном меню. |
|||
|
19
syktyk
13.11.04
✎
22:10
|
(18)Физически. А так это представление.
|
|||
|
20
Бодун
13.11.04
✎
22:12
|
2(18): Если ты заглянешь в код этой обработки, то увидишь, что корень ищется по реквизитам только шапки документа (а надо бы по общим и по Мн.ч. - поскольку отношение подчиненности задается наличием ссылки на документ в любом реквизите).
|
|||
|
21
Бодун
13.11.04
✎
22:16
|
(19):
Найди среди имеющихся в конфигурации общих журналов документов такой, у которого стоит галка в "Использовать как журнал подчиненных документов". Если такой есть - то это журнал и будет использоваться для вывода списка подчиненных документов. Если такого журнала нет - то будет создаваться динамическая дефолтная форма с колонками документ, дата, время, номер. Причем, что интересно! В таком случае если ты откроешь форму журнала подчиненных документов в таком случае программно... контекста открытой формы не будет!.. :)))) |
|||
|
22
Пудель
13.11.04
✎
23:04
|
(19) Сыктык, журналы документов - это и так только представление данных. Не случайно ведь в языке не существует объекта ЖурналДокументов :).
(20) А теперь давай *действительно* заглянем в код отчета ДеревоДокументов, например, в процедуру ВывестиПодчиненные: "Уровень=Уровень+1; ДокПодч.ВыбратьПодчиненныеДокументы(,,Док); ПровДокПодч.ВыбратьПодчиненныеДокументы(,,Док); Начало=1; Пока ДокПодч.ПолучитьДокумент()=1 Цикл" |
|||
|
23
Бодун
13.11.04
✎
23:06
|
(22): Т.е. по поводу сказанного в (20), я так понял, существенных возражений нет...
|
|||
|
24
Пудель
13.11.04
✎
23:10
|
(23) *перечитав, нашёл в 20 слово корень* Точно! Невнимательно прочитал! Каюсь!
|
|||
|
25
syktyk
14.11.04
✎
01:05
|
(22)Я догадывался :).
(22)(23) А о чем вы спорите? Челу (0) нужно было просто создать поле с типом Документ и все у него появится, беда в том что эта обработка клюет на любые реквизиты шапки с этим типом. Я делаю тупую проверку на название реквизита и ОК. Про МнЧ я и не говорю... |
|||
|
26
Синхронизатор
14.11.04
✎
01:23
|
2(25): Напрасно "не говоришь".
Потому что 1С считает такие документы (у которых не только в шапке, но и в каком-л. общем реквизите или в каком-л. реквизите какой-л. строки документа указана ссылка на данный документ) подчиненными данному документу - со всеми вытекающими (включение в выборку подчиненных документов, вывод в жкрнале подчиненных). |
|||
|
27
syktyk
14.11.04
✎
01:40
|
(26)Вот фрагмент кода обработки написанной(стандартно в 1с) и подправленной:
Функция НайтиКорень(Док) // Эта Функция помогает формировать Дерево подчиненных документов СписокЗащитыОтЗацикливания.ДобавитьЗначение(Док); ВД=Док.Вид(); КореньДок=0; Для Н=1 По Метаданные.Документ(ВД).РеквизитШапки() Цикл РеквДок=Док.ПолучитьАтрибут(Метаданные.Документ(ВД).РеквизитШапки(Н)); //Это исправлено Ид=Метаданные.Документ(ВД).РеквизитШапки(Н).Идентификатор; //Если ТипЗначенияСтр(РеквДок)="Документ" Тогда Если (ТипЗначенияСтр(РеквДок)="Документ") и (Ид="ДокОснование") Тогда //********** Здесь сказано только про шапку! Почему 1С считает любые реквизиты типа документ входящими в дерево? Это не есть правильно, ИМХО. Например: я делаю цепочку доков:Счет->Реализация->Оплата Если я вставлю в Счет реквизит типа Документ, куда после оплаты заношу ссылку на документ Оплата, то дерево, в оригинале, построится дважды. Это просто ошибка проги. |
|||
|
28
syktyk
14.11.04
✎
01:43
|
+27 Вместо:
//Это исправлено Ид=Метаданные.Документ(ВД).РеквизитШапки(Н).Идентификатор; Читать: //Это исправлено Ид=Метаданные.Документ(ВД).РеквизитШапки(Н).Идентификатор; |
|||
|
29
Синхронизатор
14.11.04
✎
02:11
|
2(27):
"Почему 1С считает любые реквизиты типа документ входящими в дерево?" - 1С не считает "входящими в дерево", 1С считает подчиненными. Читай (26) (и Бодуна) внимательнее. "Это не есть правильно, ИМХО." - Считать такие, как указано в (26) документы подчиненными - это ПРАВИЛЬНО. |
|||
|
30
syktyk
14.11.04
✎
02:31
|
(29) Для себя я не вижу разницы между "входящими в дерево" и "подчиненными", если это тебя не устраивает, то извини, так получилось!
А по поводу считает, не считает-в исходном тексте программ нет ни строки про МнЧ, кроме того нет нормальной проверки, что данный докумен косвенно, через другие документы, является основанием для дока на который может быть ссылка в корневом документе. Происходит повторный проход по докам и дерево строится НЕПРАВИЛЬНО. О чем спорим? |
|||
|
31
Синхронизатор
14.11.04
✎
17:57
|
2(30):
Меня не "не устраивает" - мне пофиг. Если тебя устраивает ситуация, когда при построении "дерева" документов среди "родителей" документа, от которого ты строишь "дерево", не будет указан документ, для которого: - в списке подчиненных документов выводится и этот (от которого ты строишь "дерево") документ; - в выборку ".ВыбратьПодчиненныеДокументы(..)" будет попадать и этот (от которого ты строишь "дерево") документ, -- то это, как бы, не мои проблемы... Если ты предпочитаешь тупо визжать о том, что ты прав а 1С - лева, не принимая к сведению реалии и логичность доводов в пользу точки зрения, не совпадающей с твоей... И не даешь себе труда даже попытаться понять точку зрения, не совпадающю с твоей... Ну, что тут скажешь?.. Мне лично - UPсолютно пофиг, ибо твоя тупость - это твоя (а не моя) проблема... Ветра в спину, как грицца... :)))) |
|||
|
32
syktyk
14.11.04
✎
18:55
|
(31)Полегчало? Рад, очень рад!
|
|||
|
33
pit
14.11.04
✎
20:17
|
(18)
"Год назад дерево документов в ТиС ловило все подчинённые документы" - как не ловило, так и не ловит. Сформируй ЗаказПоставщику через кнопочку Заполнить и выбери Детально по всем заявкам Детально по выбр заявкам - появятся доки - в табличной части. Если ты встанешь на Заявке - Док Заказ будет в дереве Если ты встанешь на Закзае - Доков, на основании которых он создан и которым ПОДЧИНЕН (т.к. есть реквизит ДокОснование и он заполнен) не будет. Дерева вообще не будет... . (27) приведенная строка Если (ТипЗначенияСтр(РеквДок)="Документ") и (Ид="ДокОснование") Тогда выкинет из дерева многие доки, ибо в них прописан реквизит "ДокументОтгрузки", "ДокументВыполненияЭтапаРабот", "ДокументПоступления" и т.д. В ПоступленииТоваров - реквизит называется ДокументОснование . Смотрел по 4.61. . P.S. кстати, наличие реквизита типа документ в табличной части - часто встречается... . (16) Похоже, ты не совсем понял проблему. Но картинку я здесь не нарисую.. Если интересно - напиши на karkarde(сабака)pisem.net |
|||
|
34
syktyk
14.11.04
✎
21:45
|
(33)Согласен. Приведенная строка была сделана в одном частном случае, для исправления конкретной ситуации, причем тупо, на первый взгляд. В данном случае я и не претендую на истину в последней инстанции, это вроде примера. Кстати сейчас решаю указанную тобой ситуевину с МнЧ.
|
|||
|
35
Пудель
15.11.04
✎
00:48
|
(33) Под подчинёнными я подразумевал подчинённые вниз. То есть я имел в виду, что если встать на корень, то оно поймает все его подчинённые. При этом, так как метода ВыбратьДокументыВладельцы не существует, в обратную сторону нужно учитывать общие реквизиты, реквизиты шапки и реквизиты табличной части - это правда. При этом, так как в табличной части может быть 10000 строк, её не всегда разумно перебирать.
|
|||
|
36
syktyk
15.11.04
✎
02:33
|
(35)Сурово! 10 000! А как быть?
|
|||
|
37
pit
15.11.04
✎
07:12
|
(34) ага ... а потом попробуй еще и отобразить в таблице штатными методами...
. (35) Вроде бы формально верно. Но тогда получается, что встав на документ со ссылками в ТЧ, имеем неверное дерево. О том, что это недопустимо - нигде в документации указаний нет. P.S. строчек у меня реально было не более 15.... P.S. а мне то как раз и надо было отобразить картинку с учетом ссылок в ТЧ... Конкретно это было сделано весьма ненаглядно через ТЗ на форме обработки... Ибо общего решения для отображения я не нашел, а решение через стороннюю прогу меня не устроило - ну не силен я в визуализации графов, а то, что сделано - делалось опять-таки сторонней компопнентов с небольшой доработкой поверх... |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |