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


Форумы на Кубань.Ру


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

Метки:

Подчиненный документ !..

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




Список тем форума

Форум Территория 1С

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