новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

ComConnector, к базе присоединяюсь. Простой запрос на элементы справочника выполняется, а на виртуальную таблицу остатков, по регистру бухгалтерии нет.

    • #1
    • 30.01.2025 18:45
    • Отредактировано: 30.01.2025 19:59:11
    0
    Через V83.ComConnector, к файловой базе присоединяюсь. Простой запрос на элементы справочника выполняется, а на виртуальную таблицу остатков нет (ошибку выдаёт). Ниже код.

    и получаю ошибку: Таблица не найдена "РегистрБухгалтерии.Хозрасчетный.Остатки"
    Параметры, вроде определены правильно, отладчик, правильные данные параметров показывает.

    Запрос.УстановитьПараметр("ДатаОстатков", ДатаОстатков);
    Запрос.УстановитьПараметр("СчётОстатков", Подключение.ПланыСчетов.Хозрасчетный.Товары); // тут пробовал, по коду искать, разницы нет.

    Может, кто-нибудь подсказать, где я допустил, в коде ошибку?
    • #2
    • 30.01.2025 19:40
    • Отредактировано: 30.01.2025 19:48:39
    0
    ПутьКБазеБП, с пробелами, посему и кавычки.
    СтрокаСоединения = "File = """+ ПутьКБазеБП + """; Usr = "+ СокрЛП(ПользовательБП) + "; Pwd = " + СокрЛП( ПарольБП); 
    Соединение = Новый COMОбъект("V83.ComConnector"); 
    Попытка 
    Подключение = Соединение.Connect(СтрокаСоединения); 
    Исключение 
    Сообщить("" + ОписаниеОшибки()); 
    Возврат; 
    КонецПопытки; 
    Запрос = Подключение.NewObject("Запрос");
    • #3
    • 30.01.2025 19:43
    • Отредактировано: 30.01.2025 19:46:12
    0
    //Для проверки сделал небольшой запрос, он работает (получаю список валют). 
    "ВЫБРАТЬ 
    | Валюты.Наименование КАК Наименование, 
    | Валюты.Код КАК Код 
    |ИЗ 
    | Справочник.Валюты КАК Валюты"

    Всё работает.
    • #4
    • 30.01.2025 19:45
    • Отредактировано: 30.01.2025 19:45:48
    0
    Далее сделал маленький запрос на виртуальную таблицу (получить единственную организацию из регистра, по счёту):
    "ВЫБРАТЬ ПЕРВЫЕ 1 
    | ХозрасчетныйОстаток.Организация КАК Организация 
    |ИЗ 
    | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков, Счёт В Иерархии (&СчётОстатков), , ) КАК ХозрасчетныйОстаток";

    и получаю ошибку: Таблица не найдена "РегистрБухгалтерии.Хозрасчетный.Остатки"
    • #5
    • 30.01.2025 19:50
    0
    С ComЗапрос, вроде можно работать, как и с прямым запросом, но при выполнении, выдаёт ошибку таблицы.
    Может, кто-нибудь подсказать, где я допустил, в коде ошибку?
    • #6
    • 30.01.2025 21:00
    0
    У Вас Счёт через ё написан. нужно заменить на е
    • #7
    • 30.01.2025 21:50
    0
    semen_g
    У Вас Счёт через ё написан. нужно заменить на е


    Это параметр, а не свойство. Попробую, но... За совет, благодарен!
    • #8
    • 30.01.2025 21:53
    0
    Запрос, конструктором писал, в базе приёмнике (разумеется, там работает). Но какого, ф...а, не работает при Коме? Ощущение, что может, понизить платформу. 1с-ники умеют подгадить.
    • #9
    • 30.01.2025 21:58
    0
    "ВЫБРАТЬ ПЕРВЫЕ 1
    | ХозрасчетныйОстаток.Организация КАК Организация
    |ИЗ
    | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков, Счет В Иерархии (&СчётОстатков), , ) КАК Хозрасчетный";

    Запрос.УстановитьПараметр("ДатаОстатков", ДатаОстатков);
    Запрос.УстановитьПараметр("СчётОстатков", Подключение.ПланыСчетов.Хозрасчетный.НайтиПоКоду("41.01"));

    Результат = Запрос.Выполнить(); // тут ошибка, типа таблица рб.х.о не найдена

    Я, в растерянности. Полдня, бьюсь головой об книги и экран, чтобы из Инета получить, хрен наны.
    • #10
    • 30.01.2025 22:00
    0
    semen_g, в любом случае, спасибо за участие!
    • #11
    • 30.01.2025 22:03
    0
    semen_g
    У Вас Счёт через ё написан. нужно заменить на е


    Ё, это я машинально, по-русски. А так, в запросе "е" идёт.
    • #12
    • 30.01.2025 23:46
    0
    Запрос.УстановитьПараметр("ДатаОстатков", Подключение.ЗначениеИзСтрокиВнутр("{""D"",20171201235959}"));
    Вместо 20171201235959 нужно подставить свою дату.
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться