|
как идентифицировать примитивный тип в com соединении | ☑ | ||
---|---|---|---|---|
0
ASimonova
30.10.20
✎
11:07
|
1С:Предприятие 8.3 (8.3.17.1549)
создаю построитель запроса в ком-соединении, из него идентифицирую параметры запроса, у этих параметров есть тип, он, есесно COMObject, так вот если он ссылочного типа, он легко идентифицируется через метаданные. и вопрос следующий: как идентифицировать тип, если он приходит примитивного типа |
|||
1
ДенисЧ
30.10.20
✎
11:08
|
если КОМ.ТипЗнч(комзапрос.параметры.ВыбраннаяДата) = КОМ.Тип("Дата")
так не прокатывает? |
|||
2
ASimonova
30.10.20
✎
13:02
|
(1) нет, ком так не умеет(
|
|||
3
ДенисЧ
30.10.20
✎
13:03
|
КОМ.XMLСтрока(КОМ.ТипЗнч(комзапрос.параметры.ВыбраннаяДата)) = КОМ.XMLСтрока(КОМ.Тип("Дата"))
А так? )) |
|||
4
SleepyHead
гуру
30.10.20
✎
13:09
|
(0) Я другим путем пошел. Делаю внешнюю обработку в составе той базы, к которой собираюсь подключаться. Все отлаживаю на ней. В обработке предусматриваю программный интерфейс, в который передаю параметры, они обычно простые - число, строка, дата, и по ком-соединению передаются без проблем.
Ответ обработки может быть любой - таблица значений, список итп, нужно его просто обойти. Если надо скопировать - создать такой же объект в текущей базе и перезаписать, конечно же, работать при этом приходится с примитивными типами. Но для моих целей этого хватает. |
|||
5
Ненавижу 1С
гуру
30.10.20
✎
13:27
|
Примитивный тип передается через com прозрачно
То есть дата и через соединение дата |
|||
6
seperblunt2
30.10.20
✎
13:32
|
(5) там приходит не значение а тип параметра
|
|||
7
acht
30.10.20
✎
13:46
|
(0)
МояПеременная = КОМ.Переменная; Сообщить(ТипЗнч(МояПеременная)); Что выведет? |
|||
8
ДенисЧ
30.10.20
✎
14:11
|
(7) Дай попробую угадать...
COMобъект? )) |
|||
9
acht
30.10.20
✎
14:34
|
(8) А ты попробуй, сделай над собой усилие. Жопку в горсть и хотя бы:
КомСсылка = База.Справочники.Номенклатура.НайтиПоКоду("123"); МояПеременная = КомСсылка.Наименование; Сообщить(ТипЗнч(МояПеременная)); |
|||
10
ДедМорроз
31.10.20
✎
16:45
|
Проблема с числами в том,что он внутреннее представление 1с конвертики в double и теряет точность и значения после запятой.
|
|||
11
acht
31.10.20
✎
20:40
|
(10) И в 7.7 нет булева типа, это важно!
|
|||
12
Hmster
31.10.20
✎
22:07
|
СравнениеCom = com.newobject("СравнениеЗначений")
Результат = СравнениеCom.Сравнить(КОМ.ТипЗнч(комзапрос.параметры.ВыбраннаяДата),КОМ.Тип("Дата")); |
|||
13
acht
31.10.20
✎
23:05
|
(12) Метод объекта не обнаружен (ТипЗнч)
Беда с вами прям какая-то |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |