Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

1C8.1Бух Запрос бухгалтерский (ошибка)

Vakham
читатель
офлайн
Дата регистрации: 03.03.2010
Сообщений: 5
Пост №1
 
03.03.2010 13:45

"Здравствуйте.
Дано: 1С:Предприятие 8.1 (8.1.9.57) "Бухгалтерия" редакция 1.6 (1.6.15.6) (пока что не ломаная, но прогресс неизбежен)
Требуется: запросом выбрать остатки товара на 41-м счету.
Паяльной лампой наваял:
ЗапросОстаткиТовара=Новый Запрос("ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
| СУММА(ХозрасчетныйОстатки.СуммаОборотДТ) КАК ОборотДТ,
| СУММА(ХозрасчетныйОстатки.СуммаКонечныйОстатокДт) КАК СуммаКонечныйОстатокДт,
| СУММА(ХозрасчетныйОстатки.СуммаКонечныйОстатокКт) КАК СуммаКонечныйОстатокКт,
| ХозрасчетныйОстатки.Счет КАК Счет
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода,&КонецПериода) КАК ХозрасчетныйОстатки
|ГДЕ
| Счет=41.01
|СГРУППИРОВАТЬ ПО
| Счет,
| ХозрасчетныйОстатки.Субконто1,
| ХозрасчетныйОстатки.СуммаКонечныйОстатокДт,
| ХозрасчетныйОстатки.СуммаКонечныйОстатокКт,
| ХозрасчетныйОстатки.СуммаОборотДТ
|");
ЗапросОстаткиТовара.УстановитьПараметр("НачалоПериода",ДатаНачала);
ЗапросОстаткиТовара.УстановитьПараметр("КонецПериода",ДатаКонца);
ОстаткиТовара=ЗапросОстаткиТовара.Выполнить();

Если ОстаткиТовара.Пустой()=Ложь Тогда
Сообщить("!");
ОстаткиТовара.Выбрать();
Пока ОстаткиТовара.Следующий() Цикл
Сообщить("!");
КонецЦикла;
КонецЕсли;

1С не дает никаких результатов.
Вопрос: Что делать? Кто виноват сам знаю, давеча в зеркале видел."

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №2
 
03.03.2010 14:12

"Ошибка в строке
| Счет=41.01
Варианта 2:
1. Возможно требуется уточнить код
| Счет.Код=""""41.01""""
2.
| Счет.Код=&Счет
ЗапросОстаткиТовара.УстановитьПараметр("Счет",...); //Либо передать выбранный в форме, либо найти по коду, либо ..."

Tanya
читатель
офлайн
Дата регистрации: 03.12.2001
Сообщений: 8411
Пост №3
 
03.03.2010 14:14

> ГДЕ
> Счет=41.01

И где вы видели чтобы так условие задавалось.
Совет. поставьте условие в виртуальной таблице, запрос будет работает быстрее.

> Паяльной лампой наваял:
Лучше конструктором запросов.

Vakham
читатель
офлайн
Дата регистрации: 03.03.2010
Сообщений: 5
Пост №4
 
03.03.2010 14:24

"Вариант 1. не прокатил, а вариант
| Счет.Код=&Счет
ЗапросОстаткиТовара.УстановитьПараметр("Счет",...);
что-то получает, так как срабатывает условие Если ОстаткиТовара.Пустой()=Ложь Тогда

Но вылетает при ошибке в строке Пока ОстаткиТовара.Следующий() Цикл
Говорит, что "Метод объекта не обнаружен (Следующий)"
Что сделал не так?"

Tanya
читатель
офлайн
Дата регистрации: 03.12.2001
Сообщений: 8411
Пост №5
 
03.03.2010 14:31

> Но вылетает при ошибке в строке Пока ОстаткиТовара.Следующий() Цикл
> Говорит, что "Метод объекта не обнаружен (Следующий)"
> Что сделал не так?

Сначала нужно выбрать
Метод следующий() у объекта выборки.
Вы хоть синтаксис-помощник посмотрите.

Vakham
читатель
офлайн
Дата регистрации: 03.03.2010
Сообщений: 5
Пост №6
 
03.03.2010 14:36

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

Если ОстаткиТовара.Пустой()=Ложь Тогда
Сообщить("!");
ОстаткиТовара.Выбрать();//***** ВРОДЕ КАК ВЫБРАЛ
Пока ОстаткиТовара.Следующий() Цикл
Сообщить("!");
КонецЦикла;
КонецЕсли;

Но выдает ошибку в цикле."

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №7
 
03.03.2010 14:38

"Так далеко я не смотрел:
лВыборка = ОстаткиТовара.Выбрать();
Пока лВыборка.Следующий() Цикл
...

У результата запроса нет Следующего."

Vakham
читатель
офлайн
Дата регистрации: 03.03.2010
Сообщений: 5
Пост №8
 
03.03.2010 14:44

Вот и верь потом учебникам... И что ж делать? На 41-м остатки есть.
Мысль... у регистра измерение "Организация" и "Валюта", которые я в запросе не указывал. В этом может быть косяк?

p.s. Извиняюсь за глупые вопросы, ибо это мой первый запрос на 8.1

Vakham
читатель
офлайн
Дата регистрации: 03.03.2010
Сообщений: 5
Пост №9
 
03.03.2010 15:31

"Догнал. Массивы - сила.

МассивОстаткиТовара=ОстаткиТовара.Выгрузить();
Для Каждого СтрокаИзМассива Из МассивОстаткиТовара Цикл
Сообщить(Строка(СтрокаИзМассива["Номенклатура"])+" "+Строка(СтрокаИзМассива["СуммаКонечныйОстатокДт"]));
КонецЦикла;

Непонимаю только, почему ни в одном учебнике нет нормального примера. Очень съэкономило бы время и нервы."

BelikovS
читатель
офлайн
Дата регистрации: 05.03.2007
Сообщений: 1701
Пост №10
 
03.03.2010 17:13

"> Догнал. Массивы - сила.
>
> МассивОстаткиТовара=ОстаткиТовара.Выгрузить();
> Для Каждого СтрокаИзМассива Из МассивОстаткиТовара Цикл
> Сообщить(Строка(СтрокаИзМассива["Номенклатура"])+" "+Строка(СтрокаИзМассива["СуммаКонечныйОстатокДт"]));
> КонецЦикла;
>
Если ОстаткиТовара - это результат запроса (Запрос.Выполнить()), то Выгрузить это не Масиив, а ТаблицаЗначений :)
А Выборку я и сам не люблю, хотя она должна быть быстрее.

> Сообщить(Строка(СтрокаИзМассива["Номенклатура"])+" "+Строка(СтрокаИзМассива["СуммаКонечныйОстатокДт"]));
Можно и так написать:
Сообщить(Строка(СтрокаИзМассива.Номенклатура)+" "+Строка(СтрокаИзМассива.СуммаКонечныйОстатокДт));"

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги