|
v7: Табличная часть документа по OLE | ☑ | ||
---|---|---|---|---|
0
mirko
18.08.16
✎
17:12
|
Нужно перенести часть данных из документа Реализация (ТиС) по OLE в другую базу.
С номером документа и датой проблем нет, все передается, а реквизиты табличной части (например наименование) передаются, как «OLE». Причем из той же табличной части количество, цены, сумма передаются корректно. Процедура ПереносРеквизитов() ДатаНачало = НачНедели(РабочаяДата()); ДатаКонец = РабочаяДата(); БазаОле=СоздатьОбъект("V77.Application"); // Получаем доступ к OLE объекту 1С КаталогБазыОле = "E:\1c\work-bases\DB\"; ПользовательОле = "user"; ПарольОле = "12345"; МонопольныйРежимOLE = ""; // default /m для немонопольного запуска указать пустую строку! ЗапускБезЗаставки = 0; // для появления заставки (например, чтобы наблюдать // процесс запуска базы OLE визуально) поставьте здесь "0" РезультатПодключения = БазаОле.Initialize ( БазаОле.RMTrade , "/d" + СокрЛП(КаталогБазыОле) + " /n" + СокрЛП(ПользовательОле)+ " /p" + СокрЛП(ПарольОле) + МонопольныйРежимOLE, ?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW","")); Если РезультатПодключения = 0 Тогда Предупреждение("Не удалось подключится к указанной базе - проверьте вводные!"); КонецЕсли; ДокОле = БазаОле.CreateObject("Документ.Реализация"); ДокОле.ВыбратьДокументы(ДатаНачало, ДатаКонец); Сообщить ("Синхронизируем документы реализации...",""); Пока ДокОле.ПолучитьДокумент() = 1 Цикл Сообщить (ДокОле.НомерДок); Сообщить (ДокОле.ДатаДок); ДокОле.ВыбратьСтроки(); Пока ДокОле.ПолучитьСтроку() = 1 Цикл Сообщить (ДокОле.Номенклатура); Сообщить (ДокОле.Количество); Сообщить (ДокОле.Сумма); КонецЦикла; КонецЦикла; КонецПроцедуры Как сделать корректный перенос Наименования? Может дело в том, что Наименование в документе загружается из справочника? Хотя проверка получения реквизитов непосредственно в донорской базе не выявила проблем: там наименование запросто извлекается перебором строк. |
|||
1
Зая Бусечка
18.08.16
✎
17:13
|
Сообщить (ДокОле.Номенклатура.Наименование);
|
|||
2
hhhh
18.08.16
✎
17:16
|
через ole передаются только примитивные типы: строка, чило, дата. Всё остальное не передается.
|
3 |
||
3
Chameleon1980
18.08.16
✎
19:54
|
||||
4
Злопчинский
18.08.16
✎
20:07
|
в Книге знаний есть хорошо разжевано
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |