Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: this_feature_currently_requires_accessing_site_using_safari
Здравствуйте, кто нибудь когда нибудь выгружал данные из 1с в Lotus Domino ? Посоветуйте шину для выгрузки? Вообще возможно ли связать эти две платформы???
Здравствуйте, кто нибудь когда нибудь выгружал данные из 1с в Lotus Domino ? Посоветуйте шину для выгрузки? Вообще возможно ли связать эти две платформы???
Sub Click(Source As Button)
Dim db As NotesDatabase
Dim workspace As New NotesUIWorkspace
Dim workspacesend As New NotesUIWorkspace
Dim item As NotesItem
Dim docmain As NotesDocument
Dim doc_org As NotesDocument
Dim session As New NotesSession
Dim mainuidoc As NotesUIDocument
Dim strOrgShortName As String
Dim strSendServer As String
Dim strDBLOcation As String
Dim tmpFirstSide As String
Dim tmpProperty As String
Dim tmpFullName As String
Dim tmpShortName As String
Dim tmpCategory As Variant
Dim tmpINN As String
Dim tmpTitle As String
Dim tmpManager As String
Dim tmpPostAdress As String
Dim tmpUrAdress As Variant
Dim tmpPhone As String
Dim tmpKPP As String
Dim tmpOKPO As String ' По какой то причине начал выдавать ошибку в этой строке??
Dim tmpOKONX As String
Dim tmpBank As Variant
Dim tmpEMail As String
Dim tmpSite As String
Dim tmpMore As Variant
Set db = session.CurrentDatabase
Set uidocmain = workspace.CurrentDocument
Set docmain=uidocmain.Document
tmpOpisani_IB = docmain.tmpOpisani_IB(0)
tmpFolder = docmain.Folder(0)
tmpLogin = docmain.Login(0)
tmpPassword1C = docmain.Password1C(0)
tmpShortName = docmain.ShortName(0)
tmpFirst_Side = docmain.First_Side(0)
tmpProperty = docmain.Property(0)
tmpFullName = docmain.FullName(0)
tmpShortName = docmain.ShortName(0)
tmpCategory = docmain.tmpCategory(0)
tmpINN = docmain.INN(0)
tmpTitle = docmain.Title(0)
tmpManager = docmain.Manager(0)
tmpPostAdress = docmain.PostAdress(0)
tmpUrAdress = docmain.PostAdress(0)
tmpPhone = docmain.Phone(0)
tmpKPP = docmain.KPP(0)
tmpOKPO = docmain.OKPO(0)
tmpOKONX = docmain.OKONX(0)
tmpBank = docmain.Bank(0)
tmpEMail = docmain.EMail(0)
tmpSite = docmain.Site(0)
tmpMore = docmain.More
tmpVid_1C = docmain.Vid_1C(0)
If tmpVid_1C = "1С: Предприятие 7.7" Then
' Создаем объект ОЛЕ 1С:Предприятие
Set OLE = CreateObject("V77.Application")
strokaZapuska = "/D"+tmpFolder+" /N"+tmpLogin+" /P"+tmpPassword1C
'Можно задать параметры подключения из формы (надо экспереминтировать)
tmpFolder = "E:\Bases 1C\Test base SF\"
'rez=OLE.Initialize(OLE.RMTrade,strokaZapuska,"NO_SPLASH_SHOW")
'Результатом должен стать 0 или 1 т.е. открыта база или нет
rez=OLE.Initialize(OLE.RMTrade,"NO_SPLASH_SHOW","")
'Определяем переменные для сбора результата конекта к 1С
rezultat = 0
rezinn = 0
ComputerName = OLE.EvalExpr( "ComputerName()")
UserName = OLE.EvalExpr("UserName()")
SystemCaption = OLE.EvalExpr( "SystemCaption()")
IBDir = OLE.EvalExpr( "IBDir()")
UserFullName = OLE.EvalExpr( "UserFullName()")
tmpOpisani_IB = "[" +ComputerName +"]" + "[" +UserName +"]" + "[" +UserFullName +"]" + "[" +SystemCaption +"]" + "[" +IBDir +"]"
docmain.Opisani_IB = tmpOpisani_IB
'Set СписокОбъектов = OLE.CreateObject("СписокЗначений")
'Получаем доступ к справочнику Контрагенты
Set kontrag=OLE.CreateObject("Справочник.Контрагенты")
'Ищем в справочнике по наименованию
rezname0 = kontrag.НайтиПоНаименованию(tmpShortName)
rezname1 = kontrag.НайтиПоНаименованию(tmpFullName)
'Ищем в справочнике по ИНН, что бы точно удостоверится что с таким ИНН контрагента нет даже если
'разное наименование
rezinn = kontrag.НайтиПоРеквизиту("ИНН",tmpINN)
rezinn0 = kontrag.НайтиПоРеквизиту("ИНН",tmpINN+tmpKPP)
rezinn1 = kontrag.НайтиПоРеквизиту("ИНН",tmpINN+"\" +tmpKPP)
rezinn2 = kontrag.НайтиПоРеквизиту("ИНН",tmpINN+"/" +tmpKPP)
'Суммируем результаты если все хорошо то результат должен быть равен 0
rezultat = rezultat + rezname0 + rezname1 + rezinn0 + rezinn0 + rezinn1 + rezinn2
'Дополнительная проверка на правильность поиска по реквизиту (т.к. по реквизиту можен не искать - бывает и такое!)
'При необходимости можно добавить дополнительные условия
'Выбираем справочник Контрагентов
rez=kontrag.ВыбратьЭлементы()
While kontrag.ПолучитьЭлемент()=1
'Получим Элемент 'Проверим Элемент
RezFind = Instr(tmpShortName , kontrag.Наименование)
'kontrag.Find(kontrag.Наименование , tmpShortName)
'RezINN0 = kontrag.Find(kontrag.ИНН , rezinn)
RezINN0 = Instr(rezinn , kontrag.ИНН)
If kontrag.ПолнНаименование = tmpFullName Then rezname = 1 Else rezname = 0
If kontrag.ИНН = tmpINN Then rezinn = 1 Else rezinn = 0
'Суммируем результат
rezultat = rezultat + rezinn + RezINN0 + rezname
Print kontrag.ПолнНаименование
Wend
'Если в конечном итоге результат наших поисков равен 0 то создаем новый элемент справочника
boxType& = MB_OKCANCEL + MB_ICONQUESTION
If rezultat > 0 Then
Messagebox "Такой контрагент существует "
Exit Sub
Elseif rezultat = 0 Then
answer% = Messagebox("Создать новую запись?", 4, "Создать?")
If answer% = 6 Then Else Exit Sub
rez = kontrag.Новый()
kontrag.Наименование = tmpShortName
kontrag.ИНН = tmpINN
kontrag.ПолнНаименование = tmpFullName
kontrag.ЮридическийАдрес = tmpUrAdress
kontrag.ПочтовыйАдрес = tmpPostAdress
kontrag.Телефоны = tmpPhone
Set perechislenie = OLE.Enum.GetAttrib("ВидыКонтрагентов")
Set ORG = perechislenie.ValueByIdentifier("ЧастноеЛицо")
Set CHP = perechislenie.ValueByIdentifier("Организация")
rez = kontrag.SetAttrib("ВидКонтрагента", ORG)
rez = kontrag.Записать()
Print kontrag.ТекущийЭлемент().ПолнНаименование
Set rez = OLE.ОткрытьФормуМодально(kontrag.ТекущийЭлемент(),"", -1) ' рабочий вариант
'Set rez = OLE.ExecuteBatch("ОткрытьФормуМодально("+kontrag.ТекущийЭлемент()+","", -1)") ' рабочий вариант
End If
Goto EndSub
'Отключем ОЛЕ объекты.
'При завершении работы с ОЛЕ объектом всегда выводится ошибка это не избежно
EndSub:
OLE = OLE.ExecuteBatch( "ExitSystem(0)")
OLE = " "
Else
If (tmpVid_1C = "1С: Предприятие 8.0 (Файл)") Or (tmpVid_1C = "1С: Предприятие 8.0 (Сервер)") Then
tmpSQLBase = docmain.SQLBase(0) 'Set cc = CreateObject("v8.COMConnector")
Set cc = CreateObject("v8.Application") 'cc.Visible = True
If (tmpVid_1C = "1С: Предприятие 8.0 (Файл)") Then
Print "File="+tmpFolder+"; Usr="+tmpLogin +"; Pwd="+tmpPassword1C
cc.Connect("File="+tmpFolder+"; Usr="+tmpLogin +"; Pwd="+tmpPassword1C)
Else
Print "Srvr="+tmpSQLBase+"; Ref="+tmpFolder+"; Usr="+tmpLogin +"; Pwd="+tmpPassword1C
cc.Connect("Srvr="+tmpSQLBase+"; Ref="+tmpFolder+"; Usr="+tmpLogin +"; Pwd="+tmpPassword1C)
End If
'Получаем доступ к справочнику Контрагенты
Set kontrag = cc.Справочники.Контрагенты
'Ищем в справочнике по наименованию
'Ищем в справочнике по ИНН, что бы точно удостоверится что с таким ИНН контрагента нет даже если
'разное наименование
'Суммируем результаты если все хорошо то результат должен быть равен 0
'Дополнительная проверка на правильность поиска по реквизиту (т.к. по реквизиту можен не искать - бывает и такое!)
'При необходимости можно добавить дополнительные условия
'Выбираем справочник Контрагентов
Set Vjborka = kontrag.Выбрать()
While Vjborka.Следующий()=1
'Получим Элемент 'Проверим Элемент
If Vjborka.ИНН = tmpINN Then rezinn = 1 Else rezinn = 0
'Суммируем результат
Wend
'Если в конечном итоге результат наших поисков равен 0 то создаем новый элемент справочника
boxType& = MB_OKCANCEL + MB_ICONQUESTION
If rezultat > 0 Then
Messagebox "Такой контрагент существует "
Exit Sub
Elseif rezultat = 0 Then
answer% = Messagebox("Создать новую запись?", 4, "Continue?")
If answer% = 6 Then Else Exit Sub
Set NewKontrag = kontrag.СоздатьЭлемент( )
'NewKontrag .Write()
Set Форма = NewKontrag.ПолучитьФорму("ФормаЭлемента")
Форма.Наименование = tmpShortName
Форма.НаименованиеПолное = tmpShortName
Форма.ИНН = tmpINN
Форма.КПП = tmpKPP
Форма.КодПоОКПО = tmpOKPO
Форма.ОткрытьМодально(0)
End If
Goto EndSub2
'Отключем ОЛЕ объекты.
'При завершении работы с ОЛЕ объектом всегда выводится ошибка это не избежно
EndSub2:
con = " "
'con = OLE.EvalExpr( "ExitSystem(0)")
'Set НайденнаяСсылка = con.Валюты.НайтиПоНаименованию(СтрокаНаименования)
'Messagebox con.Metadata.name
End If
End If
End Sub