табличная часть внешней обработки.
29.10.2008
11:14
#1
"Делаю внешнюю обработку с табличной частью, никак не могу полчить ссылку на внешнюю обработку для использования в запросе
Запрос.УстановитьПараметр("ТекущаяОбработка",ЭтотОбъект);
со словом "ссылка" тоже не катит
утомился весь, первая таки обработка"
Запрос.УстановитьПараметр("ТекущаяОбработка",ЭтотОбъект);
со словом "ссылка" тоже не катит
утомился весь, первая таки обработка"
29.10.2008
12:20
#2
"Что вы хотите передать в запрос?
Табличную часть? То есть вы хотите запросом сохдать временную таблицу?
Если вы запрос делаете из этой же обрботки, а табличная часть в этой же обработке, то
Запрос.УстановитьПараметр("ТекущаяОбработка", ТабличнаяЧасть.Выгрузить());
ТабличнаяЧасть - это название таличной части, как оно у вас лично задано в конфигураторе
И запрос у вас должен быть что-то типа
МВТ = Новый МенеджерВременныхТаблиц;
Запрос=Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.УстановитьПараметр("ТекущаяОбработка",ТабличнаяЧасть.Выгрузить());
Запрос.Текст = "ВЫБРАТЬ *
|ПОМЕСТИТЬ НазваниеВременнойТаблицы
|ИЗ &ТекущаяОбработка КАК ТекущаяОбработка";
Запрос.Выполнить();
А дальше вы уже работаете с таблицей "НазваниеВременнойТаблицы", как с обычной таблицей базы
Связь между запросам по менеджеру временных таблиц
"
Табличную часть? То есть вы хотите запросом сохдать временную таблицу?
Если вы запрос делаете из этой же обрботки, а табличная часть в этой же обработке, то
Запрос.УстановитьПараметр("ТекущаяОбработка", ТабличнаяЧасть.Выгрузить());
ТабличнаяЧасть - это название таличной части, как оно у вас лично задано в конфигураторе
И запрос у вас должен быть что-то типа
МВТ = Новый МенеджерВременныхТаблиц;
Запрос=Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МВТ;
Запрос.УстановитьПараметр("ТекущаяОбработка",ТабличнаяЧасть.Выгрузить());
Запрос.Текст = "ВЫБРАТЬ *
|ПОМЕСТИТЬ НазваниеВременнойТаблицы
|ИЗ &ТекущаяОбработка КАК ТекущаяОбработка";
Запрос.Выполнить();
А дальше вы уже работаете с таблицей "НазваниеВременнойТаблицы", как с обычной таблицей базы
Связь между запросам по менеджеру временных таблиц
"
29.10.2008
13:10
#4
"Можно. Зачем тогда
>Запрос.УстановитьПараметр("ТекущаяОбработка",ЭтотОбъект);
??????
Макет = ПолучитьМакет("Макет");
ОблСтрока = Макет.ПолучитьОбласть("Область1");
ТабДок = Новый ТабличныйДокумент;
Для каждого СтрокаТаблицы Из ТабличнаяЧасть Цикл
ОблСтрока.Параметры.Заполнить(СтрокаТаблицы); //Это если названия параметров соответствуют названиям реквизитов таблитчной части
ОблСтрока.Параметры.НазваниеПараметра = СтрокаТаблицы.НазваниеРеквизитаТаблЧасти;
ТабДок.Вывести(ОблСтрока);
КонецЦикла;
ТабДок.Показать();
"
>Запрос.УстановитьПараметр("ТекущаяОбработка",ЭтотОбъект);
??????
Макет = ПолучитьМакет("Макет");
ОблСтрока = Макет.ПолучитьОбласть("Область1");
ТабДок = Новый ТабличныйДокумент;
Для каждого СтрокаТаблицы Из ТабличнаяЧасть Цикл
ОблСтрока.Параметры.Заполнить(СтрокаТаблицы); //Это если названия параметров соответствуют названиям реквизитов таблитчной части
ОблСтрока.Параметры.НазваниеПараметра = СтрокаТаблицы.НазваниеРеквизитаТаблЧасти;
ТабДок.Вывести(ОблСтрока);
КонецЦикла;
ТабДок.Показать();
"
29.10.2008
13:21
#5
"косноязычно все написал. есть табличная часть внешней обработки "ТЧ", поля "номенклатура", "количество". надо вытянуть данные в макет "таблица" На примере внешней печатной формы "счета" смотрел что это делается через запрос, вот только там таблица не встроена в обработку, а ссылка на нее получаеться через Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);"
29.10.2008
13:53
#6
">Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Так это вообще-то имеется ввиду ссылка на объет базы данных, причем не на табличную часть, а на сам документ
А табличная часть внешней обработки в базе данных никак не отражается, поэтому смотрите первый ответ."
Так это вообще-то имеется ввиду ссылка на объет базы данных, причем не на табличную часть, а на сам документ
А табличная часть внешней обработки в базе данных никак не отражается, поэтому смотрите первый ответ."
29.10.2008
13:55
#7
Спасибо огромное, с выборкой разобрался, незнаю, вроде каряво но работает. Разобрался через менеджер временных таблиц
29.10.2008
14:01
#8
С менеджером - это уже здорово. Хуже было, когда действительно приходилось делать обход по каждой строке таблицы. Если допустим есть код номенклатуры, откуда-нибудь полученный, а надо к нему было еще найти номенклатуру и цены, приходилось делать обход по каждой строке, а сейчас во временную таблицу и одним запросм получаешь все. Работает в разы быстрее
Читают тему
(гостей: 1)