|
v7: Com соединение 1с 8.3 и 1с 7.7 | ☑ | ||
---|---|---|---|---|
0
nadysaan
14.06.18
✎
12:36
|
Добрый день. Помогите люди добрые. Через Com соединение подключаюсь в базе 1с 7.7. На семерошном запросе ошибка.
Запрос АвтомобильСОМ = в7.CreateObject("Справочник.Номенклатура"); Если АвтомобильСОМ.НайтиПоРеквизиту("ВИН",Автомобиль.VIN, 1) = 1 тогда Авто = АвтомобильСОМ.ТекущийЭлемент(); КонецЕсли; Если Авто <> Неопределено Тогда начучета=НачалоГода(текущаядата()); запрос = в7.CreateObject("Запрос"); текстзап= "//{{ЗАПРОС(Сформировать) |ОбрабатыватьДокументы все; |Без итогов; |ЗаказНаряд = Документ.ЗаказНаряд.ТекущийДокумент,Документ.ПоступлениеТМЦ.ТекущийДокумент, |Документ.ПеремещениеТМЦ.ТекущийДокумент,Документ.Реализация.ТекущийДокумент, |Документ.КомплектацияТМЦ.ТекущийДокумент; |Подразделение = Документ.ЗаказНаряд.Склад,Документ.ПоступлениеТМЦ.Склад, |Документ.ПеремещениеТМЦ.СкладПолучатель,Документ.Реализация.Склад, |Документ.КомплектацияТМЦ.Склад; |Автомобиль = Документ.ЗаказНаряд.Автомобиль,Документ.ПоступлениеТМЦ.номенклатура, |Документ.ПеремещениеТМЦ.номенклатура,Документ.Реализация.номенклатура, |Документ.КомплектацияТМЦ.Комплект; |Группировка ЗаказНаряд; |Условие(Автомобиль = Авто); |";//}}ЗАПРОС если запрос.выполнить(текстзап)=0 тогда возврат; конецесли; Ошибка {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(279)}: Ошибка при вызове метода контекста (выполнить) если запрос.выполнить(текстзап)=0 тогда по причине: Произошла исключительная ситуация (1С:Предприятие): Условие(Автомобиль = Авто <<?>> ); Запрос[14] : Ошибка в выражении 'Авто' |
|||
1
1Сергей
14.06.18
✎
12:37
|
Потому, что так нельзя
|
|||
2
nadysaan
14.06.18
✎
12:40
|
Подскажите, как сделать отбор всех документов по одной машине?
|
|||
3
hhhh
14.06.18
✎
12:41
|
(0) вот это странное выражение
Если Авто <> Неопределено Тогда разве в семерке есть Неопределено ? |
|||
4
1Сергей
14.06.18
✎
12:41
|
(2) в конфигурацию семерки можно вносить изменения?
|
|||
5
nadysaan
14.06.18
✎
12:42
|
да
|
|||
6
hhhh
14.06.18
✎
12:43
|
(2) может так?
|Условие(Автомобиль.VIN = " + Автомобиль.VIN) + " |
|||
7
nadysaan
14.06.18
✎
12:44
|
пробовала. тоже самое.
|
|||
8
1Сергей
14.06.18
✎
12:45
|
(5) Создай в глобальном модуле в самом верху переменную
Перем ПараметрыЗапроса Экспорт; Потом в обработке в7.ПараметрыЗапроса = в7.CreateObject("Массив"); в7.ПараметрыЗапроса[0] = Авто; а в тексте запроса: |Условие(Автомобиль = ПараметрыЗапроса[0]); |
|||
9
NikVars
14.06.18
✎
12:48
|
(2) http://1c.moy.su/publ/vzaimodejstvie_cherez_ole/37-1-0-141
Тут есть чуток про работу с запросами |
|||
10
nadysaan
14.06.18
✎
13:01
|
(8) спасибо, смысл поняла, попробую, когда пользователи закончат ностальгировать по 7.7 и выйдут из неё :)
|
|||
11
NikVars
14.06.18
✎
13:03
|
(10) Угу... Главное, сразу воевать в боевой базе. Ничего не пробуй в тестовых базах! Так что ли?!
|
|||
12
nadysaan
14.06.18
✎
13:05
|
(11) Она уже давно не работая, часть информации по какой-то неведомой мне причине не перенесли, вот пользователям и приходится заходить туда и смотреть старую информацию
|
|||
13
nadysaan
14.06.18
✎
13:06
|
(11) Не рабочая :)
|
|||
14
1Сергей
14.06.18
✎
13:13
|
(10) Писал по памяти, семерки нет под рукой. Возможно ещё сам массив надо будет в семерке создавать при старте
|
|||
15
NikVars
14.06.18
✎
13:24
|
(13) Ясно... Как 1С свои конфы пишет?! У них же нет данных пользователей со всей России по всем отраслям и всем базам... Фантастика!
|
|||
16
nadysaan
14.06.18
✎
13:35
|
(14)
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(262)}: Ошибка при вызове метода контекста (CreateObject) в7.ПараметрыЗапроса = в7.CreateObject("Массив"); по причине: Произошла исключительная ситуация (1С:Предприятие): Неудачная попытка создания объекта (Массив): 0 |
|||
17
mehfk
14.06.18
✎
13:43
|
Не так массивы в семерке работают.
|
|||
18
NikVars
14.06.18
✎
15:57
|
(16) Мануал в помощь!
http://old.mista.ru/tutor_1c/ |
|||
19
1Сергей
14.06.18
✎
17:33
|
(16) Сорри. Массив создавать не надо. Его нужно правильно объявить
Перем ПараметрыЗапроса[365] Экспорт; |
|||
20
1Сергей
14.06.18
✎
17:33
|
(18) нету там про объявление массивов
|
|||
21
Birmingem
14.06.18
✎
18:50
|
Предложенное в (6)
|Условие(Автомобиль.VIN = " + Авто.VIN) + " должно работать. Или лучше так, если код в справочнике уникальный конечно: |Условие(Автомобиль.Код = " + Авто.Код) + " Проверь в отладчике, что показывает: Авто.VIN или Авто.Код? |
|||
22
NikVars
15.06.18
✎
10:20
|
(20) Не подсказывай! Пусть сама убедится!
|
|||
23
nadysaan
15.06.18
✎
12:41
|
(21) В том то и дело, что показывает просто COMОбъект и все
|
|||
24
nadysaan
15.06.18
✎
12:42
|
(22) Не надо подсказывать, я в первую очередь смотрела по отладчику
|
|||
25
Salimbek
15.06.18
✎
12:54
|
(23) Эм-м-м, Сообщить(Авто.VIN) - что напишет в окне сообщений? Просто через всякие ОЛЕ объекты передаются как COMОбъект, а вот простые типы - должны передаваться как и положено, как строки или числа. Разумеется, если нет Истории на этом реквизите.
|
|||
26
nadysaan
15.06.18
✎
14:16
|
(25) Авто.ВИН = "5KCYD4840EB401622 " Строка
|
|||
27
Birmingem
15.06.18
✎
14:22
|
(26) Ну вот, уже хорошо.
Теперь в запросе отключи строчку "|Условие(Автомобиль = Авто);" И в цикле по группировке посмотри что покажет отладчик: Запрос.Автомобиль.ВИН |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |