Как связать табличные части ? #235328


#0 by Tanecka
Есть обработка.В ней есть табличное поле со списком документов типа А. Есть табличное поле с табличной частью другого документа типа Б.В документах типа Б есть реквизит со ссылкой на документ типа А.Как сделать, чтобы при переходе на другую строку с документом типа А в другом табличном поле высвечивались строки строки одной из табличных частей соответствующего документа типа Б ?Ответьте, плз. Матчасть учить не посылайте, не нашла я там ничего..
#1 by Woppi
Запросом.
#2 by Terv
отбором
#3 by Woppi
если бы документы, то да. А девушке нужны строки одной из табличных частей.
#4 by Tanecka
Коллеги, эти слова тоже знаю и запросом нахожу нужный документ, только не вижу, чтоб табличное поле с табличной частью как-то менялось. Можно поподробней ? А точнее строки табличных частей документа типа Б
#5 by Странник
у тебя там есть что-то типа "связь по типу" или "связь по реквизиту"?вот. попробуй
#6 by Terv
а потом удивляться, почему тормозит при формирование строк 2го ТабличногоПоля со строками ТЧ документа Б, добавь колонку с ссылками на документ А, и по этой колонке делай отбор.
#7 by Woppi
Ну например, сделаем две табличные части обработки. ТЧА - список документов, с реквизитом Ссылка типа Документы.А, другая ТЧБ - строки табличной части документа Б, с реквизитами НомерСтроки, Сумма. Делаем запрос со следующим текстом:ВЫБРАТЬ  ТЧ.СуммаИ вешаем это дело на событие ПриАктивизацииСтроки поля ТЧА. Есть подводные камни, но с ними легко можно разобраться самой. Поточнее про табличных частей. Т.е. нужно, чтобы в одном списке отображались строки из разных ТЧ? Тогда через ОБЪЕДИНИТЬ ВСЕ в запросе.
#8 by Woppi
Т.е. идея такова - поместить в табличное поле Б все строки всех документов типа Б (а их могут быть тысячи, сотни тысяч), а потом отображать, допустим, 2 нужные? Например, один раз? При запуске, который может длиться очень долго.
#9 by Tanecka
6.Тормоза не так страшны, поскольку количество строк в ТЧБ не слишком велико, да интерактив вроде предполагается7.Так ведь это получется ТЗ, а интересно, чтоб в ТабличномПоле2 индицировалась именно табличная часть документа Б, ну, как документобъект например, поскольку табличная часть документа предполагается корректируемой.
#10 by Woppi
Нельзя сделать во внешней обработке табличное поле типа Документ.Б.ТЧ. Нарываетесь огромный гемморой с блокировками, обновлением данных и поддержанием ссылочной целостности - т.е. со всем, что и так реализовано в форме документа. Озвучте задачу, которая привела к такому решению.
#11 by Tanecka
Почему нельзя ? И в чем именно гемморой ? И при чем тут блокировки и ссылочная целостность, если фактически просходит обращение к форме документа типа Б ?
#12 by Woppi
Это вопрос к разработчикам :) Либо я не догоняю. Помещаю на форму внешней обработки табличное поле - в списке доступных типов есть только ДокументСписок.
#13 by Tanecka
попробуй просто документ взять, а в данных указать табличную часть указать
#14 by Woppi
А, точно. Спасибо, не знал. Тогда наверное через ТЧ.Отбор.Ссылка.Установить(ДокА), где ДокА получить запросом.
#15 by Tanecka
Пардон, действительно ДокументСписок. Но в данных-то я могу выбрать табличную часть - попробуй сам
#16 by Woppi
Можно добавить в обработку реквизит типа ДокументОбъект, а на форму вынести его табличную часть через табличное поле. А тогда нужно просто присваивать реквизиту типа ДокументОбъект нужное значение, полученное в запросе. И никаких отборов.
#17 by Tanecka
Немного-то желающих помочь скромной, симпатичной девушке :((
#18 by Tanecka
Громадное тебе, Woppi, спасибо...
#19 by Tanecka
Все естетственно получилось, просто в запросе работали с ДокументомСсылкой, а нужно было ДокументОбьект. Решение в методе ПолучитьОбъект.Теперь другая проблема - при попытке корректировать ячейки табличного поля с табличной частью докумета типа Б не происходит фиксация измененного значения. Скорректировать дает, но не запоминает.Натолкните на мысль - нужны обработчики в свойствах или какой-то другой путь ?
#20 by Tanecka
Так и жду ответа
#21 by Леший
А после изменений ТЧ документ типа Б записывали?
#22 by Tanecka
Вот и для меня это вопрос. Я его почти изложила в 19..
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С