Имя: Пароль:
1C
1С v8
выгрузить табличную часть документа в макет табличной части
,
0 kindzadza
 
23.07.13
11:16
вопрос вот в чем.....не получается выгрузить номер,количество,цену и содержание табличной части......
вот код:

ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ТабДокумент.Вывести(Область);
   
   ЗапросТаблЧ = Новый Запрос;
   ЗапросТаблЧ.Текст =  "ВЫБРАТЬ
                        |    CRM_КоммерческоеПредложениеТовары.Номенклатура,
                        |    CRM_КоммерческоеПредложениеТовары.Цена,
                        |    CRM_КоммерческоеПредложениеТовары.Содержание,
                        |    CRM_КоммерческоеПредложениеТовары.Количество,
                        |    CRM_КоммерческоеПредложениеТовары.НомерСтроки
                        |ИЗ
                        |    Документ.CRM_КоммерческоеПредложение.Товары КАК CRM_КоммерческоеПредложениеТовары
                        |ГДЕ
                        |    CRM_КоммерческоеПредложениеТовары.Ссылка = &ТекущийДокумент
                        |    И ТИПЗНАЧЕНИЯ(CRM_КоммерческоеПредложениеТовары.Номенклатура) = ТИП(Справочник.Номенклатура)
                        |    И CRM_КоммерческоеПредложениеТовары.ДополнительнаяОпция
                        |    И CRM_КоммерческоеПредложениеТовары.ИДСпецификации = &ИДСпецификации";
   ЗапросТаблЧ.УстановитьПараметр("ТекущийДокумент",СсылкаНаОбъект.Ссылка);                        
   ЗапросТаблЧ.УстановитьПараметр("ИДСпецификации", ИДСпецификации);
   Выборка = ЗапросТаблЧ.Выполнить().Выгрузить();
   Для каждого Стр Из Выборка Цикл
        Область.Параметры.Ном = Выборка.НомерСтроки;
        Область.Параметры.Содержание = Выборка.Содержание;
        Область.Параметры.Количество = Выборка.Количество;
        Область.Параметры.Цена = Выборка.Цена;
        ТабДокумент.Вывести(Область);
   КонецЦикла;
1 Wobland
 
23.07.13
11:17
"не получается" - это утверждение
2 Нуф-Нуф
 
23.07.13
11:17
что значит не получается? сервак падает при попытке вывести?
3 Maxus43
 
23.07.13
11:18
код не весь ещё
4 Нуф-Нуф
 
23.07.13
11:18
блин совсем забыл "Продолжайте наблюдения
"
5 kindzadza
 
23.07.13
11:22
вылезает ошибка:
{ВнешняяОбработка.ркКоммерческоеПредложение.МодульОбъекта(53)}: Поле объекта не обнаружено (Ном)
        Область.Параметры.Ном = Выборка.НомерСтроки;

хотя в макете этот параметр указан ном
а дальше идут другие запросы по выводу других данных....
6 Wobland
 
23.07.13
11:23
(5) ого!
7 Maxus43
 
23.07.13
11:23
где ты "Область" получаешь? в (0) нет
8 kindzadza
 
23.07.13
11:25
а наверху что?
9 Wobland
 
23.07.13
11:26
(8) область макета
10 Maxus43
 
23.07.13
11:28
(8) "ОбластьМакета", а не "Область"
11 kindzadza
 
23.07.13
11:28
забыл строку в цикле:
Для каждого Стр Из Выборка Цикл
        Область = Макет.ПолучитьОбласть("Строки");
        Область.Параметры.Ном = Выборка.НомерСтроки;
        Область.Параметры.Содержание = Выборка.Содержание;
        Область.Параметры.Количество = Выборка.Количество;
        Область.Параметры.Цена = Выборка.Цена;
        ТабДокумент.Вывести(Область);
   КонецЦикла;

ошибка теперь вот:

