Имя: Пароль:
1C
1С v8
Ошибка в запросе "ИЗ"
,
0 Kvitok8320
 
14.08.13
15:55
Добрый день, я опять в тупике:
написал запрос - у меня три примерно идентичных документа - в двух работает - в третьем пишет {Документ.НачислениеПени.Форма.ФормаДокумента.Форма(72)}: Ошибка при вызове метода контекста (Выполнить) Результатзапроса=запрос.Выполнить(); по причине: {(8, 1)}: Синтаксическая ошибка "ИЗ" <<?>>ИЗ В чем там можно ошибиться в "ИЗ" ?
|ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты() КАК ХозрасчетныйОстаткиИОбороты
все параметры по точке останова проверил - считаются

Запрос = новый запрос;
    Запрос.Текст="
    |ВЫБРАТЬ
    |    ХозрасчетныйОстаткиИОбороты.Счет,
    |    ХозрасчетныйОстаткиИОбороты.Субконто1,
    |    ХозрасчетныйОстаткиИОбороты.Субконто2,
    |    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
    |    ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты() КАК ХозрасчетныйОстаткиИОбороты
    |ГДЕ
    |    ХозрасчетныйОстаткиИОбороты.Счет = &Счет
    |    И ХозрасчетныйОстаткиИОбороты.Субконто1 = &Субконто1
    |    И ХозрасчетныйОстаткиИОбороты.Субконто2 = &Субконто2";
     Запрос.УстановитьПараметр("Счет",Строкатаблицы.СчетУчетаЗайма);
Запрос.УстановитьПараметр("Субконто1",Строкатаблицы.Заемщик);
Запрос.УстановитьПараметр("Субконто2",Строкатаблицы.ДоговорыЗайма);
Результатзапроса=запрос.Выполнить();
1 Ёпрст
 
14.08.13
15:56
ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,

тут зпт убери
2 rbcvg
 
14.08.13
15:57
запятую перед ИЗ убери
3 Kvitok8320
 
14.08.13
16:00
Спасибо!!! Спасли!
4 Maxus43
 
14.08.13
16:09
конструктором пользуйся, если так не получается пока
5 Kvitok8320
 
14.08.13
16:16
пользовался, но когда из одного документа аналог в другой копировал - строчку удалил, а запятую не убрал ....
на будущее учту!
6 Kvitok8320
 
15.08.13
08:11
Добрый день, уточняющий вопрос:
почему написанный выше запрос хорошо работает со счетом, у которого всего два субконто и не работает со счетом у которого субконто три (я в параметрах задавал первое и третье)?
7 Kvitok8320
 
15.08.13
08:15
потом когда писал

Выборка = результатзапроса.Выбрать();
Пока Выборка.следующий() Цикл
объект.остатокнаначалорасчета=выборка.суммаостатокКТ;
КонецЦикла;

в отладчике выдавалось, что переменная "выборка" не определена
8 rbcvg
 
15.08.13
08:34
(7) Выполнить его нада.
9 Kvitok8320
 
15.08.13
08:43
выполнил
Результатзапроса=запрос.Выполнить();

или еще что-то?
10 Kvitok8320
 
15.08.13
08:44
пока не убрал ненужное мне третье субконто из плана счетов - ничего не получалось ...
потом все сразу заработало
11 Fragster
 
модератор
15.08.13
08:53
настоятельно рекомендую почитать по параметры виртуальных таблиц
12 Kvitok8320
 
15.08.13
09:02
согласен, почитаю. где?
13 hhhh
 
15.08.13
09:24
(12) в конфигураторе кнопка F1
14 Kvitok8320
 
15.08.13
09:31
вот выдержка из F1 :)

Конфигуратор 1С:Предприятие 8

Параметры виртуальной таблицы

В диалоге задаются параметры виртуальной таблицы.
Состав параметров определяется выбранной таблицей.

информативно :)
15 hhhh
 
15.08.13
09:40
(14) даю наводку. У вас виртуальная таблица называется ОстаткиИОбороты регистра бухгалтерии
16 Kvitok8320
 
15.08.13
09:51
правильно ли я понимаю, что наводка была на РеистрБухгалтерииМенеджер.Методы.Выбрать()?
17 hhhh
 
15.08.13
09:58
(16) нет, неправильно. Если в поиск такую дуру вгоните, то по-любому ничего не найдет.
18 hhhh
 
15.08.13
09:59
(16) в содержании ищите раздел: работа с запросами, ну и сядьте, потратьте недельку другую, почитайте.
19 Kvitok8320
 
15.08.13
10:01
то есть ошибка была все-таки в запросе?
хорошо - понял
20 Kvitok8320
 
15.08.13
10:09
нашел где - спасибо
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший