|   |   | 
| 
 | Новый COMObject("v77.Application") - на сервере | ☑ | ||
|---|---|---|---|---|
| 0
    
        dimm7310 25.04.22✎ 11:40 | 
        Добрый день.
 Возможно ли создание Новый COMObject("v77.Application") - на сервере (для использования в обработке)? На клиенте - работает, но нужно на сервере ) Сервер WIN 2012(64). Если возможно, то что для этого нужно сделать? (что бы объяснить админу) Сейчас при попытке создания ошибка "Интерфейс не поддерживается " | |||
| 1
    
        H A D G E H O G s 25.04.22✎ 11:41 | 
        (0) Можно. Не поддерживается, потому что на сервере не установлена 7.7, либо не зарегистрирована.     | |||
| 2
    
        Злопчинский 25.04.22✎ 11:42 | 
        (0) как в (1) написали - 77 копированием на сервер перекинута     | |||
| 3
    
        dimm7310 25.04.22✎ 11:48 | 
        (1) на сервере каталог есть.  Что нудно сделать , что бы зарегистрировать?     | |||
| 4
    
        MWWRuza гуру 25.04.22✎ 11:51 | 
        (3) Ну, для начала, попробуйте один раз "от имени администратора", с полными правами запустить.
 Если не поможет, тогда устанавливать с дистрибутива(есть сборки, не официальные, которые под 64 битами ставятся). | |||
| 5
    
        tgu82 25.04.22✎ 12:01 | 
        (4) Да, я ставил до сих пор с аппаратным ключом работает система     | |||
| 6
    
        dimm7310 25.04.22✎ 12:08 | 
        (4) Руками запускается ("от имени администратора") . Но в обработке (на сервере) -  та же ошибка.
 Есть возможность дать ссылку на такой дистриб ? Можно на почту dimm73@ya.ru | |||
| 7
    
        dimm7310 25.04.22✎ 14:19 | 
        по окночании установки
 https://ibb.co/CJ88BV6 при попытке запуска 1С 7.7 https://ibb.co/QkqxLj2 и при попытке подключения из 1С 8.3 - "Класс не зарегистрирован" что можно сделать? | |||
| 8
    
        nodrama 25.04.22✎ 14:20 | 
        regsvr32     | |||
| 9
    
        H A D G E H O G s 25.04.22✎ 14:21 | 
        (7) Позвать специалиста     | |||
| 10
    
        dimm7310 27.04.22✎ 10:07 | 
        Возможно ли подключение и выполнение запроса Из 1С 8.3(управляемые формы) к 1С 7.7 - прямыми запросами 1С++ без (Новый COMObject("v77.Application"))?
 Когда то- писал прямые запросы для 1С 7.7(SQL) - но все внутри одной базы. или для них тоже нужно использовать (Новый COMObject("v77.Application") ? | |||
| 11
    
        Kigo_Kigo 27.04.22✎ 10:13 | 
        А всего то надо зайти на сервер под пользователем от которого запускается сервер 1с обычно это USR1CV8, и от него зарегистрировать компоненту     | |||
| 12
    
        VoditelKobyly 27.04.22✎ 10:15 | 
        (10) Если семерка на SQL тогда со стороны восьмерке просто цепляйся к SQL и делай любые запросы. 1с++ и не понадобится (если только не будешь отлаживать запросы со стороны семерки)     | |||
| 13
    
        dimm7310 27.04.22✎ 10:16 | 
        (11) Я удаленно работаю, а там такой админ - что как будто нет его.     | |||
| 14
    
        dimm7310 27.04.22✎ 10:16 | 
        (12) да 7ка на SQL2000.
 Можно пример как подцепиться? | |||
| 15
    
        VoditelKobyly 27.04.22✎ 10:18 | 
        В поисковике строку подключения к SQL поищи, под рукой примера нет     | |||
| 16
    
        VoditelKobyly 27.04.22✎ 10:18 | 
        Задача постоянная или разовая?     | |||
| 17
    
        lEvGl гуру 27.04.22✎ 10:21 | 
        (14) Connection = Новый COMОбъект("ADODB.Connection");
 Connection.CommandTimeout = 180; стрПодключения = "Provider = SQLOLEDB; Data Source = server; Initial Catalog = cataloh;User ID = user; Password = password"; Connection.ConnectionString = стрПодключения; Connection.Open(); RS = Новый COMОбъект("ADODB.Recordset"); RS.Open("Select DH2614.IDDoc as IDDoc, DH2614.SP2600 as IDPod, DH2614.SP6814 as IDYch, |Convert(VarChar, DATEADD(MilliSecond, dbo.ConvSyst10(SUBSTRING(_1SJourn.DATE_TIME_IDDOC,9,6), 36)/10, LEFT(_1SJourn.DATE_TIME_IDDOC,8)), 20) As Date, |SC1874.SP5636 as Nomenklatura, DT2614.SP2609 as Qty, DT2614.SP6847 as StringType |FROM DH2614 left join DT2614 on DH2614.IDDoc = DT2614.IDDOC |left join SC1874 on DT2614.SP2918 = SC1874.ID |Left join _1SJourn On DH2614.IDDoc = _1SJourn.IDDOC |Where Convert(DateTime, Convert(VarChar, DATEADD(MilliSecond, dbo.ConvSyst10(SUBSTRING(_1SJourn.DATE_TIME_IDDOC,9,6), 36)/10, LEFT(_1SJourn.DATE_TIME_IDDOC,8)), 20), 120) |> Convert(DateTime, '" + Формат(ТекущаяДата() - 86400, "ДФ=гггг-ММ-дд")+ " " + "00:00:00', 120)", Connection, 3); Если RS.recordCount() > 0 Тогда | |||
| 18
    
        dimm7310 27.04.22✎ 10:23 | 
        (16) постоянная     | |||
| 19
    
        VoditelKobyly 27.04.22✎ 10:25 | 
        (18) Тогда лучше напрямую из SQL базы запросами данные бери без v77.Application, гораздо быстрее будет     | |||
| 20
    
        dimm7310 27.04.22✎ 10:27 | 
        (17)  Спасибо
 А можно этот запрос на 1С++ выполнять что бы не SC1874.SP5636 а что то привычное типа: ТекстЗапроса = " |SELECT Номенклатура.ID [Номенклатура $Справочник.Номенклатура] | , $Номенклатура.АртикулПоставщика Артикул | , Номенклатура.DESCR НаименованиеТовара | , $Номенклатура.МинОстаток МинОстаток | , ОстаткиТМЦОстатки.КоличествоОстаток КонОстаток | , $Номенклатура.ОсновнаяЕдиница [ОсновнаяЕдиница $Справочник.Единицы] | , $Номенклатура.БазоваяЕдиница [БазоваяЕдиница $Справочник.Единицы] | , Номенклатура.PARENTID [Родитель $Справочник.Номенклатура] | , Номенклатура.CODE КодТовара |FROM $Справочник.Номенклатура AS Номенклатура | LEFT OUTER JOIN $РегистрОстатки.ОстаткиТМЦ(:КонДата ~, | ,, | Номенклатура,) AS ОстаткиТМЦОстатки ON Номенклатура.ID = ОстаткиТМЦОстатки.Номенклатура |WHERE (Номенклатура.ID IN (SELECT Val FROM #ГруппаМ)) |ORDER BY Номенклатура.PARENTID | , Номенклатура.DESCR |"; | |||
| 21
    
        VoditelKobyly 27.04.22✎ 10:31 | 
        Вот нашел, как у (17):
 СоединениеТекущее = Новый Структура; СоединениеТекущее.Вставить("Соединение", Новый COMОбъект("ADODB.Connection")); СоединениеТекущее.Вставить("команда", Новый COMОбъект("ADODB.Command")); СоединениеТекущее.Вставить("НаборЗаписей", Новый COMОбъект("ADODB.Recordset")); СоединениеТекущее.Вставить("ЗаписьСтрок", Новый COMОбъект("ADODB.Recordset")); СоединениеТекущее.соединение.CommandTimeout = 600; СоединениеТекущее.соединение.ConnectionString = "Provider=sqloledb;Server=192.168.1.23;Database=ИмяБазы;UID=sa;PWD=100500;" ; | |||
| 22
    
        VoditelKobyly 27.04.22✎ 10:34 | 
        Ну и далее можешь кидать запросы:
 ТекстЗапроса = " |Select | Номенклатура.ID as ИдентификаторНоменклатуры, | Номенклатура.Descr as НаименованиеНоменклатуры, | Номенклатура.ParentID as ИдентификаторРодителя, | Номенклатура.IsFolder as ЭтоГруппа, | Номенклатура.IsMark as ПометкаУдаления, | Единицы.Descr as НаименованиеЕдиницы, | Единицы.sp6990 as КодОКЕИ, | НДС.sp151 as СтавкаНДС |From | sc152 as Номенклатура |left join | sc171 as Единицы on Номенклатура.sp159 = Единицы.ID |left join | sc149 as НДС on НДС.ID = ( |select top 1 |left(c163_vv.value, 9) |from |_1sconst as c163_vv (nolock) |where |c163_vv.id = 163 and |c163_vv.objid = Номенклатура.ID and |(c163_vv.date <= '21000101') |order by c163_vv.date desc, c163_vv.time desc, c163_vv.docid desc, c163_vv.row_id desc |) |where | Номенклатура.ID in (" + ИдентификаторыСтрокой + ")"; РезультатЗапроса = СКЛСоединение.Соединение.Execute(ТекстЗапроса); ТаблицаРезультат = ПолучитьТаблицуПоРезультатуЗапроса(РезультатЗапроса); | |||
| 23
    
        VoditelKobyly 27.04.22✎ 10:36 | 
        Со стороны семерки пиши обработку для отладки текстов запросов.
 Потом у 1с++ есть метод, что-то типа ОбрМетаSQL (точно не помню), прогоняешь через него свой текст запроса и получаешь результат в чистом SQL виде. | |||
| 24
    
        VoditelKobyly 27.04.22✎ 10:40 | 
        (21)+ Забыл последнюю строку:
 СоединениеТекущее.Соединение.Open(СоединениеТекущее.Соединение.ConnectionString); | |||
| 25
    
        ADirks 27.04.22✎ 10:41 | 
        (20) см. документацию
 ODBCDataBase :: ПрисоединитьИБ / AttachIB Синтаксис: ПрисоединитьИБ(КаталогИБ, [ИмяПользователя], [Пароль], [СтрокаСоединения]) Параметры: КаталогИБ - тип: Строка. Путь к каталогу информационной базы. Должен заканчиваться "\". ИмяПользователя - тип: Строка. Имя пользователя информационной базы как оно задано в конфигураторе. Значение по умолчанию - имя текущего пользователя. Пароль - тип: Строка. Пароль на имя пользователя информационной базы как он задан в конфигураторе. Значение по умолчанию - пароль текущего пользователя. СтрокаСоединения - тип: Строка. Строка соединения по спецификации ODBC. Значения по умолчанию: для ИБ sql-формата: "Driver={SQL Server};Server=%1;Database=%2;Uid=%3;Pwd=%4;",где %1 - имя sql-сервера, %2 - имя базы данных, %3 - имя пользователя БД, %4 - пароль, взятые из параметров, сохраненных в каталоге ИБ. для ИБ dbf-формата: "DRIVER={Microsoft Visual FoxPro Driver};Deleted=No;Null=Yes;Collate=RUSSIAN;Exclusive=No;SourceType=DBF;SourceDB=%1", где %1 - переданный КаталогИБ; Описание: позволяет загрузить метаданные из указанного каталога ИБ и соединиться с источником данных по строке соединения. В дальнейшем, после установки соединения для объекта ODBCRecordset методом УстБД, при выполнении запросов, парсер будет разрешать метаимена по подключенным метаданным. Примечание: имя пользователя и пароль проходят проверку только при подключении к ИБ sql-формата. (При подключении к ИБ dbf-формата значения не имеют.) Пример: ИБ=СоздатьОбъект("ODBCDataBase"); ИБ.ПрисоединитьИБ("\\server\КаталогИБ\"); рс=СоздатьОбъект("ODBCRecordset"); рс.УстБД(ИБ); Результат=рс.ВыполнитьИнструкцию(ТекстЗапроса); | |||
| 26
    
        dimm7310 27.04.22✎ 10:43 | 
        (22) мне запросом нужно остатки на дату по номенклатуре получать ($РегистрОстатки.ОстаткиТМЦ)     | |||
| 27
    
        dimm7310 27.04.22✎ 10:46 | 
        (25) спасибо нашел https://forum.infostart.ru/forum9/topic138399/
 буду пробовать | |||
| 28
    
        trad 27.04.22✎ 11:30 | 
        (25) (27) это только 77 -> 77
 8.x -> 77 такое не прокатит | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |