|
Запуск внешней обработки для загрузки данных | ☑ | ||
---|---|---|---|---|
0
OleskaG
06.11.15
✎
16:16
|
Добрый день!
Есть CRM 1С 8.3 sql-серверная. В нее обработкой загружаются данные из 1С 7.7 (самописная). Когда CRM была файловой все работало нормально, без проблем. Поставили сервер, и все стало. При нажатии кнопки ЗагрузитьНоменклатуру запускается процедура ЗагрузитьНоменклатуру(Команда) и все, дальше никаких движений, 1С-ка виснет окончательно. Что делать? Спасибо. Сама обработка &НаСервере Процедура ЗагрузитьНоменклатуруНаСервере() Экспорт глСоединение = Неопределено; Если глСоединение = Неопределено Тогда ВерсияПлатформы = "V77"; Путь = "D:\1C\DB77"; Пользователь = "Системный"; Пароль = "123"; ВыборТипаПодключения = 1; Попытка ОбъектПодключения = ВерсияПлатформы +".Application"; vConnector = Новый COMОбъект(ОбъектПодключения); СтрокаСоединения = "/D"""+СокрЛП(Путь)+""""; init = vConnector.Initialize(vConnector.RMTrade,СтрокаСоединения,"NO_SPLASH_SHOW"); Если init Тогда Сообщить("БАЗА ОТКРЫТА УСПЕШНО!"); Иначе Сообщить("Ошибка открытия информационной базы!"); Конецесли; глСоединение = vConnector; Исключение СтрокаСообщенияОбОшибке = "При попытке соедиения с COM-сервером произошла следующая ошибка:" + Символы.ПС + ОписаниеОшибки(); #Если Клиент Тогда Сообщить(СтрокаСообщенияОбОшибке, СтатусСообщения.Важное); Состояние("Соединение установить не удалось"); Состояние(); #КонецЕсли глСоединение = Неопределено; КонецПопытки; КонецЕсли; ВыборкаЭлементов = глСоединение.CreateObject("Справочник.Продукция"); // текст выборки... Сообщить("Загружено новых - " + СокрЛП(Загружено)); КонецПроцедуры &НаКлиенте Процедура ЗагрузитьНоменклатуру(Команда) ЗагрузитьНоменклатуруНаСервере(); КонецПроцедуры |
|||
1
mxs089
06.11.15
✎
16:17
|
путь относительно сервера
|
|||
2
mxs089
06.11.15
✎
16:17
|
+ семерка на сервере должна быть установлена
|
|||
3
MadJhey
06.11.15
✎
16:19
|
инициализация 7.7 не проходит
|
|||
4
stix2010
06.11.15
✎
16:19
|
путь на сервере отличается от клиентского + права для пользователя от которого запущен сервер + 7.7
|
|||
5
OleskaG
06.11.15
✎
16:20
|
Путь серверный и 7-ка на сервере стоит.
Дело в том, что выполнение даже не доходит процедуры ЗагрузкаНоменклатурыНаСервере. |
|||
6
stix2010
06.11.15
✎
16:20
|
+ еще 7 выкидывает окно для регистрации базы
|
|||
7
OleskaG
06.11.15
✎
16:23
|
(6) Это да, я специально из "СтрокаСоединения = "/D"""+СокрЛП(Путь)+"""";" убрала пользователя и пароль, чтобы увидеть запрашивает ли базу 7-ки.
И она ее не запрашивает :( |
|||
8
mxs089
06.11.15
✎
16:23
|
потому что на сервере
|
|||
9
stix2010
06.11.15
✎
16:24
|
а где это было видно? НаСервере?
|
|||
10
VikingKosmo
06.11.15
✎
16:24
|
(7) Что ты на сервере собираешься увидеть то?
|
|||
11
MadJhey
06.11.15
✎
16:24
|
Сообщить переделать на запись в журнал регистрации.
|
|||
12
VikingKosmo
06.11.15
✎
16:25
|
(11) или на СообщениеПользователю
|
|||
13
Мимохожий Однако
06.11.15
✎
16:26
|
Отладчик пыталась включать?
|
|||
14
OleskaG
06.11.15
✎
16:26
|
(11) А что это даст?
У меня выполнение до команды "Сообщить" не доходит. |
|||
15
OleskaG
06.11.15
✎
16:26
|
(13) Да, конечно, им собственно и увидела что движений нет вообще.
|
|||
16
MadJhey
06.11.15
✎
16:27
|
(14) откуда это известно. Отладчик? База в режиме debug?
|
|||
17
Мимохожий Однако
06.11.15
✎
16:28
|
До какой строчки добралась отладчиком?
|
|||
18
MadJhey
06.11.15
✎
16:29
|
(17) да у нее наверно отладчик на сервер не заходит.
|
|||
19
OleskaG
06.11.15
✎
16:30
|
(17) Вот до этой ЗагрузитьНоменклатуруНаСервере()
&НаКлиенте Процедура ЗагрузитьНоменклатуру(Команда) ЗагрузитьНоменклатуруНаСервере(); КонецПроцедуры |
|||
20
VikingKosmo
06.11.15
✎
16:31
|
(19) не мучай публику в пятницу то, включи уже отладку на сервере
|
|||
21
OleskaG
06.11.15
✎
16:32
|
(20) Я бы рада не мучить, только что ж мне одной мучиться :).
Скажите, что я делаю не так и как правильно, пожалуйста. |
|||
22
VikingKosmo
06.11.15
✎
16:32
|
(21) ты не включила серверную отладку
|
|||
23
OleskaG
06.11.15
✎
16:33
|
(22) а как ее включить?
|
|||
24
VikingKosmo
06.11.15
✎
16:34
|
(23) гугль не предлагать?
|
|||
25
olegves
06.11.15
✎
16:34
|
(0) сервер и клиент - разные компьютеры, отсюда и проблема
|
|||
26
stix2010
06.11.15
✎
16:35
|
ха ха ха
|
|||
27
mxs089
06.11.15
✎
16:35
|
попробуй запустить 1с и пропиши в командной строке format c:
|
|||
28
stix2010
06.11.15
✎
16:36
|
(21) замуж, срочно замуж :)
|
|||
29
OleskaG
06.11.15
✎
16:37
|
(28) уже...
|
|||
30
Мимохожий Однако
06.11.15
✎
16:39
|
Не помогло...Тогда только гугла
|
|||
31
stix2010
06.11.15
✎
16:39
|
включить параметр -debug в строке запуска сервиса 1с,
на компьютере с сервером 1с запустить 7.7 базу под учеткой пользователя под которым запускается сервер 1С. |
|||
32
MadJhey
06.11.15
✎
16:43
|
На сервере. Запустить regedit. Найти строку вроде -
"C:\Program Files (x86)\1cv8\8.3.4.437\bin\ragent.exe" -debug -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:\Program Files (x86)\1cv8\srvinfo" в строке -debug уже добавлен. Перезапустить службу агента 1с. Не забыть выгнать пользователей. |
|||
33
OleskaG
06.11.15
✎
16:47
|
(31) "включить параметр -debug в строке запуска сервиса 1с"
это сейчас админ сделает, погуглила, не все потеряно... Заработает режим отладки. (25) они и раньше были разные компы, когда была файловая, но работало же... |
|||
34
olegves
06.11.15
✎
16:53
|
когда была файловая, но работало же(33) файловая уже подразумевает отсутствие сервера - вся работа 1С на клиенте
|
|||
35
olegves
06.11.15
✎
16:57
|
Сервер 1С на своем диске D не находит базы 7.7:
Путь = "D:\1C\DB77"; |
|||
36
stix2010
06.11.15
✎
17:01
|
(33) раньше у тебя в файловом на компьютере пользователя работала "ЗагрузитьНоменклатуруНаСервере()", а теперь на сервере и контекст там теперь серверный.
|
|||
37
OleskaG
06.11.15
✎
17:02
|
(35) Но она там есть.
|
|||
38
stix2010
06.11.15
✎
17:08
|
запуск 7 на сервере проверен?
|
|||
39
OleskaG
06.11.15
✎
17:09
|
(38) Да, она там запускается.
|
|||
40
Мимохожий Однако
06.11.15
✎
17:09
|
Давай же скорее включи отладчик
|
|||
41
olegves
06.11.15
✎
17:11
|
(37) она есть на клиенте, на котором стартует внешняя обработка, а сервер 1С - это другой компьютер.
Позови, наконец, админа |
|||
42
stix2010
06.11.15
✎
17:16
|
Кстати толстый клиент или УФ?
|
|||
43
stix2010
06.11.15
✎
17:23
|
скорее всего все настроено нормально,
читаем последний пост http://forums.kuban.ru/f1040/podklyuchenie_iz_8_2_k_7_7_po_ole-3397614.html, и курим параметры командной строки 8 на запуск в ТК. |
|||
44
stix2010
06.11.15
✎
17:32
|
а не, не то, не параметры командной строки, я думал это автоматом обработка при старте загружает, а тут просто
соединение в управляемом приложении инициализироваться должно &НаКлиенте |
|||
45
OleskaG
09.11.15
✎
09:17
|
Доброе утро!
Апну темку. Отладчик запустила, дошла до строки vConnector = Новый COMОбъект(ОбъектПодключения); |
|||
46
Aleksandr N
09.11.15
✎
09:38
|
(45) Скорее всего путь к базе неправильно указан.
|
|||
47
OleskaG
09.11.15
✎
09:39
|
Изменила на
ВерсияПлатформы = "V77s"; и дошла до init = vConnector.Initialize(vConnector.RMTrade,СтрокаСоединения,"NO_SPLASH_SHOW"); а дальше висит. |
|||
48
MaxS
09.11.15
✎
09:44
|
Повторю совет (31)
При первом запуске 7-ки на предлагает записать базу в список баз. Вот поэтому и висит. |
|||
49
OleskaG
09.11.15
✎
10:09
|
(48) передала админу, так и сделал, все равно виснет.
|
|||
50
MaxS
09.11.15
✎
10:33
|
(47) убрать "NO_SPLASH_SHOW" и попробовать. Может быть будет видно в чем дело
|
|||
51
OleskaG
09.11.15
✎
10:41
|
Переделала
Поставила подключение с базе 7-ки на клиенте, а на сервер передаю уже переменную глСоединение. Выдает следующее {Форма.ФормаОсновная.Форма(141)}: Ошибка при вызове метода контекста (ЗагрузитьНоменклатуруНаСервере) ЗагрузитьНоменклатуруНаСервере(глСоединение); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'param': форма: Элемент имя: {http://v8.1c.ru/8.2/managed-application/modules}param по причине: Ошибка отображения типов: Отсутствует отображение для типа 'COMОбъект' |
|||
52
OleskaG
09.11.15
✎
11:37
|
Разобралась, ком нельзя передавать. Создала на форме таблицузначений, наклиенте сделала в нее выборку, и передаю насервер.
|
|||
53
Aleksandr N
10.11.15
✎
23:31
|
(52) Это можно было сделать без создания реквизита формы, а, например, через массив структур. А потом передавать его на сервер.
|
|||
54
Franchiser
гуру
10.11.15
✎
23:51
|
Виснет от того что база на сервере не зарегистрирована в списке баз.
Ее нужно там зареггить. Есть еще одна проблема: если у вас сервер стартует не под system, то в 1 момент времени будет возможно только 1 ком-подключение к 7.7. Из за этих причин пришлось переписать подключение на клиента, а затем на прямой запрос к скулю. |
|||
55
trooba
11.11.15
✎
01:51
|
(52) Конечно нельзя. Строка, число, текст. Можно в строку превратить данные, а на входе из строи в данные преобразовать. Смекаешь?
|
|||
56
trooba
11.11.15
✎
01:56
|
(52) Com Это твой объект там. Ты можешь к нему обратиться, как к объекту, получить данные на той стороне, поиграть с ними на той стороне. Передавать на эту сторону не так все просто. Через код, строка, наименование.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |