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

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

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

Траблы с ОЛЕ

GamSer
читатель
офлайн
Дата регистрации: 03.02.2006
Сообщений: 7
Пост №1
 
03.02.2006 09:31

"V7=СоздатьОбъект("V77.Application");<br>Команда="/d"+ПутьКДанным; <br>Открыта=V7.Initialize(V7.RMTrade,Команда,"NO_SPLASH_SHOW");<br>Импорт=V7.CreateObject("Документ.ДокСТабличнойЧастью");<br>Импорт.ВыбратьДокументы();<br>Док=СоздатьОбъект("Документ.Итоги")<br>Пока Импорт.ПолучитьДокумент()=1 Цикл<br>//Реквизиты шапки здесь все ОК - реквизиты из ОЛЕ достаются и присваиваются<br>Док.ДатаДок=Импорт.ТекущийДокумент().ДатаДок;<br>Док.Начало=Импорт ТекущийДокумент().Начало;<br>//Теперь табличная часть<br>Док.НоваяСтрока();<br>СуммаДолга=0;<br>Для Счетчик=1 по Импорт.ТекущийДокумент().КоличествоСтрок() Цикл<br>//Количество строк считает, зараза!<br>Импорт.ТекущийДокумент().ПолучитьСтрокуПоНомеру(Счетчик);<br>//И строку получает т.е. Импорт.ТекущийДокумент().ПолучитьСтрокуПоНомеру(Счетчик)=1<br>//А вот реквизит табличной части - фига с дрыгой<br>СуммаДолга=СуммаДолга+Импорт.ТекущийДокумент().Сумма; //Равно нулю и так 40 раз<br>КонецЦикла;<br><br>Как добыть реквизит табличной части или это глюк навеки?"

галина
читатель
офлайн
Дата регистрации: 25.09.2001
Сообщений: 55
Пост №2
 
03.02.2006 11:38

Чтобы получить строку по номеру, сначала надо использовать метод Импорт.ВыбратьСтроки().

GamSer
читатель
офлайн
Дата регистрации: 03.02.2006
Сообщений: 7
Пост №3
 
03.02.2006 11:55

Ну да. Это отвлеченный пример, просто удалял фрагменты кода - обработка здоровенная ну видать и выбрать строки прихватил. Не работает и с ВыбратьСтроки()

галина
читатель
офлайн
Дата регистрации: 25.09.2001
Сообщений: 55
Пост №4
 
03.02.2006 15:37

"В свое время скачивала с proclub универсальную обработку по переносу любых объектов из одной конфигурации в точно такую же и переделывала под себя. Если Вас Импорт - OLE- объект - документ , имеющий табличную часть ( посмотрите в отладке , чему равно Импорт.Вид(), то м.б. У Вас ТекущийДокумент() - Лишнее. У меня работало просто<br><br>Импорт.ВыбратьСтроки()<br>Пока Импорт.ПолучитьСтроку() = 1 Цикл<br>Док.НоваяСтрока()<br>Для А=1 по Метаданные.Док(Вид).РеквизитТабличнойЧасти() Цикл <br>Идентификатор = Метаданные.Док(Вид).РеквизитТабличнойЧасти(А).Идентификатор; <br>Тип       = Метаданные.Док(Вид).РеквизитТабличнойЧасти(А).Тип; <br>Реквизит = Импорт.ПолучитьАтрибут(Идентификатор); <br>.....<br>Значение = Реквизит<br>.......... <br>Если ПустоеЗначение(Значение) = 0 Тогда<br>Док.УстановитьАтрибут(Идентификатор,Значение); <br>КонецЕсли;<br>и т. д <br><br>Но здесь пропущено часть кода ибо, если тип реквизита табличной части - документ или справочник или перечисление или неопределенный то Значение не равно Реквизит.<br>"

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

Читают тему:

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