проблемы с COM

  1. 9 г. назад
    21.11.2014 14:55:52 отредактировано Stim

    обычные формы, файловые базы.
    вот такой код работает:

    в базе С\:МояБаза\

    обмен =Обработки.УниверсальныйОбменДаннымиXML.Создать();
    обмен.ИмяФайлаОбмена = "С\:МояБаза\выгрузка.xml";
    обмен.РежимОбмена = "Загрузка";
    обмен.ОткрытьФайлЗагрузки(Истина);
    обмен.ВыполнитьЗагрузку();
    
    Сообщить(обмен.ФлагОшибки); //возвращает ИСТИНА

    а этот код вызывается из базы С\:МояБаза2\:

    ИмяБазы = "С\:МояБаза" ;
    СтрокаПодключения = "File = " + """" + СокрЛП(ИмяБазы) + """");		
    ОбъектПодключения = Новый COMОбъект("V83.ComConnector");	
    v8 = ОбъектПодключения.Connect(СтрокаПодключения);
    обмен = v8.Обработки.УниверсальныйОбменДаннымиXML.Создать();
    обмен.ИмяФайлаОбмена = "С\:МояБаза\выгрузка.xml";
    обмен.РежимОбмена = "Загрузка";
    обмен.ОткрытьФайлЗагрузки(Истина);
    Сообщить(обмен.ФлагОшибки);	//возвращает ЛОЖЬ

    почему?
    юзерс1св8 не может прочесть файл обмена? как ему его передать?

    Ответы: (3)
  2. вот так вот и записано? С\:МояБаза2\
    после сп-1 вынь 7, никого не пускает к системному разделу (диск Ц). Без авторизации, или выколупыввания из политик.

    Ответы: (2) (5)
  3. Идун вот так вот и записано? С\:МояБаза2\

    нет, записан путь к папке на моем рабочем столе

  4. 21.11.2014 15:15:04 отредактировано Lenka_Boo

    (0) Что-то я не пойму.. Из какой в какую базу ты хочешь выгрузить?
    Если обработку запускаешь из восьмерки, то зачем вообще нужен файл? Создавай или забирай объекты из семерки напрямую.

    Ответы: (4) (5)
  5. (3) я из БП 2.0 в БП 2.0 перегружаю.
    что значит "зачем нужен файл" ? как ты через обработку УниверсальныйОбменДаннымиXML загрузишь данные? нужно её передать файл xml в любом случае

    Ответы: (6)
  6. (1)(3) Сразу вас предупреждаю - Стимка деньгами не делится.

  7. (4) т.е. у тебя обе базы семерошные?

    Ответы: (7) (8)
  8. Lenka_Boo т.е. у тебя обе базы семерошные?

    Лена!

    Ответы: (10)
  9. (6) Не тормози - сникерси (С)
    cute_smiley12.gif
    Восьмерки. Обе.

  10. 21.11.2014 15:30:26 отредактировано Lenka_Boo

    А, ну да.
    Ну так передавай напрямую. Зачем тебе файл промежуточный?

    Ответы: (12)
  11. (7) На шару хрюшную бросай, там где пароль-логин не нужен (включен гость и ему даны права на шару). Я файлопомойку на фряхе держу, в том числе для одноэсо-верверных выкрутасов, иначе "влехкую" файло не будет доступно.

  12. 21.11.2014 15:35:04 отредактировано Дядя Вася

    Дать права на файл пользователю user1cv8 уже предлагали? Стимка просто поражает содержательностью вопросов...

    Ответы: (15)
  13. Lenka_Boo Ну так передавай напрямую. Зачем тебе файл промежуточный?

    *бьется головой о стену*

  14. -image- Че я такого сказала?

  15. коллеги, кто не знает принцип работы обработки универсального обмена хмл просьба не захламлять ветку

  16. (11) хоспадддиии..
    инвалиды с костылями пжл в соседний кабинет

    Ответы: (16)
  17. (15) То есть ты считаешь, что для того чтобы прочитать что-нибудь ненужное, нужно сначала дать права на это что-нибудь ненужное это костыли? Ты просто поражаешь своим интеллектом.

    Ответы: (17) (21)
  18. (16)+ Расскажи потом как тебе удалось прочитать файл не имея на то прав. Может я что-то не знаю...

    Ответы: (18) (21)
  19. (17) второе

    Ответы: (19) (21)
  20. (18) То есть ты утверждаешь что возможно прочитать файл не имея прав на чтение этого файла? ))
    Если ты что-то не понял, то читать его пытается user1cv8 у которого на него нет прав. Я предложил права ему эти дать. По твоему мнению это костыли. :)

    Ответы: (20)
  21. 21.11.2014 15:52:06 отредактировано Stim

    (19) бляя, вот ты трудный

  22. Дядя Вася (16)+ Расскажи потом как тебе удалось прочитать файл не имея на то прав. Может я что-то не знаю...

    Stim (17) второе

    С нетерпением жду как ты меня научишь убогого читать файл без прав. Мне правда интересно )

  23. 21.11.2014 15:55:28 отредактировано Stim

    вася, ты с УФ работал когда-нибудь?

    Расскажи мне, что ты будешь делать, когда файл выбирается на клиенте, а обрабатывается на сервере?
    давай подскажу - каждому выбираемому файлу даем права юзера usr1cv82(под которым запущен сервер) на чтение, я угадал??

    Ответы: (23)
  24. (22) Смотря кем он выбирается. В данном случае ты по оле цепляешься к 1с и выбирает она, а не ты.

    Ответы: (24)
  25. (23)+ Просто попробуй дать конкретному пользователю права. Если не поможет, значит выбирает не он, и я не прав. Если поможет, значит не поможет ничего другое (ну кроме вариантов типа дать доступ всем, что то же самое).

  26. разобралсо.
    права здесь не при чем

    Ответы: (26)
  27. (25) и что тама было? две-точечки не на месте?

    Ответы: (27) (28)
  28. (26) А он не скажет, потому что сливаться не умеет )

  29. (26) файл был доступен сам по себе. но был "занят" для того, чтобы использоваться обработкой хмл

    Ответы: (30) (31)
  30. чёта я не увидел текст ошибки (

  31. (28) кем занят?

  32. (28) Блокировка на чтение? Думаешь поверю? )

    Ответы: (32) (34)
  33. (31) такое бывает, поверь

    Ответы: (33)
  34. (32) ну если этот файл sam, то конечно ) Только здесь немножко не тот случай. Разве что эска для чтения пытается его открыть на полный доступ, дабы в процессе загрузки кто-нибудь не переписал. Только вот кто мог держать файл выгрузки..

    Ответы: (36) (39)
  35. (31) я хз кем он держится. копию обрабатывал без проблем

    Ответы: (37)
  36. + потом выложу статью по обмену, обещаю будет интересно

  37. (33) sam залочен на уровне прав, а не на уровне блокировки на чтение

    Дядя Вася Только вот кто мог держать файл выгрузки..

    например, тот, кто его писал

    Ответы: (38) (40)
  38. (34) То есть скопировать все-таки получилось? Стим, а стим, а где ты копию-то обрабатывал? Ась? Может ты его в другой каталог копировал, где с правами все в порядке? :)

  39. (36) Про sam я образно, суть в том что системные всякие на чтение-то блокируют, а не xml'ки с выгрузкой.

    Ответы: (43)
  40. Открыл в комнить блокноте и забыл закрыть. я помню как-то с час мучался, с другого компа открыл по сети. Но тоже плюс, познакомился с унлокером.
    (33) Сама эска может держать, на сбойном вылете, файловая отпускает, а вот сервер злой.

  41. andrewks например, тот, кто его писал

    да. у меня хитрая система, когда код, вызывающий обработку обмена хмл - находится в самих правилах обмена, в разделе ПослеВыгрузки.
    И, судя по всему, в этом обработчике файл обмена еще не "отпущен"

  42. + и это очень фигово, однако.

    Ответы: (42)
  43. (41) ну, проверяй на флаг ошибки, и делай повторные попытки чтения.

    или - в процессе выгрузки задавай имя файла другое, а потом, после окончания - переименовывай в нужное

    Ответы: (44)
  44. (38) что, ни разу не сталкивался с блоком файла хмл при записи оного?

    Ответы: (48)
  45. (42) нифига. там такой код:

    Выполнить(ПолучитьСтрокуВызоваОбработчика(Конвертация, "ПослеВыгрузкиДанных"));

    и только потом

    ЗакрытьФайл();

    Ответы: (46)
  46. + но разве это остановит благородного дона, которому уже домой пора идти, а он на работе!!

  47. (44) ты прочитай внимательно, что я написал-то

    Ответы: (49)
  48. + хотя, фиг с тобой, вали домой, пока я добрый :)

  49. (43) На чтение?

    Ответы: (50)
  50. (46) я прочитал, ты не о том говоришь

  51. (48) да

  52. + у меня в правилах в обработчике ПослеВыгрузкиДанных написан код, который обращается собстно к файлу выгрузки.

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

  53. т.е. если не изменять обработку унив обмена( что оч хотелось бы) нужно как-то записать записываемый файл выгрузки в другой файл. т.е. открытый файл обмен1 надо записать в файл обмен2, перенеся в него все строки.
    но как получить строки с объекта ЗаписьТекста??

  54. впринципе можно его Закрыть(), скопировать куда надо, потом открыть и пусть обработка с ним делает что хочет.
    да, так и сделаю!

или зарегистрируйтесь чтобы ответить!