Имя: Пароль:
1C
1С v8
Отбор в журнале документов выдает отшибку
0 sidalexsandr
 
05.12.12
12:30
В документе в форме есть обработчик нажатия кнопки, который должен открыть журнал документов установив отбор по виду документа:
Процедура ЖурнПодчДок(Элемент)
   ЖурналыДокументов.СкладскиеДокументы.Выбрать(,РабочаяДата,"ВидДокумента=СписаниеТоваров");  
   ФормаЖурнала = ЖурналыДокументов.СкладскиеДокументы.ПолучитьФорму();
   ФормаЖурнала.Открыть();
КонецПроцедуры

Выдает ошибку: {Документ.Ведомость.Форма.ФормаДокумента.Форма(682)}: Ошибка при вызове метода контекста (Выбрать)
   ЖурналыДокументов.СкладскиеДокументы.Выбрать(,РабочаяДата,"ВидДокумента=СписаниеТоваров");  
по причине:
Несоответствие типов (параметр номер '3')
1 sidalexsandr
 
05.12.12
13:02
Обновлю
2 SanGvin
 
05.12.12
13:04
Господя, вы хоть синтакс-помощник бы посмотрели ради приличия...
3 Wobland
 
05.12.12
13:04
(0) и чо?
4 sidalexsandr
 
05.12.12
13:07
(2) Смотрел. (3) Извини за банальный вопрос.
5 Reset
 
05.12.12
13:08
(4) Смотри еще раз. По русски же написано - несоответсвие типов.
6 Reset
 
05.12.12
13:09
уже молчу про полную бессмысленность строчки, вызывающей ошибку
7 SanGvin
 
05.12.12
13:10
(4) ну раз смотрел и не увидел, подсказываю:
1.тип третьего параметра какой? обрати внимение
2.что такое ДокументВыборка? прочитав, осознать шозонах написано в (0).
8 Wobland
 
05.12.12
13:14
(4) вопрос? что это?
//заколбали, блин, уже информировать
9 sidalexsandr
 
05.12.12
13:26
(7) Понял. Выборка используется для выбора в цикле документов из журнала.
10 sidalexsandr
 
05.12.12
13:30
Нашел в справке Отбор (Filter)  

Использование:  

Только чтение.  

Описание:  

Тип: Отбор. Содержит объект Отбор, по которому осуществляется текущая фильтрация документов в списке журнала.  

В списке журнала документов доступен отбор по графам журнала, дате, номеру и виду документов, а также критериям отбора, затронувшие документы отображаемые в журнале.  

 
Для отбора по виду документов используется тип Объект описания метаданного.  

 
Только не пойму как применить для вида документа "СписаниеТоваров".
11 zladenuw
 
05.12.12
13:32
<Отбор> (необязательный)

Тип: Структура.
Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. Может задаваться только "Дата" и графы журнала документов, для которых при конфигурировании установлено индексирование.
Если параметр не указан, то отбор не используется.
12 hhhh
 
05.12.12
13:44
это вот бездумное копирование строчек из 7.7 в 8.2.
ИМХО отбора не нужно, форма списка документа СписаниеТоваров без всяких отборов спасет гиганта мысли.
13 sidalexsandr
 
05.12.12
13:46
(12) Спасибо. Но мне надо 2 вида документов:

1) "СписаниеТоваров"
2) "ПеремещениеТоваров"
14 Reset
 
05.12.12
13:50
Создать новый журнал или нарисовать управляемую форму с ДС по журналу
15 ptiz
 
05.12.12
13:52
(13) Можно выкрутиться с помощью графы, созданной по этим двум видам документов.
16 sidalexsandr
 
05.12.12
13:57
(15) Графу создавать не надо. Потому как в пользовательском режиме можно нажав кнопку "Отбор и сортировка" отобрать по виду документа.
17 shuhard
 
05.12.12
14:00
(15) или через список документов, получив его запросом
18 sidalexsandr
 
05.12.12
14:43
(17) Как дальше пихать в отбор список полученных документов?
19 shuhard
 
05.12.12
14:54
(18) гусары молчать (с)
20 Wobland
 
05.12.12
14:55
(18) дальше пихать, чем дальше, тем лучше
21 Шапокляк
 
05.12.12
14:59
(18) вот похожий код, адаптируй сам
 СписокОплаченных=Новый Списокзначений;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    ЗаказПокупателя.Ссылка
               |ИЗ
               |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
               |ГДЕ
               |    ЗаказПокупателя.Проведен = ИСТИНА
               |    И ЗаказПокупателя.Закрыт = ЛОЖЬ
               |    И ЗаказПокупателя.Оплачено > 0";


Результат = Запрос.Выполнить();
ТЗ=Результат.Выгрузить();
МассивЭл=ТЗ.ВыгрузитьКолонку("Ссылка");
СписокОплаченных.ЗагрузитьЗначения(МассивЭл);
    Отбор = ЭтаФорма.Заказы.Отбор;
Если Отбор.Найти("Ссылка") = Неопределено Тогда
   Отбор.Добавить("Ссылка");
КонецЕсли;
Отбор["Ссылка"].Использование = Истина;
Отбор["Ссылка"].ВидСравнения = ВидСравнения.ВСписке;
Отбор["Ссылка"].Значение = СписокОплаченных;
22 sidalexsandr
 
05.12.12
15:16
(21) Спасибо. Полезный код.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший