Подключение по Оле в 7.7

1. user930087 26.10.20 18:47 Сейчас в теме
Бухгалтерия 7.7 и тис 7.7 подключаюсь по Оле, подключение проходит, затем надо получить остаток товара из тис.
Делаю рег = Оле.createobject(“регистр.остаткитмц»);
Затем пытаюсь получить остаток таким способом:
Остаток = рег.остаток(,спроле.текущийэлемент(),,,»количество»);
В спроле содержится ссылка на справочник номенклатура в тис, в отладчике проверил, при выполнении выдаёт плохой тип переменной. Что не так делаю? Заранее спасибо. И ещё - как можно получить остаток на конкретную дату и по конкретному товару?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1464234 26.10.20 19:13 Сейчас в теме
Добавляйте в глобальный модуль базы - источника экспортную функцию, которая вернет вам остатки по строке, содержащей список кодов товаров(к примеру).
Остатки можно получить как обычно (запросом, вызовом глобальной функции).
Ваш способ можно использовать в режиме evalexpr, когда значение выражения вычисляется в контексте базы -источника. Но оно возвращает строку,которую придется преобразовать в число или использовать буфер. Обычно в типовых7.7 есть что то наподобие
Функция ГлРавно(получатель, источник) экспорт
Получатель=источник;
Возврат ""
КонецФункции
Которая и используется в выражении evalexpr в вашей базе .
То есть ваш способ будет примерно таким
Оле.evalexpr("Глравно(остаток, олерегистр.остаток(олетмц, олесклад,,"""кво"'",)")
5. user930087 27.10.20 11:53 Сейчас в теме
(2) а почему тогда везде указано что можно напрямую обращаться к регистру по Оле?
6. user1464234 27.10.20 12:54 Сейчас в теме
(5) можно еще так попробовать
РегОле.установитьфильтр("тмц",олетмц);
Реголе.выгрузитьитоги(тз);
А дальше перебор таблицы значений.
Выгрузка итогов из регистра работает и без установки фильтров
7. user930087 28.10.20 16:06 Сейчас в теме
(6) почему-то типа не выгружает итоги и почему-то под отладчиком не могу просмотреть количество строк тз типа не понимает команды, тз создаю на Оле, иначе не понимает переменную
3. VladimirB 17 27.10.20 08:00 Сейчас в теме
спроле - это тоже OLE-объект?
спрОЛЕ=Оле.createobject(“Справочник.КакойТоСправочник"); ?
4. user930087 27.10.20 11:52 Сейчас в теме
8. user1464234 28.10.20 16:08 Сейчас в теме
Сообщить Олетз.количествострок()
9. user930087 28.10.20 16:15 Сейчас в теме
(8) почему-то не работает если ставить фильтр, без фильтра все нормально
10. user1464234 28.10.20 16:24 Сейчас в теме
(9) значит evalexpr или лезть в код источника.
Фильтр это функция, возвращает успех или нет, значит evalexpr можно
Оставьте свое сообщение

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