|
v8: Регистр через сом соединение (подключение к 7.7 из 8) | ☑ | ||
---|---|---|---|---|
0
AlexGS87
19.02.13
✎
19:15
|
Как вызвать регистр через сом соединение? К базе подключаюсь нормально как обратится к регистру, нужно для переноса данных с регистра "ОстаткиТоваров" базы 7.7 в документ "Оприхдования товаров" в 8.
При таком обращеннии выдает ошибку Регистр7 = Б1С7.CreateObject("Регистр.ОстаткиТоваров"); |
|||
1
Rie
19.02.13
✎
19:23
|
(0) Не обманывай.
|
|||
2
Rie
19.02.13
✎
19:25
|
+(1) Вот код:
V7 = СоздатьОбъект("V77.Application"); V7.Initialize(V7.RMTrade, "", ""); // путь к базе потёр, естественно Рег = V7.CreateObject("Регистр.ОстаткиТоваров"); Ошибку не выдаёт. Видимо, проблема в чём-то другом у тебя? |
|||
3
vitek89
19.02.13
✎
19:27
|
можно еще
ТекстЗапроса = "//{{ЗАПРОС() |текст |"//}}ЗАПРОС ; Запрос = Б1С7.CreateObject("Запрос"); Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда //... КонецЕсли; |
|||
4
AlexGS87
19.02.13
✎
19:31
|
спасибо, буду пробовать
|
|||
5
Rie
19.02.13
✎
19:37
|
(4) Ты б разобрался, почему у тебя код из (0) ошибку выдал. Хотя код - теоретически совершенно рабочий, а значит, ошибка - в другом месте.
|
|||
6
AlexGS87
20.02.13
✎
11:56
|
Ошибка пропала после перезагрузки базы 7.7
|
|||
7
AlexGS87
20.02.13
✎
11:58
|
ТекстЗапроса = "//{{ЗАПРОС()
|текст |"//}}ЗАПРОС ; Запрос = Б1С7.CreateObject("Запрос"); Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда //... КонецЕсли; Как обойти резуьтат запроса? |
|||
8
ДенисЧ
20.02.13
✎
11:58
|
(7) Пока Запрос.Группировка(1) = 1 ЦИкл...
|
|||
9
AlexGS87
20.02.13
✎
12:11
|
спасибо
|
|||
10
AlexGS87
20.02.13
✎
12:11
|
как установить параметры для запроса в 7.7?
|
|||
11
ДенисЧ
20.02.13
✎
12:12
|
их там нет.
И вообще - иди читай документацию |
|||
12
AlexGS87
20.02.13
✎
12:18
|
ясно
|
|||
13
AlexGS87
20.02.13
✎
13:00
|
Дата1 = '20130101';
Дата2 = '20130131'; Фирма = Б1С7.Константа.БазФирма; ТекстЗапроса = " |ПЕРИОД С Дата1 По Дата2; |Фирма=Регистр.ОстаткиТоваров.Фирма; |Склад=Регистр.ОстаткиТоваров.Склад; |Товар=Регистр.ОстаткиТоваров.Товар; |Док=Регистр.ОстаткиТоваров.ТекущийДокумент; |Кол=Регистр.ОстаткиТоваров.ОстатокТовара; |Функция НачКол = НачОст(Кол); |Функция КонКол = КонОст(Кол); |Функция ПрихКол = Приход(Кол); |Функция РасхКол = Расход(Кол); |Условие (Фирма=Фирма); |Группировка Товар;"; Запрос = Б1С7.CreateObject("Запрос"); Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда Пока Запрос.Группировка(1)=1 Цикл Сообщить(Запрос.Товар.наименование); Сообщить(Запрос.Док.ТекущийДокумент); Сообщить(Запрос.Кол); КонецЦикла; КонецЕсли; Выдает ошибку: Форма.Форма.Форма(1970)}: Ошибка при вызове метода контекста (Выполнить) Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда по причине: Произошла исключительная ситуация (1С:Предприятие): ПЕРИОД С <<?>> Дата1 По Дата2; Запрос[2] : Ошибка в выражении 'Дата1' |
|||
14
AlexGS87
20.02.13
✎
13:37
|
Фирма = Б1С7.Константа.БазФирма;
Дата1 = '20130101'; Дата2 = '20130131'; ТекстЗапроса = ""; ТекстЗапроса = ТекстЗапроса +" |ПЕРИОД С "+Дата1+" По "+Дата2+"; |Фирма=Регистр.ОстаткиТоваров.Фирма; |Склад=Регистр.ОстаткиТоваров.Склад; |Товар=Регистр.ОстаткиТоваров.Товар; |Док=Регистр.ОстаткиТоваров.ТекущийДокумент; |Кол=Регистр.ОстаткиТоваров.ОстатокТовара; |Функция НачКол = НачОст(Кол); |Функция КонКол = КонОст(Кол); |Функция ПрихКол = Приход(Кол); |Функция РасхКол = Расход(Кол); |Условие (Фирма=Фирма); |Группировка Товар;"; Запрос = Б1С7.CreateObject("Запрос"); Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда Пока Запрос.Группировка()=1 Цикл Сообщить(Запрос.Товар.наименование); Сообщить(Запрос.Док.ТекущийДокумент); Сообщить(Запрос.Кол); КонецЦикла; КонецЕсли; Переделано, новая ошибка Ошибка при вызове метода контекста (Выполнить) Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда по причине: Произошла исключительная ситуация (1С:Предприятие): ПЕРИОД С <<?>> 01.01.2013 0:00:00 По 31.01.2013 0:00:00; Запрос[2] : Ожидается дата перед '01.01' |
|||
15
ДенисЧ
20.02.13
✎
13:39
|
|ПЕРИОД С '"+Дата1+"' По '"+Дата2+"';
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |