УТ10.3 структура подчиненности и ввод на основании

1. Niberu 5 03.04.12 08:48 Сейчас в теме
Показалось, что в УТ10.3 убогая структура подчиненности документов, или что-то не нашел в настройках, или снова допиливать?
Отображается нормально структура у приходной и счет-фактуры, просмотрел внимательно этот ввод на основании, вроде бы просто через доп.реквизит "док основание" у сч.ф.
Попробовал по аналогии допилить ввод на основании у перемещений (добавил реквизит, при вводе на основании в коде заполняю его), структура вроде заработала. Но однобоко. Сверху вниз показывает, а встаю на нижний док, жму, вверх связь не показывает.
Пилить? Что пилить? Подскажите, коллеги.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FreeArcher 159 03.04.12 08:55 Сейчас в теме
(1) Надо код смотреть как формируется эта структура подчиненности...
А то что она убогая и не универсальная это как пить дать.
3. Niberu 5 03.04.12 09:26 Сейчас в теме
Столько релизов и убогая? В древней семерке и то было. И перекинуть в другие конфы не сложно было, потому как по-уму сделано было.

Ну, а может тут, на инфострате, уже кто-то допиливал, есть публикации (чтобы не изобретать велосипед)?
8. Поручик 4674 03.04.12 12:24 Сейчас в теме
(3) Есть такие обработки на сайте, и для управляемого приложения тоже. Ищите.
4. Niberu 5 03.04.12 09:29 Сейчас в теме
И еще гложет мысль, неужели не нужна эта структура документов бухгалтерам и пользователям конф?
Неужели, в погоне за облаками, разработчики конф оставляют на потом, пусть мелкие, но полезные, функции?
5. FreeArcher 159 03.04.12 09:38 Сейчас в теме
(4) Нужна, вот только 10 минут назад попросили ПКО на Основании РКО сделать и чтоб в структуре было все как надо :).
Посмотрим встанет нет автоматом в структуру.
6. Niberu 5 03.04.12 09:55 Сейчас в теме
Вопросы остались.
1. у перемещений добавил реквизит, при вводе на основании в коде заполняю его, структура вроде заработала. Но однобоко. Сверху вниз показывает, а встаю на нижний док, жму, вверх связь не показывает. Why?
2. Достаточно будет у остальных документов тоже допилить реквизит "док основание" и его заполнение при вводе на основании?
7. FreeArcher 159 03.04.12 10:19 Сейчас в теме
(6) Смотри код общей формы "ФормаСтруктурыПодчиненности" и критерий отбора "СвязанныеДокументы".

При показе подчиненных вобще не важно как ты реквизит назовешь, там проверяется по вхождению типа значения.
	МетаданныеДокумента = ДокументСсылка.Метаданные();
	СписокРеквизитов = Новый СписокЗначений;
	
	Для Каждого Реквизит ИЗ МетаданныеДокумента.Реквизиты Цикл
		ТипыРеквизита = Реквизит.Тип.Типы();
		Для Каждого ТекущийТип ИЗ ТипыРеквизита Цикл
			МетаданныеРеквизита = Метаданные.НайтиПоТипу(ТекущийТип);


это связь в низ, а вверх не работает потому что нет этой связи, она походу пишется в критерий отбора, что ты не делаешь.

Напиши потом только получилось или нет.
9. Niberu 5 01.06.12 09:26 Сейчас в теме
Нужна подсказка. Ввод перемещения на основании перемещения.
Обработок из публикаций накачался, наизучался, но что-то так и не нашел построение нужной мне связи сверху вниз. С критериями отбора "связанных" покрутился, не понял где там прикручиваться, там всё самодостаточно, а пригодиться оно мне может только позже, когда буду новые реквизиты лепить к имеющимся документам.

Снизу вверх сделал, не проблема, у реквизита ДокументОснование сменил тип данных на составной, к видам доков ПН добавил Прмщ. В процедуре ОбработкаЗаполнения(Основание) добавил ветку
ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ПеремещениеТоваров") Тогда
//...заполняем прочие реквизиты, а потом
ДокументОснование = Основание.Ссылка;

Эта часть структуры заработала, доки привязываются, отчет показывает.

Надо в обратную сторону сделать.
10. ihtiandr9 01.06.12 10:38 Сейчас в теме
12. Niberu 5 05.06.12 04:45 Сейчас в теме
Почитал (10) , почерпнул, допилил немного структуру подчиненности встроенную в УТ10.

Вот такие получились доработки в модуле формы структуры подчиненности:

- добавилась процедура "ВывестиПоОснованию()";
- добавлись ее вызовы из процедуры "ВывестиДеревоДокументов()";
- и в "ВывестиПодчиненныеДокументы()".

(кому чешется тоже прикрутить к себе, см. ниже куски кода)
11. Niberu 5 01.06.12 10:54 Сейчас в теме
13. Niberu 5 05.06.12 04:45 Сейчас в теме
// Процедура осуществляет в структуре дополнительный вывод подчиненных документов по реквизиту документоснование
Процедура ВывестиПоОснованию(СтрокаДерева)

ТекущийДокумент = СтрокаДерева.Ссылка;
СписокДокументов = Новый СписокЗначений; //содержит имена документов, как они заданы в конфигурации
Для Каждого Док Из Метаданные.Документы Цикл //поиск документов которые вводятся на основании выбранного документа
Если Док.Реквизиты.Найти("ДокументОснование") <> Неопределено Тогда
Если Док.ВводитсяНаОсновании.Содержит(Метаданные.НайтиПоТипу(ТипЗнч(ТекущийДокумент))) = Истина Тогда
СписокДокументов.Добавить(Док.Имя);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Для Каждого Стр Из СписокДокументов Цикл
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ИскомаяСсылка",ТекущийДокумент);
Запрос.Текст = "ВЫБРАТЬ
| "+Стр.Значение+".Ссылка КАК Ссылка
|ИЗ
| Документ."+Стр.Значение+" КАК "+Стр.Значение+"
|ГДЕ
| "+Стр.Значение+".ДокументОснование = &ИскомаяСсылка";
Если Запрос.Выполнить().Пустой() Тогда Продолжить; КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если мУжеВСписке[Выборка.Ссылка] = Неопределено Тогда
НоваяСтрока = СтрокаДерева.Строки.Добавить();
НоваяСтрока.Ссылка = Выборка.Ссылка;
НоваяСтрока.ДокументПредставление = Строка(Выборка.Ссылка);
//НоваяСтрока.СуммаДокумента = Выборка.Ссылка.СуммаДокумента; //НоваяСтрока.ВалютаДокумента = Выборка.Ссылка.ВалютаДокумента;
НоваяСтрока.Проведен = Выборка.Ссылка.Проведен;
НоваяСтрока.ПометкаУдаления = Выборка.Ссылка.ПометкаУдаления;
мУжеВСписке.Вставить(Выборка.Ссылка, Истина);
КонецЕсли;
КонецЦикла;
КонецЦикла;

КонецПроцедуры
hohaspb; MrsMastersan; +2 Ответить
14. Niberu 5 05.06.12 04:45 Сейчас в теме
// Процедура вывода дерева структуры подчиненности документа
Процедура ВывестиДеревоДокументов()

Попытка
ДеревоДокументов.Строки.Очистить();
мДерево = ДеревоДокументов;
мУжеВСписке.Очистить();
ВывестиРодительскиеДокументы(ДокументСсылка);
ЭлементыФормы.ДеревоДокументов.ТекущаяСтрока = мДерево;
ВывестиПоОснованию(мДерево);
ВывестиПодчиненныеДокументы(мДерево);
ВывестиПоОснованию(мДерево);
Исключение
КонецПопытки;

КонецПроцедуры
15. Niberu 5 05.06.12 04:46 Сейчас в теме
// Процедура осуществляет вывод подчиненных документов
Процедура ВывестиПодчиненныеДокументы(СтрокаДерева)

// ...
// ... в конце, в цикле, перед вызовом рекурсии
ВывестиПоОснованию(НоваяСтрока);
// перед этой строкой
ВывестиПодчиненныеДокументы(НоваяСтрока);
// ...

КонецПроцедуры
16. Niberu 5 05.06.12 04:50 Сейчас в теме
Напомню, что предварительно (выше писал где и как, кажется) при вводе на основании перемещений на основании других перемещений или приходных, в коде в соотв процедуре заполнял реквизит "документоснование".

ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ПеремещениеТоваров") Тогда
//...
ДокументОснование = Основание.Ссылка;
//...
ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда
//...
ДокументОснование = Основание.Ссылка;
//...
17. Niberu 5 05.06.12 04:51 Сейчас в теме
18. Niberu 5 05.06.12 05:00 Сейчас в теме
Вот в чем, возможно, кроется ущербность встроенной "структуры подчиненности" в УТ10.
В том, что не ищется корневой документ для построения структуры, а строится от указанного.
19. ankr 19 28.06.22 20:03 Сейчас в теме
Столкнулся с этой задачей...
Клиент стал возмущаться, что в УТ 10.3 из "заказа покупателя" и "реализации" структура подчиненности по разному выводится.
Точнее говоря, если открывать "Структуру подчиненности" из Заказа, то видны, к примеру, документы "Заказ поставщику" введенные на основании Заказа.
А если "Структуру подчиненности" открыть из Реализации, то Заказ виден, а из подчиненных ему только текущая Реализация.
Решил задачу немного проще.
Добавил одну строку строку в конце процедуры ВывестиРодительскиеДокументы(ДокументСсылка)
(в том же модуле формы структуры подчиненности):

ВывестиПодчиненныеДокументы(СтрокаДерева);
20. a_inves 01.07.22 16:18 Сейчас в теме
(19) да, это более простое решение, тем более, что выводит документы по всем связям, а не только по "ДокументОснование"
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот