Проблемы с полем "КОЛИЧЕСТВО" в таблице "ЗаказПокупателя"

1. user974269 22.10.21 09:36 Сейчас в теме
Добрый день. Ломаю голову уже долгое время над следующей проблемой:
Делаю запрос в консоли запросов 1С на выгрузку данных из таблицы "ЗаказПокупателя". Всё работает как надо.
Как только делаю этот же самый запрос из Excel с помощью VBA, он отрабатывает по всем полям так, как надо кроме поля "Количество". В этом поле везде стоит одна и та же одинаковая величина.
Подскажите, пожалуйста, в чём может быть затык, с чем это может быть связано.

Текст запроса привожу ниже:

ВЫБРАТЬ
	ЗаказПокупателя.Ссылка.Ссылка,
	ВЫРАЗИТЬ(ЗаказПокупателя.Ссылка.Номер КАК СТРОКА(11)) КАК НомерЗаказа,
	ВЫРАЗИТЬ(ЗаказПокупателя.Ссылка.Дата КАК ДАТА) КАК ДатаЗаказа,
	ЗаказПокупателя.Ссылка.Проведен КАК ПроведениеДокумента,
	ВЫРАЗИТЬ(ЗаказПокупателя.Ссылка.ДатаОтгрузки КАК ДАТА) КАК ДатаОтгрузки,
	ЗаказПокупателя.Ссылка.ДоговорКонтрагента.Наименование КАК Договор,
	ЗаказПокупателя.Ссылка.ДоговорКонтрагента.Дата КАК ДатаДоговора,
	ВЫРАЗИТЬ(ЗаказПокупателя.Ссылка.ДоговорКонтрагента.Номер КАК СТРОКА(20)) КАК НомерДоговора,
	ЗаказПокупателя.Ссылка.Контрагент.Наименование КАК Контрагент,
	ЗаказПокупателя.Ссылка.СуммаВключаетНДС КАК НаличиеНДС,
	ЗаказПокупателя.Ссылка.СуммаДокумента КАК СуммаЗаказа,
	ЗаказПокупателя.Номенклатура.НаименованиеПолное КАК Номенклатура,
	ЗаказПокупателя.Номенклатура.Артикул КАК Артикул,
	ЗаказПокупателя.Количество КАК Количество,
	Платеж.Сделка.Проведен КАК СтатусПлатежа,
	Платеж.Сделка.Дата КАК ДатаПлатежа,
	Платеж.Сделка.СуммаДокумента КАК СуммаПлатежа
	
ИЗ
	Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК Платеж
		ПО ЗаказПокупателя.Ссылка.Ссылка = Платеж.Сделка.Ссылка
ГДЕ
	ЗаказПокупателя.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
	И ЗаказПокупателя.Ссылка.Организация.Наименование = "*****"

УПОРЯДОЧИТЬ ПО
	ЗаказПокупателя.Ссылка.Дата
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. puzo50 22.10.21 09:45 Сейчас в теме
в екселе в числе 12 345 между 2 и 3 может стоять неразрывныйпробел, так вот его надо удалить, иначе это число не прочтётся другими считывателями
3. user974269 22.10.21 09:50 Сейчас в теме
(2) Так данные выгружаются в ексель из 1С. Пробелов нигде нет в числах, выгружается одно и то же число, в моём случае это 105. А в консоли запросов выгружаются числа 5, 10, 50, 25 и т.д. как и должно быть.
4. starjevschik 22.10.21 09:56 Сейчас в теме
я думаю, проблема где-то не в запросе. В ВБА вообще-то есть свой отладчик, можно в нем покопаться.
5. Oldsad 22.10.21 09:58 Сейчас в теме
попробую переименовать поле "количество", возможно эксель путает поле с функцией Количество()
6. VZyryanov 22.10.21 09:58 Сейчас в теме
Попробуйте другой псевдоним
ЗаказПокупателя.Количество КАК Колво,
7. user974269 22.10.21 10:04 Сейчас в теме
(6)Только что проверил - нет, увы, не работает.
Притом я не вывожу на лист, проверяю значения командой Debug.Print прямо из запроса. И по другим полям всё работает как полагается. Магия какая-то
8. user974269 22.10.21 10:12 Сейчас в теме
(6) Отчасти вы правы, кстати. Проверил на периоде, где всего несколько операций было - эта цифра соответствует кол-ву строк в выводе. Только вот псевдоним не помогает решить эту проблему.
9. VZyryanov 22.10.21 10:59 Сейчас в теме
(8) В SQL запросах зарезервированные слова экранируются квадратными скобками, например, [SUM]. Как это сделать в 1С + Excel + VBA не ясно.
10. user974269 22.10.21 11:47 Сейчас в теме
Всем спасибо за подсказки, я пошёл по пути наименьшего сопротивления и сделал аналогичный запрос не по "ЗаказПокупателя", а через регистры накопления "ЗаказыПокупателей". Там даже удобнее, так как не нужно использовать вложенные таблицы.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот