|
При запросе к другой базе вместо конкретных значений пишет COMобъект | ☑ | ||
---|---|---|---|---|
0
Алерон
19.10.15
✎
05:08
|
Запрос = База.NewObject("Запрос");
// Запрос= Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ТребованиеНакладная.Ссылка) КАК КоличествоЗаМесяц, | КОЛИЧЕСТВО (РАЗЛИЧНЫЕ (ВЫБОР КОГДА ТребованиеНакладная.Дата МЕЖДУ &ДатаН И &ДатаК ТОГДА ТребованиеНакладная.Ссылка КОНЕЦ)) КАК КоличествоЗаДень, | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации, | РаботникиОрганизацийСрезПоследних.Должность, | ТребованиеНакладная.Ответственный |ИЗ | Документ.ТребованиеНакладная КАК ТребованиеНакладная | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних | ПО ТребованиеНакладная.Ответственный.ФизЛицо = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо |ГДЕ | ТребованиеНакладная.Дата МЕЖДУ &ДатаНачалаМесяца И &ДатаК | |СГРУППИРОВАТЬ ПО | ТребованиеНакладная.Ответственный, | РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации, | РаботникиОрганизацийСрезПоследних.Должность"; Запрос.УстановитьПараметр("ДатаН", НачалоДня(ТекущаяДата())); Запрос.УстановитьПараметр("ДатаНачалаМесяца", НачалоМесяца(ТекущаяДата())); Запрос.УстановитьПараметр("ДатаК", КонецДня(ТекущаяДата())); Запрос.УстановитьПараметр("ТекДата", КонецДня(ТекущаяДата())); РезультатЗапроса = Запрос.Выполнить(); ТЗ_Птицеводство=РезультатЗапроса.Выгрузить(); Кол_Во_Птицеводство3=ТЗ_Птицеводство.Итог("КоличествоЗаДень"); Кол_Во_Птицеводство3М=ТЗ_Птицеводство.Итог("КоличествоЗаМесяц"); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл счетчик=счетчик+1; начальная_строка=начальная_строка+1; Лист.Cells(начальная_строка,2).Borders.Linestyle=1; Лист.Cells(начальная_строка,2).Value=счетчик; Лист.Cells(начальная_строка,3).Borders.Linestyle=1; Лист.Cells(начальная_строка,3).Value="Управление птицеводством"; Лист.Cells(начальная_строка,4).Borders.Linestyle=1; Лист.Cells(начальная_строка,4).Value=""+ВыборкаДетальныеЗаписи.ПодразделениеОрганизации; Лист.Cells(начальная_строка,5).Borders.Linestyle=1; Лист.Cells(начальная_строка,5).Value=ВыборкаДетальныеЗаписи.Ответственный.Наименование; Лист.Cells(начальная_строка,6).Borders.Linestyle=1; Лист.Cells(начальная_строка,6).Value=""+ВыборкаДетальныеЗаписи.Должность; Лист.Cells(начальная_строка,7).Borders.Linestyle=1; Лист.Cells(начальная_строка,7).Value=ВыборкаДетальныеЗаписи.КоличествоЗаДень; Лист.Cells(начальная_строка,8).Borders.Linestyle=1; Лист.Cells(начальная_строка,8).Value=ВыборкаДетальныеЗаписи.КоличествоЗаМесяц; Лист.Cells(начальная_строка,9).Borders.Linestyle=1; Лист.Cells(начальная_строка,9).Value="Создано документов ""Отчет производства за смену"""; КонецЦикла; Вместо подразделения организации и должности пишет COMобъект |
|||
1
el-gamberro
19.10.15
✎
05:10
|
Надо обратиться к атрибутам комобъекта.
ВыборкаДетальныеЗаписи.ПодразделениеОрганизации.Наименование |
|||
2
Алерон
19.10.15
✎
05:24
|
(1) немного помогло, он поработал, пописал, но вывалился с ошибкой Значение не является значением объектного типа(Наименование).
|
|||
3
Алерон
19.10.15
✎
05:36
|
Вывалился на пользователь, для у которого нет значения подразделение организации.
|
|||
4
Алерон
19.10.15
✎
05:39
|
Вывалился на пользователе который не принадлежит подразделению.
|
|||
5
el-gamberro
19.10.15
✎
05:39
|
(3) Тогда проверяйте на пустую ссылку
|
|||
6
Алерон
19.10.15
✎
05:41
|
(5) да, я подумал об этом. Но разве ВыборкаДетальныеЗаписи.ПодразделениеОрганизации это ссылка?
|
|||
7
Маратыч
19.10.15
✎
06:02
|
(6) Разумеется. Это ссылка на справочник подразделений.
|
|||
8
Алерон
19.10.15
✎
06:05
|
(7) если Не (ВыборкаДетальныеЗаписи.ПодразделениеОрганизации.Пустая())
Тогда Лист.Cells(начальная_строка,4).Value=""+ВыборкаДетальныеЗаписи.ПодразделениеОрганизации.Наименование; КонецЕсли; Попробовал так, но всё та же ошибка, не является значением объектного типа |
|||
9
Маратыч
19.10.15
✎
06:08
|
(8) Дык ты в запросе сделай ВЫБОР и там проверяй. Сейчас оно тебе не пустую ссылку, а NULL возвращает.
|
|||
10
Алерон
19.10.15
✎
06:08
|
(9) Окей, сейчас попробую.
|
|||
11
Алерон
19.10.15
✎
07:52
|
(9) добавил вот такую строчку(в раздел запроса где): "|РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации <> Значение(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
" Ошибок теперь нет, однако у пользователей у которых неуказанно подразделение организации выводит вместо пустой строки - COMобъект. |
|||
12
cw014
19.10.15
✎
07:54
|
(11) ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации, Значение(Справочник.ПодразделенияОрганизаций.ПустаяСсылка))
|
|||
13
cw014
19.10.15
✎
07:54
|
(11) +(8)
|
|||
14
Алерон
19.10.15
✎
08:01
|
(12) такая формулировка не работает, по идее результат операции "<> " значение булево и к нему проверка на null не применима, или я ошибаюсь...
|
|||
15
Маратыч
19.10.15
✎
08:07
|
(14) Это проверка внутри запроса поля на заполнение. Если поле NULL, то эта проверка возвращает пустую ссылку на справочник подразделений, чтобы ты смог ее проверить через если Не (ВыборкаДетальныеЗаписи.ПодразделениеОрганизации.Пустая())
|
|||
16
Алерон
19.10.15
✎
08:12
|
(15) окей. Но она не работает, запрос валиться на ней.
|
|||
17
Алерон
19.10.15
✎
08:13
|
(12) извините за клевету, моя ошибка.
|
|||
18
Алерон
19.10.15
✎
10:30
|
Эхх. А если я хочу что бы в выборке были и те пользователи у которых нету подразделения, отдельный запрос писать что ли...
|
|||
19
Алерон
19.10.15
✎
10:32
|
Может модно как-то результаты запроса проверять на отсутствие подразделения?
|
|||
20
Алерон
19.10.15
✎
10:32
|
*можно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |