Имя: Пароль:
1C
1С v8
Список значений на форме
0 4esz
 
26.02.13
15:50
Здорово народ
Подскажите как сделать список значений на форме внешнего отчета, конфа бух 2.0
Делаю так:

Процедура ПриОткрытии()
ВидДокумента = Новый СписокЗначений;
   ВидДокумента.Добавить("РеализацияТоваровУслуг","Рн");
   ВидДокумента.Добавить("ПоступлениеТоваровУслуг","Пн");
   Элементыформы.ВидДокументаСписок.СписокВыбора =  ВидДокумента;
   Элементыформы.ВидДокументаСписок.Значение =  "ПоступлениеТоваровУслуг";
КонецПроцедуры

ВидДокументаСписок - это реквизит формы ТипЗначения = Строка

вопрос в следующем на форме бухи видят не привычные Рн и Пн а РеализацияТоваровУслуг и ПоступлениеТоваровУслуг, как сделать чтобы отображались не значения элемента спискаЗначений а его представление?
1 Rounder
 
26.02.13
15:52
Если не ошибаюсь - нужно у элемента поставить в истина что-то типа РежимВыбораИзСписка.
2 4esz
 
26.02.13
15:55
(1)РежимВыбораИзСписка не вижу такого
помоему оно есть только на управляемых формах, а бух 2.0 вроде как на обычных
3 Rounder
 
26.02.13
15:56
Извини.
Я подсказывал именно по управляемым.
4 4esz
 
26.02.13
15:57
(0) ну ли тогда вопрос такой
как в 8.2 реализовать поле список выбора аналогично 7.7?
5 4esz
 
26.02.13
16:19
получается что никак?
6 Infsams654
 
26.02.13
16:22
(5) как никак, см. как в типовых сделано, какие проблемы ?
7 4esz
 
26.02.13
16:27
(6) ткни пальцем конкретно где посмотреть
8 НЕА123
 
26.02.13
16:34
Элементыформы.ВидДокументаСписок.Значение = ВидДокумента[1]
9 НЕА123
 
26.02.13
16:38
(7)
вообще-то здесь культурное общество.
здесь только пинают.
а тыкать пальцем - фу... как неприлично.
10 4esz
 
26.02.13
16:44
(8) помогло
а как мне теперь прочитать с элемента на котором спозиционирован список значений само значение ведь в ВидДокументаСписок у меня терерь представление
(9) Извиняюсь. типовую смотрел, не нашел поэтому хотел сказать пинните куда нибудь поконкретнее где именно в типовой посмотреть.
11 4esz
 
26.02.13
16:50
(10)+
просто дальше идет процедура выбора доков как раз по тому виду который был выбран на форме
как то так

Функция ПолучитьТаблицуДокументов()
   
   ДокументВид = Элементыформы.ВидДокументаСписок.Значение;
       
   ТекстЗапроса =
   "ВЫБРАТЬ
   |    "+ДокументВид+".Ссылка,
   |    "+ДокументВид+".Номер КАК Номер,
   |    "+ДокументВид+".Дата КАК Дата,
   |    СУММА("+ДокументВид+".СуммаДокумент
......
получается тогда нужно еще раз обращаться к списку ВидДокумента в нем искать значение соответствующее представлению ДокументВид и уже полученное значение передавать в запрос.
Длинно как то, хотелось покороче
12 НЕА123
 
26.02.13
16:55
ДокументВид = Элементыформы.ВидДокументаСписок.Значение.Значение;
13 4esz
 
26.02.13
17:02
(12) у меня у реквизита ВидДокументаСписок тип строка
соответственно вываливается ошибка
какой должен быть тип?
14 НЕА123
 
26.02.13
17:07
(13)
пардон. кажется я не туда веду...
РежимВыбораИзСписка установлен?
15 4esz
 
26.02.13
17:12
(14) нет не был установлен
щас поставил
16 НЕА123
 
26.02.13
17:14
(15) тогда,  и (0) должен отработать. или нет?
17 4esz
 
26.02.13
17:15
(15) теперь при открытии поле ВидДокументаСписок стало оставаться пустым
18 4esz
 
26.02.13
17:18
вот как щас все выглядит
хочется из значения элемента списка получать тип документа для передачи в запрос, а из представления получать данные которые подсунуть для печати заголовка отчета

Процедура ПриОткрытии()
   // Вставить содержимое обработчика.
   
   ВидДокумента = Новый СписокЗначений;
   ВидДокумента.Добавить("ПоступлениеТоваровУслуг","Поступление Товаров и Услуг");
   ВидДокумента.Добавить("РеализацияТоваровУслуг","Реализация Товаров и Услуг");
   ВидДокумента.Добавить("ОтчетОРозничныхПродажах","Отчет о Розничных Продажах");
   Элементыформы.ВидДокументаСписок.СписокВыбора =  ВидДокумента;
   Элементыформы.ВидДокументаСписок.Значение =  ВидДокумента[1];
       
КонецПроцедуры

Функция ПолучитьТаблицуДокументов()
   
   ДокументВид = Элементыформы.ВидДокументаСписок.Значение;
   
   Заголовок = "???????"
   
   ТекстЗапроса =
   "ВЫБРАТЬ
   |    "+ДокументВид+".Ссылка,
   |    "+ДокументВид+".Номер КАК Номер,
   |    "+ДокументВид+".Дата КАК Дата,
   |    СУММА("+ДокументВид+".СуммаДокумента) КАК СуммаДокумента
   |ИЗ
   |    Документ."+ДокументВид+" КАК "+ДокументВид+"
   |ГДЕ
   |    "+ДокументВид+".Проведен
19 4esz
 
27.02.13
08:21
up
20 НЕА123
 
27.02.13
08:31
ДокументВид = Элементыформы.ВидДокументаСписок.Значение.Значение;
Заголовок = Элементыформы.ВидДокументаСписок.Значение.Представление;
?
21 4esz
 
27.02.13
08:35
(20)
{Форма.ФормаОтчета.Форма(22)}: Значение не является значением объектного типа (Значение)
   ДокументВид = Элементыформы.ВидДокументаСписок.Значение.Значение;

ВидДокументаСписок у него установлен тип строка я так понимаю поэтому и ошибка
22 Дэн Рельмо
 
27.02.13
08:41
(0)Поменяй их местами и не заморачивайся.
И потом просто работай с представлением как со значением , потому как вообще то пофигу
23 НЕА123
 
27.02.13
08:48
(21)
отладчик что говорит?
24 4esz
 
27.02.13
09:00
(23) что то загадка какая то
на этапе процедуры ПриОткрытии
вот на этой строке
Элементыформы.ВидДокументаСписок.Значение =  ВидДокумента[1];
все хорошо там лежит ЭлементСпискаЗначений, но при этом при открытии формы в поле ВидДокументаСписок ничего не отображается оно пустое

если я по кнопке выбора выбираю любую строку из списка то там уже лежит почемуто Строка
25 НЕА123
 
27.02.13
09:05
(23) присвой строку.
26 4esz
 
27.02.13
09:18
(25) это я уже пробовал
если присваивать строку тогда вот это
ДокументВид = Элементыформы.ВидДокументаСписок.Значение.Значение;
Заголовок = Элементыформы.ВидДокументаСписок.Значение.Представление;

не срабатывает
тогда получается чтобы вывести заголовок нужно как то определить на какой позиции спозиционирован список, а это я так понимаю определить нельзя.
27 НЕА123
 
27.02.13
09:23
(26) может в СП стоит посмотреть?
28 Rovan
 
гуру
27.02.13
09:26
(11) "получается тогда нужно еще раз обращаться к списку ВидДокумента в нем искать значение соответствующее представлению ДокументВид" - да...
сделай переменную ДокументВид не в процедуре, а глобальную для формы, заполни 1 раз и обращайся к ней везде
29 4esz
 
27.02.13
09:37
(27) СП это что?
(28) сделал но это как то некрасиво смотрится, и потом в этом случае во первых не заполняется реквизит при открытии формы, во вторых в выпадающем списке значения вида "РеализацияТоваровУслуг" а хотелось в списке видеть то что идет в заголовок "Реализация Товаров и Услуг"
30 4esz
 
27.02.13
09:46
сделал через Соответствие, но как то оно огородами получается
в 7.7 было это выходило намного красивее

Процедура ПриОткрытии()
   
   ВидДокумента = Новый СписокЗначений;
   ВидДокумента.Добавить("Поступление Товаров и Услуг");
   ВидДокумента.Добавить("Реализация Товаров и Услуг");
   ВидДокумента.Добавить("Отчет о Розничных Продажах");
   Элементыформы.ВидДокументаСписок.СписокВыбора =  ВидДокумента;
   Элементыформы.ВидДокументаСписок.Значение =  ВидДокумента[1];
   
КонецПроцедуры

Функция ПолучитьТаблицуДокументов()
   
   ВидЗаголовок = Новый Соответствие;
   ВидЗаголовок.Вставить("Поступление Товаров и Услуг","ПоступлениеТоваровУслуг");
   ВидЗаголовок.Вставить("Реализация Товаров и Услуг","РеализацияТоваровУслуг");
   ВидЗаголовок.Вставить("Отчет о Розничных Продажах","ОтчетОРозничныхПродажах");
       
   Заголовок = Элементыформы.ВидДокументаСписок.Значение;
   ДокументВид =  ВидЗаголовок.Получить(Заголовок);

   ТекстЗапроса =
   "ВЫБРАТЬ
   |    "+ДокументВид+".Ссылка,

получается что другого способа нет?
и еще в спискеЗначений по представлению искать нельзя? или я плохо читал справку?
31 Rovan
 
гуру
27.02.13
09:50
(29) значит что-то неправильно сделал.... покажи