{ВнешняяОбработка.ркКоммерческоеПредложение.МодульОбъекта(53)}: Ошибка при вызове метода контекста (ПолучитьОбласть)
        Область = Макет.ПолучитьОбласть("Строки");
по причине:
Область не найдена: Строки
12 Maxus43
 
23.07.13
11:30
(11) за тебя читать ошибку чтоли? что непонятно сейчас? нет у тебя такой области
13 kindzadza
 
23.07.13
11:30
ем...исправил последнюю ошибку но вернулась к первой....
14 kindzadza
 
23.07.13
11:30
я просто не выспался....голова не работает,а делать надо....
15 Wobland
 
23.07.13
11:31
(14) это ты хвастаешься?
16 Maxus43
 
23.07.13
11:31
(14) мы чем поможем?
17 kindzadza
 
23.07.13
11:32
причем тут хвастовства?
ну хотя бы правильно ли начал?
18 Maxus43
 
23.07.13
11:33
(17) почти правильно, криво но работать будет. Ошибки у тебя по русски написаны, читай внимательно и выпей кофе
19 mozzga
 
23.07.13
11:33
что такое "Макет"?
20 Csar
 
23.07.13
11:33
(13) Область надо определеить не в цикле, а сразу после первой строки кода в (1)
21 Csar
 
23.07.13
11:35
ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ТабДокумент.Вывести(ОбластьМакета);

   Область = Макет.ПолучитьОбласть("Строки");
   
   ЗапросТаблЧ = Новый Запрос;
   ЗапросТаблЧ.Текст =  "ВЫБРАТЬ
                        |    CRM_КоммерческоеПредложениеТовары.Номенклатура,
                        |    CRM_КоммерческоеПредложениеТовары.Цена,
                        |    CRM_КоммерческоеПредложениеТовары.Содержание,
                        |    CRM_КоммерческоеПредложениеТовары.Количество,
                        |    CRM_КоммерческоеПредложениеТовары.НомерСтроки
                        |ИЗ
                        |    Документ.CRM_КоммерческоеПредложение.Товары КАК CRM_КоммерческоеПредложениеТовары
                        |ГДЕ
                        |    CRM_КоммерческоеПредложениеТовары.Ссылка = &ТекущийДокумент
                        |    И ТИПЗНАЧЕНИЯ(CRM_КоммерческоеПредложениеТовары.Номенклатура) = ТИП(Справочник.Номенклатура)
                        |    И CRM_КоммерческоеПредложениеТовары.ДополнительнаяОпция
                        |    И CRM_КоммерческоеПредложениеТовары.ИДСпецификации = &ИДСпецификации";
   ЗапросТаблЧ.УстановитьПараметр("ТекущийДокумент",СсылкаНаОбъект.Ссылка);                        
   ЗапросТаблЧ.УстановитьПараметр("ИДСпецификации", ИДСпецификации);
   Выборка = ЗапросТаблЧ.Выполнить().Выгрузить();
   Для каждого Стр Из Выборка Цикл
        Область.Параметры.Ном = Выборка.НомерСтроки;
        Область.Параметры.Содержание = Выборка.Содержание;
        Область.Параметры.Количество = Выборка.Количество;
        Область.Параметры.Цена = Выборка.Цена;
        ТабДокумент.Вывести(Область);
   КонецЦикла;
22 Csar
 
23.07.13
11:36
+(21) поправил 2 строку и добавил третью. Во второй строке вдимо была ошибка в наименовании области. В третьей объявил область "Область"
23 kindzadza
 
23.07.13
12:10
спасибо с одним разобрался и даже переделал свое,ошибок нет, вопрос в другом возник как в запросе вытащить всю номенклатуру,которая есть в табличной части,то есть у меня там есть и услуга, и товар?
24 Maxus43
 
23.07.13
12:15
(23) ОБЪЕДЕНИТЬ ВСЁ в запросе, уже по ТЧ услуги
25 Wobland
 
23.07.13
12:28
(24) ожидается выражение
26 kindzadza
 
23.07.13
12:29
нашел....все изза доп опций в запросе...