Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 21:33
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: получить данные из регистра 7.7 по COM соединению  (Прочитано 10522 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alex_sysadm

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-26
  • Сайт: 
  • Профессия: Ученик 1С
Есть база 8.2 и есть другая база 7.7 В семерке регистр и процедура работы с этим регистром (получить простой отчет за период).
Задача - подключиться из 8-ки к базе 7.7 и получить этот отчет.


код, представленный ниже работает нормально.

База77  =  Новый COMОбъект("V77S.Application");
Открыта=База77.Initialize(База77.RMTrade ...
РасчетыСПокупателями=База77.CreateObject("Регистр.РасчетыСПокупателями");
...
   РасчетыСПокупателями.ВыбратьДвижения (НачДата, КонДата);
   Попытка
      Пока РасчетыСПокупателями.ПолучитьДвижение() = 1  Цикл
         Если РасчетыСПокупателями.Контрагент.Код = КодКонтрагента Тогда
            
            Сообщить (РасчетыСПокупателями.РасчДокумент.Вид() + "   Долг:" + РасчетыСПокупателями.Долг + "    Дата:" + РасчетыСПокупателями.РасчДокумент.ДатаДок);
         КонецЕсли;
      КонецЦикла
   Исключение
   // чтото не срослось...   
   КонецПопытки;


а вот этот код не работает:
...
РасчетыСПокупателями.ВременныйРасчет(1);
РассчитатьРегистрыНа(НачДата,);
РассчитатьРегистрыПо(КонДата,);

Пишет - метод не найден...
Подскажите, как в данной ситуации исполнить расчет регистра на заданный период?


Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
Текст ошибки писать следует полностью. На какую строчку то ругается? Ну вобще предполагаю что ошибка тут
РасчетыСПокупателями.ВременныйРасчет(1);
База77.РассчитатьРегистрыНа(НачДата,);
База77.РассчитатьРегистрыПо(КонДата,);

Оффлайн alex_sysadm

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-26
  • Сайт: 
  • Профессия: Ученик 1С
{Обработка.Выписка.Форма.Форма.Форма(52)}: Метод объекта не обнаружен (РассчитатьРегистрыНа)
   РасчетыСПокупателями.РассчитатьРегистрыНа(НачДата,);


Оффлайн alex_sysadm

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-26
  • Сайт: 
  • Профессия: Ученик 1С
{Обработка.Выписка.Форма.Форма.Форма(52)}: Ошибка при вызове метода контекста (РассчитатьРегистрыНа)
   База77.РассчитатьРегистрыНа(НачДата);   
по причине:
Неизвестная ошибка

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
Так попробуй.

ВремРегистры 	= База77.CreateObject("Регистры");
РасчетыСПокупателями=ВремРегистры.РасчетыСПокупателями;
РасчетыСПокупателями.ВременныйРасчет(1);
ВремРегистры.РассчитатьРегистрыНа(НачДата,);
Кнопочка Спасибо - слева!

Оффлайн alex_sysadm

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-26
  • Сайт: 
  • Профессия: Ученик 1С
Да, похоже прошла. Считала, правда очень долго (порядка 30-40 сек), хотя на 7 эта процедура выполняется мгновенно. Теперь затык строчкой ниже...


ТЗ=Новый ТаблицаЗначений ;
{Обработка.Выписка.Форма.Форма.Форма(59)}: Ошибка при вызове метода контекста (ВыгрузитьИтоги)
   РасчетыСПокупателями.ВыгрузитьИтоги(ТЗ,,);   
по причине:
Типы не совпадают (2)

Оффлайн alex_sysadm

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-26
  • Сайт: 
  • Профессия: Ученик 1С
а вот такой же практически код в 7 - выполняется без ошибок:
   РасчетыСПокупателями=СоздатьОбъект("Регистр.РасчетыСПокупателями");
   РассчитатьРегистрыПо(КонДата);
   ТЗ=СоздатьОбъект("ТаблицаЗначений");
   
   РасчетыСПокупателями.ВыгрузитьИтоги(ТЗ,,);   
   ТЗ.Свернуть("Контрагент,Валюта","Долг");
   ТЗ.ВыбратьСтроку();

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
ТЗ = База77.CreateObject("ТаблицаЗначений");
Таблицы значений мало того что в разных базах, так еще и разные в 7.7 и 8.
Кнопочка Спасибо - слева!

Оффлайн alex_sysadm

  • *
  • Сообщений: 37
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-01-26
  • Сайт: 
  • Профессия: Ученик 1С
Еще вопрос: Пытаюсь поставить фильтр по регистру:

РасчетыСПокупателями.УстановитьФильтр(Контрагент,,,,,);

Измерение "Контрагент" - это ссылка на Справочник.Контрагенты из семерки.
У меня известен код Контрагента - текст. Как получить ссылку на справочник, а то о5 несовпадение типов при установке фильтра...

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
Наверно как-то так
	Контрагент=База77.CreateObject("Справочник.Контрагенты");

Если Контрагент.НайтиПоКоду(КодКонтрагента) = 1 Тогда
РасчетыСПокупателями.УстановитьЗначениеФильтра("Контрагент",Контрагент.ТекущийЭлемент(),1);
КонецЕсли;
Кнопочка Спасибо - слева!


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
179 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 335
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal