Имя: Пароль:
1C
1С v8
Вопрос по odata
0 Ivanich
 
21.06.16
18:04
Интерфейс O-DATA, не могу отобрать по счету.

Платформа 1С:Предприятие 8.3 (8.3.8.1747)
Бухгалтерия предприятия, редакция 3.0 (3.0.43.236)

Составляю запрос к виртуальной таблице оборотов регистра бухгалтерии "Хозрасчетный"

Отбор по организации работает!
http://localhost:28/tdXXXXX/odata/standard.odata/AccountingRegister_Хозрасчетный/Turnovers(StartPeriod=datetime'2016-01-01T00:00:00',EndPeriod=datetime'2016-01-31T23:59:59',Condition='Организация_Key eq guid'edef4f5a-bb68-11e5-b979-001a92cc9afe'')
условие отбора: Condition='Организация_Key eq guid'edef4f5a-bb68-11e5-b979-001a92cc9afe''

НЕ РАБОТАЕТ отбор по счету!!!
http:// localhost:28/tdXXXXX/odata/standard.odata/AccountingRegister_Хозрасчетный/Turnovers(StartPeriod=datetime'2016-01-01T00:00:00',EndPeriod=datetime'2016-01-31T23:59:59',AccountCondition='Account_Key eq guid'a2912351-d8b0-4471-8bb7-faa192adf582'')
условие счета: AccountCondition='Account_Key eq guid'a2912351-d8b0-4471-8bb7-faa192adf582''
ОШИБКА:
<m:error>
<m:code>-1</m:code>
<m:message>{(1, 143)}: Поле не найдено "Account"
SELECT   *  FROM AccountingRegister.Хозрасчетный.Turnovers(&tnp_StartPeriod,&tnp_EndPeriod,, ( Account )  =  ( &cnp_AccountCondition0 ) ,,, ( <<?>>Account )  =  ( &cnp_AccountCondition0 ) ,) AS alias1
</m:message>
</m:error>

НЕ работает отбор по кор.счету
http:// localhost:28/tdXXXXX/odata/standard.odata/AccountingRegister_Хозрасчетный/Turnovers(StartPeriod=datetime'2016-01-01T00:00:00',EndPeriod=datetime'2016-01-31T23:59:59',BalanceAccountCondition='BalancedAccount_Key eq guid'924f0af0-5e54-41af-af07-628265e965ed'')
условие кор.счета: BalanceAccountCondition='BalancedAccount_Key eq guid'924f0af0-5e54-41af-af07-628265e965ed''
ошибок не выдает, но и отбора нет!

Пытаемся реализовать запрос:
ВЫБРАТЬ
                ХозрасчетныйОбороты.Период,
                ХозрасчетныйОбороты.Регистратор КАК Регистратор,
                ХозрасчетныйОбороты.Счет,
                ХозрасчетныйОбороты.Субконто1 КАК Номенклатура,
                ХозрасчетныйОбороты.Организация,
                ХозрасчетныйОбороты.КоличествоОборотКт КАК Количество,
                ХозрасчетныйОбороты.СуммаОборотКт КАК Себестоимость
ИЗ
                РегистрБухгалтерии.Хозрасчетный.Обороты(&Дата1, &Дата2, Регистратор, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Товары), , , КорСчет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД), ) КАК ХозрасчетныйОбороты
1 Ivanich
 
22.06.16
09:31
Попробую сформулировать короче.
условие отбора по счету: AccountCondition='Account_Key eq guid'значение''

Выдает ошибку: Поле не найдено "Account"

SELECT   *  FROM AccountingRegister.Хозрасчетный.Turnovers(&tnp_StartPeriod,&tnp_EndPeriod,, ( Account )  =  ( &cnp_AccountCondition0 ) ,,, ( <<?>>Account )  =  ( &cnp_AccountCondition0 ) ,) AS alias1
2 Ivanich
 
22.06.16
09:41
Настораживает следующее: Если посмотреть поле ошибки ( <<?>>Account ), то оно 7-е и соответствует условию фильтра по кор.счету виртуальной таблицы ХозрасчетнойОбороты.

Поэтому вопрос: Кто-нибудь ставил условия отбора по счету?
3 mikecool
 
22.06.16
09:57
(2) так может туда поле корсчет надо запихнуть, а не счет?
4 Ivanich
 
22.06.16
10:33
так и сделал
условие кор.счета: BalanceAccountCondition='BalancedAccount_Key eq guid'значение''
ошибок не выдает, но и отбора нет!
5 Ivanich
 
22.06.16
10:40
попробовал так:
AccountCondition='BalancedAccount_Key eq guid'значение''
т.е. в условие счета подставляю кор.счёт
6 Ivanich
 
22.06.16
10:42
Выдало:
Поле не найдено "BalancedAccount"
SELECT   *  FROM AccountingRegister.Хозрасчетный.Turnovers(&tnp_StartPeriod,&tnp_EndPeriod,, ( <<?>>BalancedAccount )  =  ( &cnp_AccountCondition0 ) ,,, ( BalancedAccount )  =  ( &cnp_AccountCondition0 ) ,) AS alias1

т.е. теперь ругается "правильно" на счет, а кор.счет подходит
7 Ivanich
 
22.06.16
10:49
Пробовали задавать одновременно 2 отбора по счету и кор.счету.
Если 1-м стоит отбор по счету, то выдает ошибку, если 1-м стоит отбор по кор.счету, то ошибок нет, но и отбора нет. Я всё это пробовал описать в (0)

Написали в 1С ещё 17-го, там ответили: "Передано разработчикам"
8 Ivanich
 
08.07.16
10:58
Получили ответ из 1С
По Вашему обращению зарегистрирована ошибка платформы 10164342
Исправление войдет в релиз платформы 8.3.9.1459
По срокам выхода платформы только информации пока нет.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс