Имя: Пароль:
1C
 
Как удобнее всего получить список подчиненных документов?
0 diesell
 
11.11.08
15:54
Есть документ, надо найти все документы ему подчиненные, как это проще сделать?
1 v_rtex
 
11.11.08
15:56
по умолчанию в v8 вообще нет такого понятия как подчиненный документ..
2 Mitriy
 
11.11.08
15:56
кури кнопку СтруктураПодчиненностиДокумента на формах документов в типовых...
3 NcSteel
 
11.11.08
15:57
Запросом, если есть реквизит с сылкой на документ владельца.
4 diesell
 
11.11.08
15:59
Где курить понятно и по реквизиту понятно. Ну а реально кто, как делал? (без доп. реквизита)
5 Михаил Козлов
 
11.11.08
16:01
Критерий отбора СтруктураПодчиненности.
6 LamerSuper
 
11.11.08
16:03
Функция ПолучитьСписокПодчиненныхДокументов(ДокументОснование) Экспорт
       
   Запрос = Новый Запрос;
   ТекстЗапроса = "";
   
   Для Каждого ЭлементСостава ИЗ Метаданные.КритерииОтбора.СтруктураПодчиненности.Состав Цикл
       
       ПутьКДанным = ЭлементСостава.ПолноеИмя();
       СтруктураПутьКДанным = ОбщегоНазначения.РазобратьПутьКОбъектуМетаданных(ПутьКДанным);
       
       ЕСли НЕ ПравоДоступа("Чтение", СтруктураПутьКДанным.Метаданные) Тогда
           Продолжить;
       КонецЕсли;
       
       ИмяОбъекта = СтруктураПутьКДанным.ТипОбъекта + "." + СтруктураПутьКДанным.ВидОбъекта;
       
       ТекущаяСтрокаГДЕ = "ГДЕ " + СтруктураПутьКДанным.ВидОбъекта + "." +СтруктураПутьКДанным.ИмяРеквизита + " = &ЗначениеКритерияОтбора";
           
       ИмяТЧ = Лев(СтруктураПутьКДанным.ИмяРеквизита, Найти(СтруктураПутьКДанным.ИмяРеквизита, ".")-1);
       ИмяРеквизита = Лев(СтруктураПутьКДанным.ИмяРеквизита, Найти(СтруктураПутьКДанным.ИмяРеквизита, ".")-1);
       ТекстЗапроса = ТекстЗапроса + ?(ТекстЗапроса = "", "ВЫБРАТЬ РАЗРЕШЕННЫЕ", "ОБЪЕДИНИТЬ
       |ВЫБРАТЬ") + "
       |" + СтруктураПутьКДанным.ВидОбъекта +".Ссылка ИЗ " + ИмяОбъекта + "." + СтруктураПутьКДанным.ИмяТаблЧасти + " КАК " + СтруктураПутьКДанным.ВидОбъекта + "
       |" + СтрЗаменить(ТекущаяСтрокаГДЕ, "..", ".") + "
       |";
       
   КонецЦикла;
   
   Запрос.Текст = ТекстЗапроса;
   Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", ДокументОснование);
   Возврат Запрос.Выполнить().Выгрузить();
   
КонецФункции
7 PR
 
11.11.08
16:03
(4) Что такое подчиненный документ?
8 LamerSuper
 
11.11.08
16:04
Это из УПП
9 diesell
 
11.11.08
16:07
(7) тот который вводится на основании текущего.

зы: вопрос из другой темы но может кто сталкивался: Ставлю на форму в типовой док реквизит для отображения и теряются все привязки, т.е. при развороте формы на экран, элементы не растягиваются с ней. Что сделать?
10 and2
 
11.11.08
16:09
(9) для своего реквизита привязки настроить.
11 Mitriy
 
11.11.08
16:12
(4) без допреквизита - это как?
12 PR
 
11.11.08
16:12
(9) После ввода документа на основании другого документа в нем не остается следов, что он был введен на основании и на основании чего именно.

По поводу другого вопроса, не мусори, заведи новую ветку. Одна ветка - один вопрос.
13 diesell
 
11.11.08
16:12
Пробую, ниче не получается
14 Mitriy
 
11.11.08
16:13
(11)+ тока если в регистр писать, но проще допреквизит сделать...
15 PR
 
11.11.08
16:13
(13) Пробуй еще. Или профессию поменяй.
16 diesell
 
11.11.08
16:14
(12) Не остается, а как тогда кнопка СтруктураПодчиненностиДокумента на формах документов в типовых работает?
17 Serg_1960
 
11.11.08
16:14
Информация к размышлению: в "свежих" релизах типовой УПП появился термин "связанные документы" и обработка. Из Help'а "Под связанными документами понимаются документы, в реквизитах которых содержится ссылка на искомый документ"
18 PR
 
11.11.08
16:18
(16) Не знаю, видимо в 1С программисты как-то напрямую с реквизитами SQL-базы работают.
Или какие-то недокументированные возможности платформы используют.
Вряд ли они просто умеют читать и прочитали документацию к платформе.
19 diesell
 
11.11.08
16:20
(18) Самый остроумный чтоли?
20 PR
 
11.11.08
16:37
(19) Да не, просто намекаю, что уже в ветке давно сказали, что нужно делать через реквизит и что в типовых сделано через реквизит.
Если хочется как-то иначе, дерзай, но факт тот, что изначально документ не помнит, на основании чего он введен и все привязки к другим документам должны быть реализованы программистом.
Не нравится, не ешь, как говорится.
21 Михаил Козлов
 
11.11.08
16:40
(0) МассивПодчиненных = КритерииОтбора.СтруктураПодчиненности.Найти(док);