|
v7: Какой-то бред с переносом через OLE | ☑ | ||
---|---|---|---|---|
0
toypaul
гуру
09.08.13
✎
14:58
|
Имеется код:
БСпрЮЛ = База.CreateObject("Справочник.ЮрЛица"); БСпрЮЛ.НайтиЭлемент(БСпр.ЮрФизЛицо.ТекущийЭлемент()); БСпрЮЛ.ИНН = Контрагент.ЮрФизЛицо.ИНН; БСпрЮЛ.Телефоны = СокрЛП(Контрагент.ЮрФизЛицо.Телефоны); БСпрЮЛ.ЮрАдрес = СокрЛП(Контрагент.ЮрФизЛицо.ЮрАдрес); БСпрЮЛ.ФактАдрес = СокрЛП(Контрагент.ЮрФизЛицо.ФактАдрес); БСпрЮЛ.ОКПО = Контрагент.ЮрФизЛицо.ОКПО; БСпрЮЛ.Записать(); БСпрЮЛ.НайтиЭлемент(БСпр.ЮрФизЛицо.ТекущийЭлемент()); Сообщить(БСпрЮЛ.ЮрАдрес); Выдает в конец обновленный адрес в базе приемнике. ЮрАдрес был неограниченный. Сделал ограниченный в обеих базах. Всеравно = захожу в базу приемник, адрес пустой. У меня на компе (XP) работает! Чо за бредятина? У меня 25 релиз, у клиента 27 Win 7 |
|||
1
ЧеловекДуши
09.08.13
✎
14:59
|
(0) Win 7 - Тебе нечего не говорит? :)
|
|||
2
zak555
09.08.13
✎
15:00
|
xml наше всё
|
|||
3
toypaul
гуру
09.08.13
✎
15:00
|
(1) ичо? думаешь в этом причина? а можно ссылку почитать у кого также было и что делать.
|
|||
4
toypaul
гуру
09.08.13
✎
15:01
|
(2) да хоть через что можно сделать. просто подляна такая. снова переписывать - часы увеличивать.
|
|||
5
zak555
09.08.13
✎
15:02
|
(4) на КД большая часть переноса мышкой делается =)
|
|||
6
toypaul
гуру
09.08.13
✎
15:04
|
(5) а космонавты в космос летают. и чо? КД умеет из дублей выбрать правильный и обновить нужные реквизиты в приемнике?
|
|||
7
zak555
09.08.13
✎
15:05
|
(6) конечно
|
|||
8
1Сергей
09.08.13
✎
15:05
|
(4) Вот такой недальновидный Нуралиев - не смог предугадать в далёком 1999-ом году, что появится такая система, как Windows 7
|
|||
9
toypaul
гуру
09.08.13
✎
15:08
|
(8) 27й релиз 2006 год. тогда была уже 7ка?
|
|||
10
1Сергей
09.08.13
✎
15:09
|
(9) нет
|
|||
11
ЧеловекДуши
09.08.13
✎
15:10
|
(9) Вин Виста (пролетела со свистом)
|
|||
12
ЧеловекДуши
09.08.13
✎
15:10
|
8 ноября 2006 (RTM)
30 января 2007 (продажи) Windows Vista 6.0.6001 / SP2 Build 6002 (25 мая 2009) 13 апреля 2010 (RTM); 22 октября 2010 (retail); 12 июля 2011 (SP1); 22 октября 2011 (SBL); 10 апреля 2012 (осн.); 11 апреля 2017 (ext) wiki:Microsoft_Windows |
|||
13
toypaul
гуру
09.08.13
✎
15:10
|
ну ... ладно :)
режим совместимости поможет? или пусть на XP переносят? |
|||
14
ЧеловекДуши
09.08.13
✎
15:11
|
+ 30 января 2007 (продажи) ужо была предпосылка :)
|
|||
15
1Сергей
09.08.13
✎
15:14
|
(13) на вин 7 32 бита можно попытаться
|
|||
16
ЧеловекДуши
09.08.13
✎
15:14
|
(13) ХЗ... там проблема в разности кодировки :)
Попробуй вставить, почти везде "Сообщить(СокрЛП(БСпрЮЛ.<ИмяРеквизита>));" |
|||
17
1Сергей
09.08.13
✎
15:15
|
(16) не в кодировке, а в регистрации OLE-механизма в системе. С кодировкой проблема решаема
|
|||
18
ЧеловекДуши
09.08.13
✎
15:17
|
(17) Да? Все ровно как ни крути, косяк на косяке... Что решается в одном месте, тут же выстреливает в другом :)
Проще кастрировать Админов и заставить их везде поставить XP СП3 :) |
|||
19
Ёпрст
09.08.13
✎
15:31
|
(0)
а так ?, на всякий.. БСпрЮЛ.УстановитьАтрибут("ЮрАдрес", Контрагент.ЮрФизЛицо.ПоуучитьАтрибут("ЮрАдрес")); |
|||
20
Ёпрст
09.08.13
✎
15:32
|
Ну и.. проще в родной базе лепить элементы, чем в оле-базе.
|
|||
21
toypaul
гуру
09.08.13
✎
15:43
|
(19) я плюнул уже. пусть на XP пробуют. не выйдет если, попробую так.
(20) в родной базе не получится по алгоритму. |
|||
22
Ёпрст
09.08.13
✎
15:46
|
(21) ну, тогда еще проше - запусти что-то в базе оде с параметрами, что слепит тебе эти элементы "там" само.
|
|||
23
Ёпрст
09.08.13
✎
15:46
|
либо обработку, либо глоб функцию/процу.
|
|||
24
arian_
09.08.13
✎
15:49
|
Вместо вот этой строки
БСпрЮЛ.НайтиЭлемент(БСпр.ЮрФизЛицо.ТекущийЭлемент()); попробуйти вот так БСпрЮЛ.НайтиПоКоду(БСпр.ЮрФизЛицо.Код,0); Если же этот справочник зависимый, то тогда с использованием ИспользоватьВладельца |
|||
25
arian_
09.08.13
✎
15:55
|
Минутку. А Контрагент - это справочник источника? Вообще с Оле может быть проблема только в том, присвоение значений между внешней и внутренней базой может производиться только по простым типам.
|
|||
26
arian_
09.08.13
✎
15:58
|
Как то так!
КлиентОле = База.CreateObject("Справочник.Контрагенты"); КлиентОле.НайтиПоКоду(Контрагент.Код,0); БСпрЮл.ИспользоватьВладельца(КлиентОле.ТекущийЭлемент()); БСпрЮЛ.НайтиПоКоду(Контрагент.ЮрФизЛицо.Код,1); БСпрЮЛ.ИНН = Контрагент.ЮрФизЛицо.ИНН; БСпрЮЛ.Телефоны = СокрЛП(Контрагент.ЮрФизЛицо.Телефоны); БСпрЮЛ.ЮрАдрес = СокрЛП(Контрагент.ЮрФизЛицо.ЮрАдрес); БСпрЮЛ.ФактАдрес = СокрЛП(Контрагент.ЮрФизЛицо.ФактАдрес); БСпрЮЛ.ОКПО = Контрагент.ЮрФизЛицо.ОКПО; БСпрЮЛ.Записать(); |
|||
27
Ёпрст
09.08.13
✎
16:01
|
(26) да уж..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |