Имя: Пароль:
1C
1С v8
Колонка в список документа из табличной части документа
,
0 anisa8310
 
14.01.13
09:58
Доброе утро! Мистеры!
1С:Предприятие 8.2 (8.2.16.368)
Самописка

Есть документ "БронированиеКонференций", в ней табличная часть-Конференция, реквизит табличной части ЗАЛ,
я пытаюсь колонку(зал из табличной части Конференции) в список документов вывести, через запрос судя по всему нужно-но что то не работает..и не ругается
Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
   мЗал = Новый Массив;
   
   Для каждого Стр Из ОформленияСтрок Цикл
       
       мЗал.Добавить(Стр.ДанныеСтроки.ССылка);
   
   КонецЦикла;
   
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    БронированиеКонференцЗаловКонференция.Зал
       |ИЗ
       |    Документ.БронированиеКонференцЗалов.Конференция КАК БронированиеКонференцЗаловКонференция";


   Запрос.УстановитьПараметр("мЗал", мЗал);

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Для каждого Стр Из ОформленияСтрок Цикл
       
       мЗал.Добавить(Стр.ДанныеСтроки.ССылка);
                   Стр.Ячейки.Зал.Текст = ВыборкаДетальныеЗаписи.Зал;        
                       
                                                                                   
   КонецЦикла;

   
КонецПроцедуры

Спасибо за внимание)
1 LehhaK
 
14.01.13
10:01
(0) в какой такой список?
2 anisa8310
 
14.01.13
10:02
(1) Список документов-форма списка документов
3 LehhaK
 
14.01.13
10:02
(2) Надо просто на форму колонку добавить. Код зачем?
4 Reset
 
14.01.13
10:03
(3) Это невозможно
5 kosts
 
14.01.13
10:04
Запрос.Текст =
       "ВЫБРАТЬ
       |    БронированиеКонференцЗаловКонференция.Зал
       |ИЗ
       |    Документ.БронированиеКонференцЗалов.Конференция КАК БронированиеКонференцЗаловКонференция";

Где слово "Где"? Простите за тавтологию..
:)
6 Reset
 
14.01.13
10:04
(0) Запросе неверный и второй цикл (который должен изменять оформление) тоже совсем неверный
7 Reset
 
14.01.13
10:05
"не верный", наверное, раздельно пишется
8 pessok
 
14.01.13
10:05
(0) а если в ТЧ 100500 строк, то как ты в форму списка это выведешь? получение информации в 1С производится путем формирования отчетов
9 RomaH
 
naïve
14.01.13
10:05
(0) вот интересно, вы понимаете что пишите и для чего?
что за код в (0)?
10 anisa8310
 
14.01.13
10:06
Значит запрос-я его пометила в консоль-отрабатывает.
Так значит ГДЕ нужно так же добавлять в запрос
11 Reset
 
14.01.13
10:07
(10) То что ошибок синтаксических не выдает - не значит отрабывает так, как надо
12 anisa8310
 
14.01.13
10:07
(8) все навсего отобразить значение реквизита из табличной части документа. Запрос-он для того и нужен чтобы быстро-я правильно понимаю?
13 Reset
 
14.01.13
10:08
Где БронированиеКонференцЗаловКонференция.Ссылка в (&мЗал)
14 anisa8310
 
14.01.13
10:08
(11) Ошибок нет
15 anisa8310
 
14.01.13
10:08
(13) Хорошо сейчас попробую "ГДЕ"обозначить
16 Reset
 
14.01.13
10:09
(12) Он все правльно говорит. В списоки документов строка одна, а ей может соответсовать до 99999 строк в тч. Из какой реквизит выводить в список? С этим нужно определяться. первый, любой, все через запятую и тд
17 pessok
 
14.01.13
10:09
(12) вот всего навсего у тебя в табличной части 10 строк, а каждой свой зал, как ты это будешь выводить в список?
18 Reset
 
14.01.13
10:09
(14) Ошика ЕСТЬ, ять. Не синтаксическая.
19 anisa8310
 
14.01.13
10:10
(16) там всегда один реквизит-одна строка
20 pessok
 
14.01.13
10:10
(16) судя по коду, выбирать планируется первый... но как-то в (0) все мутно и без утреннего кофе вникать сложно
21 pessok
 
14.01.13
10:11
(19) тогда выпили ТЧ и сделай реквизит
22 anisa8310
 
14.01.13
10:11
(19) В табличной части Конференция- всегда один зал
23 pessok
 
14.01.13
10:11
+(21) и тихо спокойно добавь реквизит в форму списка
24 Reset
 
14.01.13
10:12
(22) Зачем он тогда в ТЧ? Сделайте (21) и задача превратится в элементарную - (3)
25 anisa8310
 
14.01.13
10:13
(23) Я добавила, реквизит Зал-строка, в документ и отобразила на форме списка и при открытии:
Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
   мЗал = Новый Массив;
   
   Для каждого Стр Из ОформленияСтрок Цикл
       
       мЗал.Добавить(Стр.ДанныеСтроки.ССылка);
   
   КонецЦикла;
   
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    БронированиеКонференцЗаловКонференция.Зал
       |ИЗ
       |    Документ.БронированиеКонференцЗалов.Конференция КАК БронированиеКонференцЗаловКонференция,
       |Где БронированиеКонференцЗаловКонференция.Ссылка в (&мЗал)";


   Запрос.УстановитьПараметр("мЗал", мЗал);

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Для каждого Стр Из ОформленияСтрок Цикл
       
       мЗал.Добавить(Стр.ДанныеСтроки.ССылка);
                   Стр.Ячейки.Зал.Текст = ВыборкаДетальныеЗаписи.Зал;        
                       
                                                                                   
   КонецЦикла;

   
КонецПроцедуры
26 Reset
 
14.01.13
10:14
вот это бред бредский

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Для каждого Стр Из ОформленияСтрок Цикл
       
       мЗал.Добавить(Стр.ДанныеСтроки.ССылка);
                   Стр.Ячейки.Зал.Текст = ВыборкаДетальныеЗаписи.Зал;        
                       
                                                                                     
   КонецЦикла;
27 pessok
 
14.01.13
10:14
(25) если ты добавила РЕКВИЗИТ в метаданные документа, то код ПриПолученииДанных уже не нужен. Открой свою форму списка, клацни правой кнопкой на таблицу и выбери "размещение данных". Далее наблюдай волшебство :)
28 RomaH
 
naïve
14.01.13
10:15
(22) посмотри типовые процедуры получения данных (в ЗУП их не мало)
по коду

Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
   мЗал = Новый Массив;
   
   Для каждого Стр Из ОформленияСтрок Цикл
       
       мЗал.Добавить(Стр.ДанныеСтроки.ССылка);
    ///где сответсвие?
   КонецЦикла;
   
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    БронированиеКонференцЗаловКонференция.Зал
       |ИЗ
       |    Документ.БронированиеКонференцЗалов.Конференция КАК БронированиеКонференцЗаловКонференция";
//отбор и итоги по ссылке
//и ссылочный тип надоб ы строкой получить


   Запрос.УстановитьПараметр("мЗал", мЗал);

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

//дальше бред какой-то? я пьяный бывает такое пишу
   Для каждого Стр Из ОформленияСтрок Цикл
       
       мЗал.Добавить(Стр.ДанныеСтроки.ССылка);
                   Стр.Ячейки.Зал.Текст = ВыборкаДетальныеЗаписи.Зал;        
                       
                                                                                     
   КонецЦикла;

   
КонецПроцедуры
29 anisa8310
 
14.01.13
10:15
(26) ничего не вижу
30 anisa8310
 
14.01.13
10:15
(27) сейчас попробую
31 Reset
 
14.01.13
10:15
(27) под "добавила" она имела в виду секцию "где" ;)
32 pessok
 
14.01.13
10:16
(31) у меня хреново с утра телепатируется, но вроде она сделала, как сказали :)
33 anisa8310
 
14.01.13
10:17
(27) нет это не подходит, мне же нужен реквизит из табличной части
34 anisa8310
 
14.01.13
10:18
Я думала это просто-записать в реквизит значение реквизита табличной части-чтоб дальше с нм работать и выводить куда надо, а тут запрос и обход, но нужно этому научиться
35 pessok
 
14.01.13
10:18
(33) зачем тебе реквизит из ТЧ, если в ТЧ _всегда_ одна строка? зачем тут вообще ТЧ?
36 RomaH
 
naïve
14.01.13
10:19
(0) тебе щас тут насоветуют
проблема же одна единственная - ты не понимашь что пишешь

начнем снаала - где Новый Соотвествие в начале алгоритма?
37 anisa8310
 
14.01.13
10:19
(36)  нету
38 pessok
 
14.01.13
10:19
(36) проблема не в том, что она не понимает, что пишет, а в том, что она не понимает, что этого не надо писать :)
39 RomaH
 
naïve
14.01.13
10:20
(37) а почему?
40 anisa8310
 
14.01.13
10:21
(38) все. хорошо. я запуталась-сейчас сделаю заработает и выложу код...у меня всегда все получается) Спасибо милые добрые Мистеры!!!!
41 RomaH
 
naïve
14.01.13
10:21
создается соответсвие данных и оформления строк для того что бы потом по этому соответсвию находить оформления троки для соттветсвующих данных
42 RomaH
 
naïve
14.01.13
10:23
(38) вот почему ты думашь так? и навязываешь свою точку зренияЮ не зная реалий?
43 Reset
 
14.01.13
10:28
(42) А ты акцентируешь внимание на непринципиальном моменте, когда у нее отсутвует общее представление о происходящем :)
44 pessok
 
14.01.13
10:29
(42) потому что я не занимаюсь "комментарии не читай@сразу отвечай". не нужна там ТЧ и точка. хотите заниматься утренним рукоблудием - флаг в руки
45 hhhh
 
14.01.13
10:49
(44) ТЧ создавали другие люди, для других целей. ТС не может вот просто так взять и выбросить ТЧ.