|
Получение ссылки на документ через ЗначениеИзСтрокиВнутр() | ☑ | ||
---|---|---|---|---|
0
LisaAlisa
16.09.15
✎
09:13
|
Добрый день!
Из 8.3 подключаюсь к 7.7, имея при этом IDDOC документа. Код следующий: ОбъектВнутреннегоФормата = Строка(ComОбъект77._StrToId(Лев(СтрокаТЧ.IDDOC_Удаляем,6))); ОбъектВнутреннегоФормата = СтрЗаменить(ОбъектВнутреннегоФормата,Символ(160),""); ОбъектВнутреннегоФормата = Прав(" "+ОбъектВнутреннегоФормата+" ",13); Стр = "{""O"",""0"",""0"",""130"",""0"",""0"","""+ОбъектВнутреннегоФормата+"""}"; СтрИд = СтрЗаменить(Стр, """", """"""); СсылкаНаОбъект =ComОбъект77.ЗначениеИзСтрокиВнутр(СтрИд,); ------ здесь ошибка при этом для конкретного документа СтрИд = "{""O"",""0"",""0"",""130"",""0"",""0"",""39258689""}", в 7ке в табло получаю значение ЗначениеИзСтрокиВнутр("{""O"",""0"",""0"",""130"",""0"",""0"",""39258689""}") = Отгрузка товаров, продукции 7870608 (01.08.15) , т.е. возвращается ссылка на объект, а в 8ке не работает, возвращает ошибку > Ошибка при вызове метода контекста (ЗначениеИзСтрокиВнутр): > Неизвестная ошибка |
|||
1
Апош
16.09.15
✎
09:16
|
второй параметр штоль?
|
|||
2
ДенисЧ
16.09.15
✎
09:21
|
А с чего бы внутреннее значение из 77 должно расшифровываться в 8ке?
|
|||
3
LisaAlisa
16.09.15
✎
09:24
|
(2) а как быть в этом случае?
|
|||
4
LisaAlisa
16.09.15
✎
09:25
|
(1) без второго параметра так же не работает, это я уже всякие варианты пробовала, поискав по форуму
|
|||
5
ДенисЧ
16.09.15
✎
09:37
|
(3) Искать по полям поиска
|
|||
6
dk
16.09.15
✎
09:40
|
в 77 нет второго параметра у значениеизстрокивнутр
|
|||
7
kosts
16.09.15
✎
09:41
|
Попробуй сделать функцию обертку в 77 в глобальном модуле
|
|||
8
dk
16.09.15
✎
09:44
|
еще не всегда ком77 принимает русское название функций -
попробуй СсылкаНаОбъект = ComОбъект77.ЗначениеИзСтрокиВнутр(СтрИд); и СсылкаНаОбъект = ComОбъект77.ЗначениеИзСтрокиВнутр("{""O"",""0"",""0"",""130"",""0"",""0"",""39258689""}"); и СсылкаНаОбъект = ComОбъект77.ValueFromStringInternal("{""O"",""0"",""0"",""130"",""0"",""0"",""39258689""}"); |
|||
9
kosts
16.09.15
✎
10:05
|
Вот так попробуй
тмп = 0; СсылкаНаОбъект = ComОбъект77.ЗначениеИзСтрокиВнутр(Идентификатор, тмп); или так СсылкаНаОбъект = ""; ComОбъект77.ЗначениеИзСтрокиВнутр(Идентификатор, СсылкаНаОбъект); |
|||
10
LisaAlisa
16.09.15
✎
10:10
|
(9) сделала, возвращает СсылкаНаОбъект = ""
(8) объединила с (9) СсылкаНаОбъект = ""; ComОбъект77.ValueFromStringInternal(СтрИд,СсылкаНаОбъект); |
|||
11
LisaAlisa
16.09.15
✎
10:11
|
(7) мне нельзя править конфигурацию 77
|
|||
12
dk
16.09.15
✎
10:18
|
покажи как ComОбъект77 создаешь и работаешь
какого хрена в 77 пытаешься 2-й параметр передать, если его там нет? |
|||
13
Ёпрст
16.09.15
✎
10:19
|
сылкаНаОбъект = ComОбъект77.ЗначениеИзСтрокиВнутр(Идентификатор, неопределенно);
Так, че кажет ? |
|||
14
LisaAlisa
16.09.15
✎
10:22
|
(13) возвращает Неопределено
|
|||
15
LisaAlisa
16.09.15
✎
10:25
|
(12) уже не передаю, это был один из вариантов
сейчас так ОбъектВнутреннегоФормата = Строка(ComОбъект77._StrToId(Лев(СтрокаТЧ.IDDOC_Удаляем,6))); ОбъектВнутреннегоФормата = СтрЗаменить(ОбъектВнутреннегоФормата,Символ(160),""); ОбъектВнутреннегоФормата = Прав(" "+ОбъектВнутреннегоФормата+" ",13); Стр = "{""O"",""0"",""0"",""130"",""0"",""0"","""+ОбъектВнутреннегоФормата+"""}"; СтрИд = СтрЗаменить(Стр, """", """"""); СсылкаНаОбъект =ComОбъект77.ЗначениеИзСтрокиВнутр(СтрИд,); ComОбъект77 = ПолучитьОбъектДоступаК7(Путь, Имя, Пароль); Функция ПолучитьОбъектДоступаК7(Путь, Имя, Пароль) Перем ОбъектДоступа; Попытка ОбъектДоступа = Новый COMОбъект("V77S.Application"); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Если НЕ ОбъектДоступа=Неопределено Тогда Если ЗначениеЗаполнено(Имя) И ЗначениеЗаполнено(Пароль) Тогда СтрокаПодключения="/d"""+Путь+""" /n"+Имя+ " /p"+Пароль; Иначе Сообщить("Необходимо во вкладке Настройки заполнить Имя и Пароль!"); Возврат Неопределено; КонецЕсли; РезультатПодключения = ОбъектДоступа.Initialize(ОбъектДоступа.RMTrade, СтрокаПодключения, "NO_SPLASH_SHOW"); Если Не РезультатПодключения Тогда ОбъектДоступа=Неопределено; КонецЕсли; КонецЕсли; Возврат ОбъектДоступа; КонецФункции |
|||
16
LisaAlisa
16.09.15
✎
10:28
|
Не понимаю, как здесь отредактировать отправленное сообщение...
В предыдущем была ошибка, исправляюсь: ComОбъект77 = ПолучитьОбъектДоступаК7(Путь, Имя, Пароль); ОбъектВнутреннегоФормата = Строка(ComОбъект77._StrToId(Лев(СтрокаТЧ.IDDOC_Удаляем,6))); ОбъектВнутреннегоФормата = СтрЗаменить(ОбъектВнутреннегоФормата,Символ(160),""); ОбъектВнутреннегоФормата = Прав(" "+ОбъектВнутреннегоФормата+" ",13); Стр = "{""O"",""0"",""0"",""130"",""0"",""0"","""+ОбъектВнутреннегоФормата+"""}"; СтрИд = СтрЗаменить(Стр, """", """"""); СсылкаНаОбъект =ComОбъект77.ЗначениеИзСтрокиВнутр(СтрИд); Получение ком-объекта Функция ПолучитьОбъектДоступаК7(Путь, Имя, Пароль) Перем ОбъектДоступа; Попытка ОбъектДоступа = Новый COMОбъект("V77S.Application");//V77S.Application - для SQL V77L.Application - для однопользовательской V77.Application - для сетевой Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Если НЕ ОбъектДоступа=Неопределено Тогда Если ЗначениеЗаполнено(Имя) И ЗначениеЗаполнено(Пароль) Тогда СтрокаПодключения="/d"""+Путь+""" /n"+Имя+ " /p"+Пароль; Иначе Сообщить("Необходимо во вкладке Настройки заполнить Имя и Пароль!"); Возврат Неопределено; КонецЕсли; РезультатПодключения = ОбъектДоступа.Initialize(ОбъектДоступа.RMTrade, СтрокаПодключения, "NO_SPLASH_SHOW"); Если Не РезультатПодключения Тогда ОбъектДоступа=Неопределено; КонецЕсли; КонецЕсли; Возврат ОбъектДоступа; КонецФункции |
|||
17
dk
16.09.15
✎
10:38
|
ну и чего возвращают варианты
СсылкаНаОбъект = ComОбъект77.ЗначениеИзСтрокиВнутр(СтрИд); и СсылкаНаОбъект = ComОбъект77.ЗначениеИзСтрокиВнутр("{""O"",""0"",""0"",""130"",""0"",""0"",""39258689""}"); и СсылкаНаОбъект = ComОбъект77.ValueFromStringInternal("{""O"",""0"",""0"",""130"",""0"",""0"",""39258689""}"); |
|||
18
LisaAlisa
16.09.15
✎
10:42
|
(17) для конкретного документа СтрИд = "{""O"",""0"",""0"",""130"",""0"",""0"",""39258689""}",
в 7ке в табло получаю значение ЗначениеИзСтрокиВнутр("{""O"",""0"",""0"",""130"",""0"",""0"",""39258689""}") = Отгрузка товаров, продукции 7870608 (01.08.15) , т.е. возвращается ссылка на объект, а в 8ке не работает, возвращает ошибку > Ошибка при вызове метода контекста (ЗначениеИзСтрокиВнутр): > Неизвестная ошибка |
|||
19
LisaAlisa
16.09.15
✎
10:46
|
(17) Ошибка при вызове метода контекста (ValueFromStringInternal): Неизвестная ошибка
|
|||
20
Ёпрст
16.09.15
✎
10:54
|
а так ?
ССылочка = ComОбъект77.EvalExpr("ValueFromStringInternal(""{""O"",""0"",""0"",""130"",""0"",""0"",""39258689""}"",Неопределено)"); |
|||
21
LisaAlisa
16.09.15
✎
11:02
|
(20) Ошибка при вызове метода контекста (EvalExpr): Произошла исключительная ситуация (1С:Предприятие): 1 ValueFromStringInternal("{"<<?>>O","0","0","130","0","0","39258689"}",Неопределено)
Ожидается символ ')' |
|||
22
НЕА123
16.09.15
✎
11:16
|
ССылочка = ComОбъект77.EvalExpr("ValueFromStringInternal(""{""""O"""",""""0"""",""""0"""",""""130"""",""""0"""",""""0"""",""""39258689""""}"""",Неопределено)");
|
|||
23
dk
16.09.15
✎
12:29
|
ComОбъект77.EvalExpr("ЗначениеИзСтрокиВнутр(""{""""O"""",""""0"""",""""0"""",""""130"""",""""0"""",""""0"""",""""39258689""""}"")")
так работает |
|||
24
Serginio1
16.09.15
✎
12:48
|
Все намного проще делать через внешние отчеты/
Проще использовать Внешний Отчет с ОткрытьФормуМодально и передачей параметров во втором параметре Как выполнить процедуру внешней обработки через OLE Например БазаОЛЕ.ОткрытьФормуМодально("Отчет",параметры,ПутьКОбработке_ert"); А еще проще через 1с++ |
|||
25
LisaAlisa
17.09.15
✎
23:40
|
Рабочий код:
ОбъектВнутреннегоФормата = Строка(ComОбъект77._StrToId(Лев(СтрокаТЧ.IDDOC_Удаляем,6))); Стр ="{""O"",""0"",""0"",""130"",""0"",""0"","+ОбъектВнутреннегоФормата+"}"; СсылкаНаОбъект = 0; ComОбъект77.ЗначениеИзСтрокиВнутр(Стр,СсылкаНаОбъект); |
|||
26
ЧеловекДуши
18.09.15
✎
06:36
|
(0) Извращение, полнейшее :)
|
|||
27
ЧеловекДуши
18.09.15
✎
06:36
|
+ Начни изучение 1С++, погугли :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |