Терминал дахь гадаад бүрэлдэхүүн хэсгүүдийг бүртгэхтэй холбоотой асуудлыг шийдвэрлэх. Тусгай гадаад бүрэлдэхүүн хэсгийн нэр

Гар утасны програм 1С Нягтлан бодох бүртгэл 3.+ дээр агуулахын үйл ажиллагаа (бараа, үндсэн хөрөнгийн тооллого, барааны хөдөлгөөн) хийх боломжийг танд олгоно. Аппликейшн нь Андройд дээр анхлан боловсруулагдсан. Файлаар солилцохдоо бүрэн ажиллагаатай байхын тулд зөвхөн гадаад боловсруулалт хийх шаардлагатай. Энэ програм нь завсрын мэдээллийн сан эсвэл нэмэлт програм хангамж шаарддаггүй. Програм нь холболт байхгүй үед ажиллах боломжтой.

Үйл ажиллагаа:
. Барааны тооллого;
. Үндсэн хөрөнгийн тооллого;
. Барааны хөдөлгөөн;

Татаж авах холбоос.

Хувилбарын түүх.

Android хувилбаруудын дэмжлэг.

Android 4.4 ба түүнээс дээш.

Тохиргооны дэмжлэг.

1С: Нягтлан бодох бүртгэл 3.+

Бар код сканнер болон TSD-ийн дэмжлэг.

  • GS-M100BT нь SPP горимд дэмжигддэг;
  • TSD CARIBE PL 50L
  • OTG-ээр холбогдсон HID горимд байгаа аливаа сканнерыг дэмждэг.

Функциональ.

Барааны тооллого.

Барааны тооллого явуулахын тулд та 1С-д баримт бичгийг бэлтгэх хэрэгтэй: Барааны тооллогыг бодит тоо хэмжээгүйгээр. Дараа нь та програмын Бүтээгдэхүүний бараа материалын хэсэг рүү очих хэрэгтэй. Хэрэв та 1С-тэй онлайн солилцоог тохируулсан бол Татаж авах цэс дээр дарна уу. Энэ тохиолдолд бараа материалын бүх баримт бичгүүдийг ачаалах болно.

Хүснэгтийн хэсэг

Бар кодыг төхөөрөмжийн санах ойд хайдаг, хэрэв олдохгүй бол 1С мэдээллийн сангаас хайж, олдохгүй бол 1С мэдээллийн сангаас үндсэн хөрөнгийн хайлт хийнэ. Хайлтын үр дүнд ямар нэгэн зүйл олдвол баримт бичгийн хүснэгтийн хэсэгт хайлт хийнэ. Хэрэв объект хүснэгтийн хэсэгт олдвол 1 хэмжигдэхүүн + хүснэгтийн хэсэгт олдсон хэмжигдэхүүнийг энэ мөрөнд нэмнэ. Хүснэгтийн хэсэгт тухайн объект олдоогүй тохиолдолд бодит тоо хэмжээ 1, нягтлан бодох бүртгэлийн тоо хэмжээ 0 гэсэн хүснэгтийн хэсэгт нэмэгдэнэ. Хайлтын үр дүнд үндсэн хөрөнгө олдвол программ санал болгоно. Үүнийг үйлдлийн системийн бараа материалын баримт бичигт нэмэх.

Баримт бичгийг 1С-д байршуулж байна

Үндсэн хөрөнгийн тооллого.

Үндсэн хөрөнгийн тооллого (цаашид үндсэн хөрөнгө гэх) хийхийн тулд 1С-д бодит бэлэн байдалгүйгээр үндсэн хөрөнгийн тооллого баримт бичгийг бэлтгэх шаардлагатай. Дараа нь та програмын үйлдлийн системийн бараа материалын хэсэг рүү очих хэрэгтэй. Хэрэв та 1С-тэй онлайн солилцоог тохируулсан бол Татаж авах цэс дээр дарна уу. Энэ тохиолдолд бүх үйлдлийн системийн бараа материалын баримтуудыг ачаалах бөгөөд засварласан баримт бичгүүдийг дарж бичихгүй.

Хэрэв таны програм офлайн ажиллаж байгаа бол та файлаас баримтуудыг ачаалж болно. Файлыг боловсруулалтыг ашиглан 1С-ээс татаж авдаг.

Та бүгдийг устгах дээр дарж эсвэл нэг нэгээр нь зүүн эсвэл баруун тийш шударснаар баримт бичгийг бүгдийг нэг дор устгаж болно.

Хүснэгтийн хэсэг

Дарж байна шаардлагатай бичиг баримт 1С-тэй төстэй хүснэгтийн хэсэг нээгдэнэ. Хүснэгтийн хэсэг нь мөр нэмэх/өөрчлөх/устгах, тоо хэмжээг засах боломжийг олгоно.

Баркод сканнердах, боловсруулах

Бар кодыг камер, гар утасны сканнер, GS-M100BT сканнер, Carible PL 50L TSD ашиглан сканнердах эсвэл гараар оруулах боломжтой.

Баркод хайх алгоритм нь дараах байдалтай байна.

Бар кодыг төхөөрөмжийн санах ойд хайдаг; хэрэв олдохгүй бол 1С мэдээллийн сангаас хайдаг. Хайлтын үр дүнд олдвол баримт бичгийн хүснэгтийн хэсэгт хайлт хийнэ. Хэрэв хүснэгтийн хэсэгт объект олдвол энэ мөрөнд бодит оршихуйг тогтооно. Хэрэв объект нь хүснэгтийн хэсэгт олдоогүй бол түүнийг бодит бэлэн байдлын хамт баримт бичгийн хүснэгтийн хэсэгт нэмнэ.

Баримт бичгийг 1С-д байршуулж байна

Дууссан баримт бичгүүдийг хүснэгтийн цэснээс 1С-д байршуулна.

Татаж авахтай адил баримт бичгийг 1С эсвэл файлаар дамжуулан онлайнаар байршуулах боломжтой.

Зүйлийн бар кодыг хуваарилах, хэвлэх.

Бар код суулгаж, шошго хэвлэхийн тулд та гадаад холболтыг холбох ёстой хэвлэсэн хэлбэрболон Нэршлийн картаас зураасан код хэвлэх дээр дарна уу. Хэрэв энэ зүйлд зураасан код байхгүй бол автоматаар зураасан код үүсч, шошго хэвлэгдэх болно. Шошгыг 60X30 хэмжээтэй хэвлэнэ.

Үндсэн хөрөнгийн шошго олгох, хэвлэх.

OS лавлах кодыг OS-ийн бар код болгон ашигладаг. Хэвлэхийн тулд та гадаад хэвлэх маягтыг холбож, үйлдлийн системийн картын зураасан кодыг хэвлэх дээр дарна уу. Шошгыг 60X30 хэмжээтэй хэвлэнэ.

Тохиргоо.

Тохиргооны тайлбар.

GS-M100BT bluetooth сканнерыг тохируулж байна.

Тохиргооны дэлгэц дээр та bluetooth бар код сканнер GS-M100BT-г тохируулах боломжтой. Эхний тохиргоог хийхийн тулд та эхлээд "Bluetooth"-ийг нээх хэрэгтэй бөгөөд төхөөрөмжүүдийг холбох стандарт интерфейс нээгдэнэ (энэ нь өөр төхөөрөмж дээр өөр харагдах болно).

Хурдан эхлэл

  • Програмыг суулгана уу
  • OData интерфейсийг 1С дээр нийтлэх
  • OData интерфейсийн найрлагыг тохируулна уу
  • 1С-ээс бүх лавлах, бар код, баримт бичгийг онлайнаар эсвэл файлаар дамжуулан програм руу байршуулна уу.
  • Агуулахын үйл ажиллагаа явуулах
  • Боловсруулсан өгөгдлийг 1С-д байршуулах

Жишээлбэл, хэрэв та түүний зохиогч биш бөгөөд эх сурвалж байхгүй бол бүрэлдэхүүн хэсгийг дахин бичих боломжгүй. Эсвэл Native API технологиор дэмжигдсэн хамгийн энгийн төрлүүд (тоо, мөр, Boolean, огноо) ажиллахад хангалтгүй бол.

Файлын мэдээллийн сантай ажиллахад онцгой асуудал гардаггүй. Хуваарьт ажил нь ердийн хэрэглэгчийн арын процесст дуудагддаг. Тиймээс түүнд үйлчлүүлэгчийн дуудлага хийх боломжтой. Серверийн өгөгдлийн санд ердийн ажлыг эхлүүлэх үед үйлчлүүлэгчийн контекст байхгүй тул дуудлага ConnectExternalComponent()боломжгүй.

Энэ тохиолдолд та клиент дээрх бүрэлдэхүүн хэсгийг дуудаж болно. Үүнийг хийхийн тулд үйлчлүүлэгч дээр шаардлагатай үйлдлүүдийг хийх сервер дээрх ердийн даалгавараас өөр 1С сессийг эхлүүлэхэд хангалттай. За, дараа нь гүйлтийн сессийг дуусгахаа бүү мартаарай.

Бид ердийн ажилдаа бүтэн нэрийг задлахын тулд NameDeclension.dll гадаад COM бүрэлдэхүүн хэсгийг ашигладаг тайланг үүсгэж, хадгалж байна гэж бодъё. Файлын мэдээллийн сан дээр ийм ердийн даалгавар зөв ажиллах боловч серверийн бүрэлдэхүүн хэсэг дээр холбогдох боломжгүй болно.

Асуудлыг засахын тулд хуваарьт даалгаврын модульд серверийн горимд өөр сесс эхлүүлж, гадаад боловсруулалтаас үйлчлүүлэгчийн талаар тайлан гаргах дуудлагыг гүйцэтгэх процедурыг нэмье.

#If Client Дараа нь Процедурыг ExecuteGenerationAndSavingReport() Export If ConnectExternalComponent("GeneralLayout.NAMEDECL","Skl",ExternalComponentType.COM) Дараа нь Component = New ("AddIn.Skl.NameDeclension"); //Энд тайланг үүсгэх, хадгалах код байна Үгүй бол,RegistrationLogRecord("TaskRegl",RegistrationLogLevel.Error, "Клиент дээр гадаад бүрэлдэхүүнийг холбож чадсангүй"); endIf; Процедурын төгсгөл #Else Procedure ExecuteFormationAndSavingReport() ExecuteOperationOnClient("TaskRegl.ExecuteFormationAndSaveReport()"); Процедурын төгсгөл Процедур ExecuteOperationOnClient(ParameterForExecution) ExportUserName = ""; UserPassword = ""; PathToExternalProcessing = "c:/temp/Autostart.epf"; Ишлэл = """"; DirectoryBIN = Програмын лавлах(); ConfigurationPath = InformationBaseConnectionString(); ConfigurationPath = StrReplace(ConfigurationPath, Quote, Quote + Quote); StartupString = Quote + DirectoryBIN + "1cv8.exe" + Quote + "ENTERPRISE" + " /IBConnectionString " + Quote + ConfigurationPath + Quote + " /N " + Quote + Хэрэглэгчийн нэр + Ишлэл + " /P " + Ишлэл + Хэрэглэгчийн нууц үг + Ишлэл + " /Execute" + Quote + PathToExternalProcessing + Quote + " /C " + Quote + ExecutionParameter + Quote; LaunchApplication(LaunchString); EndProcedure #EndIf

Үйлчлүүлэгчийн контекст дэх ердийн ажлуудын модулиас шаардлагатай тайланг хэвлэж, тайланг үүсгэсний дараа сессийг дуусгахад хүргэдэг гадаад боловсруулалтын код.

Гүйцэтгэх оролдлого(LaunchParameter); Exception EndTry; ShutdownSystem(Худал);

Шийдлийн тав тухтай байдал нь ердийн ажлуудыг тохируулахдаа ямар горимд даалгаврыг эхлүүлэх нь хамаагүй юм. Хэрэв өгөгдлийн сан нь файлд суурилсан бол шаардлагатай процедур нэн даруй эхэлнэ. Хэрэв өгөгдлийн сан нь серверт суурилсан бөгөөд эхлүүлэх үед үйлчлүүлэгчийн контекст байхгүй бол шинэ сесс эхлүүлж, процедур нь үйлчлүүлэгчийн нөхцөлд зөв ажиллах болно.

Энгийн хэрэглээний код. Онолын хувьд энэ нь удирддаг горимд яг ижил төстэй байдлаар ажиллах болно.

p.s.Энэ аргыг ердийн ажилд үйлчлүүлэгчийн аливаа процедурыг гүйцэтгэхэд ашиглаж болно.

Синтакс сонголт: Нэр, байршлаар

Синтакс:

ConnectExternalComponent(<Местоположение>, <Имя>, <Тип>)
Сонголтууд:

<Местоположение>(шаардлагатай)

Төрөл: мөр.
Гадаад бүрэлдэхүүн хэсгийн байршил.
Байршлыг ашиглаж болно:
ZIP архив биш файлын систем дээрх гадаад бүрэлдэхүүн файл руу очих зам (вэб клиент дээр байхгүй);
хоёртын өгөгдөл эсвэл ZIP архивыг хадгалах байршлын бүрэн нэршил;
GetNavigationLink-тэй төстэй форматтай хоёртын өгөгдөл эсвэл ZIP архивын гадаад бүрэлдэхүүн хэсгийн URL.
<Имя>(шаардлагатай)

Төрөл: мөр.
Холбогдох гадаад бүрэлдэхүүн хэсгийн бэлгэдлийн нэр.
Нэр нь суулгасан хэлний нэршлийн дүрмийг дагаж мөрдөх ёстой.
<Тип>(заавал биш)

Төрөл: ExternalComponentType.
Холбогдох гадаад бүрэлдэхүүн хэсгийн төрөл.
Бүрэлдэхүүн хэсэг нь ZIP архивт савлагдсан бол ашиглахгүй.
Аргын сонголтын тайлбар:

Native болон COM технологи ашиглан хийсэн бүрэлдэхүүн хэсгүүдийг холбодог.
Бүрэлдэхүүн хэсгүүдийг хадгалах боломжтой мэдээллийн баазэсвэл хоёртын өгөгдөл хэлбэрээр эсвэл ZIP архивт тохиргооны зохион байгуулалт.
"Thin Client" болон "Web Client" эхлүүлэх горимуудын хувьд эхлээд бүрэлдэхүүнийг Гадаад бүрэлдэхүүн хэсгийг суулгах аргыг ашиглан суулгасан байх ёстой.
Синтакс сонголт: ID-аар

Синтакс:

ConnectExternalComponent(<ИдентификаторОбъекта>)
Сонголтууд:

<ИдентификаторОбъекта>(шаардлагатай)

Төрөл: мөр.
MS Windows бүртгэлийн ProgID (Programmatic Identifier) ​​хэлбэрийн гадаад бүрэлдэхүүн хэсгийн объектын танигч (жишээ нь: "AddIn.Scanner").
Мэдээлэлд нийцсэн байх ёстой бүртгэлийн мэдээллийн сансистемийн өгөгдөл (Бүртгэл).
Аргын сонголтын тайлбар:

Бүрэлдэхүүн хэсэг нь COM технологийг ашиглан хэрэгжиж, MS Windows бүртгэлд бүртгэгдсэн байх ёстой.
Эдгээр бүрэлдэхүүн хэсгүүд нь 1C: Enterprise 7.7 бүрэлдэхүүн хэсгүүдтэй нийцдэг.
Анхаар! Аргын сонголт нь сервер болон гадаад холболт дээр ажиллахгүй.
Буцах утга:

Төрөл: Boolean.
Үнэн - холболт амжилттай болсон.
Тодорхойлолт:

1С: Enterprise-д гадаад бүрэлдэхүүн хэсгийг холбодог.
Гадаад бүрэлдэхүүн хэсгүүдийг мэдээллийн сан эсвэл тохиргооны байршилд ZIP архив эсвэл хоёртын өгөгдөл хэлбэрээр эсвэл файлын системийн файлд хадгалах боломжтой.
Нимгэн клиент болон вэб клиент дээр ажиллахдаа бүрэлдэхүүн хэсгийг урьдчилан суулгасан байх ёстой.

Боломжтой байдал:

Нимгэн клиент, вэб клиент, сервер, гадаад холболт.
Жич:

Гадаад бүрэлдэхүүн хэсгүүдийг Native API эсвэл COM технологийг ашиглан хэрэгжүүлж болно. COM технологийг ашиглан хийсэн бүрэлдэхүүн хэсгүүд нь 1C: Enterprise 7.7 бүрэлдэхүүн хэсгүүдтэй нийцдэг.
Вэб клиент нь зөвхөн архивт хадгалагдсан мэдээллийн сангийн бүрэлдэхүүн хэсгүүдтэй ажиллах боломжтой.
Нимгэн үйлчлүүлэгч нь мэдээллийн сан дахь бүрэлдэхүүн хэсгүүд, архивт багцлагдсан, файлын системд байрлах бүрэлдэхүүн хэсгүүдтэй ажиллах боломжтой.
Зузаан үйлчлүүлэгч нь бүх бүрэлдэхүүн хэсгийн хадгалалтын сонголтыг зохицуулж чадна. Энэ тохиолдолд уг бүрэлдэхүүн хэсэг нь Гадаад бүрэлдэхүүн хэсгийг суулгах аргыг ашиглан суулгасан бол суулгасан бүрэлдэхүүн хэсгийг ашиглах бөгөөд суулгаагүй тохиолдолд уг бүрэлдэхүүн хэсэг нь холбогдох үед хүлээн авах болно.
Сервер нь бүх бүрэлдэхүүн хэсгүүдтэй ажиллах боломжтой. Бүрэлдэхүүн хэсэг нь сервер сесс бүрд хадгалагдана.
Жишээ:

Хэрэв ConnectExternalComponent("AddinObject.Scanner") Дараа нь
Тайлан("Бар код сканнерын бүрэлдэхүүн хэсэг ачаалагдсан");
Үгүй бол
Тайлан("Бар код сканнерын бүрэлдэхүүн хэсэг ачаалагдаагүй байна");
endIf;

Ихэнхдээ программистууд гадны бүрэлдэхүүн хэсгүүдийг холбоход бэрхшээлтэй байдаг (жишээлбэл, драйверууд арилжааны тоног төхөөрөмж), хэрэглэгчид 1С-тэй ажиллах үед серверт терминалаар холбогддог.

Энэ тохиолдолд хэрэглэгчид, жишээлбэл, нийтлэлийн зарлал дээр үзүүлсэн зургийг хардаг.

Орон нутгийн компьютерээс ажиллах үед гадны бүрэлдэхүүн хэсгүүдийг холбоход асуудал гардаггүй.

Энэ юутай холбоотой вэ? Учир нь хэрэглэгчид терминалын серверээр ажиллахдаа дотоод компьютер дээр ажиллахаас бага эрхтэй байдаг.

Хэрэв та терминалын серверт админ эрх бүхий бүртгэлээр нэвтэрсэн бол үүнийг хялбархан шалгаж болно.

Энэ ялгааны шалтгаан нь хэрэглэгч терминал дээр хэвийн эрхээр ажиллаж байх үед 1С нь гадаад бүрэлдэхүүн хэсгийг бүртгэлд бүртгэж чадахгүй байгаатай холбоотой юм. энгийн хэрэглэгч системийн бүртгэлийн салбар руу бичих эрхгүй HKEY_CLASSES_ROOT.

Терминал дахь гадаад бүрэлдэхүүн хэсгүүдийг холбох сэдэвт нийтлэлүүд хамгийн их санал болгодог өөр өөр аргуудэнэ асуудлын шийдлүүд.

Жишээлбэл, эдгээр:

1. Захиргааны эрхийн дагуу 1С-г анх удаа ажиллуул.

Энэ сонголт үргэлж ажилладаггүй. Яагаад гэдгийг би доор тайлбарлах болно.

2. Терминалын энгийн хэрэглэгчдэд системийн бүртгэлийн салбар руу бичих зөвшөөрлийг олгох HKEY_CLASSES_ROOT.

Хангалтгүй дэвшилтэт хэрэглэгчид үүнийг хийх ёсгүй, эс тэгвээс асуудал гарч болзошгүй.

3. Төрөл бүрийн гаджетуудыг ашиглан бүрэн эрхтэй хэрэглэгчийн нэрийн өмнөөс VK-г бүртгүүлнэ үү.

Энэ бас сайн биш.

Тэгэхээр энэ байдлаас гарах хамгийн сайн арга юу вэ?

Би энэ асуудлын шийдлийг санал болгож байна. Миний бодлоор энэ нь энгийн бөгөөд үзэсгэлэнтэй, өмнө нь infostart дээр санал болгодоггүй.

Энэ асуудлыг судалж байхдаа би өөрөөсөө асуулт асуусан: 1С яагаад VK-г шинэ зам ашиглан бүртгүүлэхийг оролдож байна вэ? Эцсийн эцэст тэр системд аль хэдийн бүртгүүлсэн байна.

Гол нь ердийн 1С тохиргоонд (жишээлбэл, "Худалдааны менежмент") дэлхийн контекст аргын дараах синтаксийг ашигладаг нь тодорхой болсон. ConnectExternalComponent() :

ConnectExternalComponent("Directory.ConnectedEquipment.Layout.DriverATOLBarcodeScanner", "ATOLScanner");

Таны харж байгаагаар драйвер VC нь "Холбогдсон тоног төхөөрөмж" лавлахын "ATOLBarcode Scanner Driver" байрлалаас холбогдсон байна.

Дараа нь юу болох вэ?

1С нь бүрэлдэхүүн хэсгийг хэрэглэгчийн түр хавтсанд хадгалдаг, жишээлбэл "C:\Documents and Settings\User\Local Settings\Temp\1032\v8_4_12.tmp"

мөн энэ замын дагуух HKEY_CLASSES_ROOT бүртгэлийн түлхүүрт бүртгүүлэхийг оролдоно.

Терминал дээр энгийн хэрэглэгчид энэ бүртгэлийн салбарыг өөрчлөх эрхгүй тул бүрэлдэхүүн хэсэг нь тэдэнтэй холбогддоггүй.

Одоо энэ байдлаас хэрхэн гарах талаар ярилцъя.

Глобал контекст арга ConnectExternalComponent() нь хэд хэдэн синтакс сонголттой. Үүнийг бид ашиглах болно.

Тиймээс, алхам алхмаар:

1. Терминал сервер дээрх regsvr32.exe хэрэгслийг ашиглан 32 битийн үйлдлийн системд зориулсан C:\WINDOWS\SYSTEM32 хавтас эсвэл хавтсанд байгаа гадаад бүрэлдэхүүн хэсгийг бүртгүүлнэ үү. 64 битийн үйлдлийн системд зориулсан C:\WINDOWS\SYSWOW64.

2. ConnectExternalComponent() аргын хоёр нэмэлт синтакс сонголтын аль нэгийг ашиглана уу:

Сонголт 1:

ConnectExternalComponent("C:\WINDOWS\SysWOW64\Scaner1C.dll", "ATOLScanner", ExternalComponentType.COM);

DriverObject = Шинэ("AddIn.ATOLScanner.Scaner45");

Сонголт 2:

ProgID = "AddIn.Scaner45";

ConnectExternalComponent(ProgID);

DriverObject = Шинэ(ProgID);

Миний бодлоор 2-р хувилбар нь илүү дээр юм.

Үүний зэрэгцээ 1С нь бүртгэлийн шинэ замыг ашиглан VK-г дахин бүртгүүлэхийг оролддоггүй бөгөөд ингэснээр бүх асуудал шийдэгддэг.

За тэгээд л болоо. Ажилд нь амжилт хүсье!

Асуулт: 1С 8.3 дээрх Linux (Ubuntu x64)-д зориулсан C++ хэл дээрх гадаад бүрэлдэхүүн хэсэг Native Api


Би VK руу бичиж байгаа ч ubuntu дээр 1c-тэй холбогдож чадахгүй байна. 1s exe хүртэл холбогддоггүй. Тиймээс энэ талаар асуулт байна:

1) Би нийтлэлд өгөгдсөн VNCOMPS жишээнээс VK-г холбохыг оролдож байна

(холбоосыг төгсгөлд нь олж болно: "Хуулбарлах").
NativeApi төсөл дотор makefile байна. Түүний тусламжтайгаар би Ununtu дээр .so номын сан байгуулж байна.
Гэхдээ "Гадаад бүрэлдэхүүн хэсгийг холбох" 1c гацах үед.
Үүний нэгэн адил, хэрэв би "build.sh" (төслийн үндсэн хэсэгт) ашиглан бүтээх юм бол.

Makefile дотроо би тугийг m32-оос m64 болгон өөрчилдөг, учир нь 1c ба x64 систем өөрөө. (m32 параметртэй энэ нь ямар ч байсан холбогддоггүй)
1С 8.3-аас VK руу залгах жишээ энд байна.
Холболт хийгдсэн = Гадаад бүрэлдэхүүн хэсгийг холбоно уу("/home/alexeyubuntux64-20 gb/Documents/VNCOMP83/example/NativeAPI/AddInNative.so", "AddInNative", ExternalComponentType.Native); Яг энэ сэдвээр нийтлэл байна.
Гэхдээ миний харж байгаагаар эдгээр бүх зүйлийг VNCOMPS жишээн дээр аль хэдийн анхаарч, зассан болно.

Гэхдээ үндсэндээ энэ нь эмхэтгэлийн параметрүүдийн асуудал юм. MB 32 битийн гадаад бүрэлдэхүүн хэсэг нь 32 битийн 1c-д ихэвчлэн холбогддог ч би үүнийг Ubuntu x64 1c enterprise83 8.3.5-1486 amd64 дээр суулгасан. Би түүнтэй VK дээр холбогдохыг хүсч байна.

Энэ асуудлыг хэрхэн шийдэх талаар хэн нэгэнд санаа байна уу?)
VNCOMPS жишээ ажиллах ёстой, гэхдээ бүтээх параметрүүдийг тохируулах шаардлагатай эсвэл миний туршиж байгаа платформ өөрөө буруу байна.

Хариулт:Би гайхаж байна, Java дээр гадаад бүрэлдэхүүн хэсэг бичих боломжтой юу?

Асуулт: Гадаад бүрэлдэхүүн хэсэг (Үндсэн) холбогдох боломжгүй


Би 64 ба 32 битийн системд зориулсан ITS-ийн жишээг эмхэтгэсэн.

Би ингэж холбогдож байна:
Холболтын үр дүн = ConnectExternalComponent(KDLLPath, "Comp", ExternalComponentType.Native); Холболт нь нэг компьютер дээр ажилладаг боловч нөгөө компьютер дээр ажилладаггүй. Үйлдлийн системд ялгаа бий. Хаана холболт хийгдсэн бол Win7, Win10 байхгүй байна. Үүний зэрэгцээ, миний бүрэлдэхүүн хэсэг ажиллахгүй байгаа компьютер дээр стандарт бүрэлдэхүүн хэсгүүд ажилладаг.

Өөр өөр платформ дээр туршиж үзсэн (8.3.4.482, 8.3.6.2100, 8.3.11.2700, 8.3.12.1412).

Яагаад холбогдохгүй байгааг яаж ойлгох вэ?

Хариулт: vc_redist мартсан уу?

Асуулт: 1С8 ба төрөлх төрлийн гадаад бүрэлдэхүүн хэсэг


Өдрийн мэнд.
Би BP 3.0.50.12 тохиргоотой бөгөөд үүнийг UniServerAuto ашиглан Vesy-Soft компаниас жинлэхийг хүсч байна.
Хөгжүүлэгчид Windows 32 болон 64-д зориулсан Native-д уг бүрэлдэхүүн хэсгийг эмхэтгэж, хамгийн том файлын хамт архивласан. Мөн 1С-д жинг хэрхэн тооцоолох жишээ бий. Үүнд хоёртын өгөгдөл бүхий зохион байгуулалтыг ашиглан энэ архивыг миний ойлгож байгаагаар зааж өгсөн болно. Жишээн дээр бүх зүйл хэвийн байна: бүрэлдэхүүн хэсэг нь суулгаж, холбогдсон, дараа нь холболтыг тогтоож, жинг уншина.
Гэхдээ та үүнийг 1С руу шилжүүлж эхэлмэгц жинг уншдаггүй. Бүх зүйл энгийн байдлаар бичигдсэн мэт боловч тармуур хаана байгааг би ойлгохгүй байна.
Хэнд багахан хугацаа байгаа - туслаач, нэг нүдээрээ хараарай, магадгүй шийдэл нь гадаргуу дээр байгаа байх, гэхдээ би хаа нэгтээ буруу газар яваад буруу зүйл хийж байна. Би өмнө нь Native технологитой ажиллах шаардлагагүй байсан...

Мөн хавсралтад миний боловсруулах текст байна

Хариулт:

За, надад мэдээ байна ...
Энэ нь ямар үед бүтэлгүйтэж эхлэхийг алхам алхмаар харж эхэлсэн. Үүний тулд би хоосон мэдээллийн сан үүсгээд командын тусламжтайгаар боловсруулав. Нийлүүлэгчийн жишээтэй ижил төстэй байдлаар би байршлыг шинэ тохиргоонд шилжүүлсэн - энэ нь хоёр дахь удаагаа ажиллаж байна. Тэдгээр. Эхний удаад үгүй, харин хоёр дахь удаагаа тийм. Энэ нь бидний боловсруулалтанд өөр өөр журмын дагуу бүрэлдэхүүн хэсэг ба объектын холболтыг салгах шаардлагатай хэвээр байх болно гэсэн санааг төрүүлсэн.
Дараа нь би үүнийг байршлын холболттой өөрийн мэдээллийн сан руу шилжүүлсэн - энэ нь ажилладаг. Өө, сайн байна.... Гэхдээ тохиргоонд өөрчлөлт оруулахгүй байхыг хүсч байна, тиймээс цааш явцгаая

Би боловсруулалтанд байршлыг нэмэхийг оролдож байна. Түүний хэмжээ нэн даруй 10кб-аас 3mb хүртэл нэмэгдэж, үйл ажиллагаа нь мэдэгдэхүйц удааширч байгааг анзаарсан - энэ нь тохиромжгүй юм. Би бүрэлдэхүүн хэсгүүдийг dll-ээр холбох талаар ухаж эхэлж байна. Тэдгээр. үндсэндээ миний эхэлсэн газартай адилхан. Гэхдээ нэг "ГЭХДЭЭ" байдаг: хэрэглэгчийн хавтаснаас dll нэрийг хайж байхдаа би энэ dll нь 1С-д бүртгэгдсэн dll-үүдийг (миний ойлгож байгаагаар) байрлуулж байгааг анзаарсан.
C:\Users\USER\AppData\Roaming\1C\1cv8\ExtCompT
Үүний дагуу ашиглах шаардлагагүй болно бүрэн зам dll-д та зүгээр л нэрийг нь оруулж болно:
ConnectExternalComponent("Add1CUniServerAuto32.dll", "UniServerAuto", ExternalComponentType.Native);

Би оролдож байна ... энэ нь бүртгэлд тангарагласан боловч жинлэлтийн үр дүнг буцааж өгдөг. Dll аль хэдийн бүртгэгдсэн байгаа тул та үүнийг холбох хэрэгтэй гэсэн үг юм. Би үүнийг устгаад бүх зүйл ажилладаг.
Дүгнэж хэлэхэд:
1. Жинлэлтийг боловсруулахдаа AtOpening процедур нь гаднах бүрэлдэхүүн хэсгийн холболт болон объекттой холболтыг багтаасан.
2. dll руу очих зам Би үүнийг бичээгүй, зүгээр л нэрийг нь зааж өгсөн.

Одоо би суугаад 1С дээр dll хэзээ суулгасан бэ гэж бодож байна. Програм хангамж суулгах үед? Бараг... Энэ dll-ийн хөгжүүлэгчийн тохиргоог ажиллуулж байх үед форм нээгдэх үед хаана суулгадаг вэ? Би мэдэхгүй, гэхдээ энэ нь надад ойрхон санагдаж байна ... Чи юу гэж бодож байна вэ?
Хоёрдугаарт, шинэ газар, ижил терминал суурилуулах шаардлагатай үед бүх зүйлийг ажиллуулахын тулд юу хийх хэрэгтэй вэ? Би програм хангамжийг бүрэн суулгаж, үйл ажиллагааг шалгахын тулд үйлдвэрлэгчийн тохиргоог ажиллуулж, дараа нь (онолын хувьд) миний боловсруулалт ажиллах ёстой юу? Ямар нэг зүйл төвөгтэй байна ... Эсвэл би програм хангамжийг суулгасны дараа гадаад бүрэлдэхүүн хэсгийг нэг удаа суулгах уу?

Энэ талаар таны бодлыг сонсохыг хүсч байна ...

Асуулт: Гадаад komponent.dll


Бүгдэд нь энэ өдрийн мэнд.
Нэг асуулт.
1С 7.7 дээр маш сайн ажилладаг dll бүрэлдэхүүн хэсэг
1s 8.1 нь ачаалахыг огт хүсэхгүй байна...
Би үүнийг C:\Program Files\1cv81\bin\cache1c.dll руу буулгахыг оролдсон.
Би regsvr32 "C:\Program Files\1cv81\bin\cache1c.dll" ашиглан бүртгүүлэх гэж оролдсон.
Асуудалгүй бүртгүүлнэ.
Би үүнд хандахыг хүсэх үед би алдааны мессежийг хүлээн авдаг:

Гадаад бүрэлдэхүүн хэсгийг ачаалахад алдаа гарлаа! cache1c.dll
Процедурын товчлуурExecutePress(Товч) Гадаад бүрэлдэхүүн хэсгийг ачаалах оролдлого( "C:\Program Files\1cv81\bin\cache1c.dll"); Онцгой байдлын тайлан( "Гадаад бүрэлдэхүүн хэсгийг ачаалахад алдаа гарлаа!"+ "cache1c.dll" ); EndAttempt; оролдлого // Бүрэлдэхүүн хэсэг объектыг авах. // m = Шинэ ("cache1c.GTMcmd" ); m = Шинэ COMObject("cache1c.GTMcmd" ); Онцгой байдлын тайлан(); EndAttempt; Процедурын төгсгөл

Хариулт:Энэ нь боломжгүй болтлоо улиг болсон ...
Та дуудлагын хооронд түр зогсоох хэрэгтэй (миллисекунд)...
Процедур ButtonExecutePress(Button) оролдлого // Бүрэлдэхүүн хэсэг объект авах. m = Шинэ COMObject("cache1c.GTMcmd" ); Онцгой байдлын тайлан( "Гадаад бүрэлдэхүүн хэсгийн объектыг үүсгэж чадсангүй"); EndAttempt; m.RemoteHost = "192.168.1.101" ; m.RemotePort = 6330; m.Connect(); м.Түр зогсоох(100); ...... гэх мэт
1c 7.7-ийн хувьд - энэ нь шаардлагагүй, харьцах нь илүү хурдан болох нь харагдаж байна.

Асуулт: 1С сервертэй гадаад бүрэлдэхүүн хэсэгтэй ажиллах...


Өдрийн мэнд,

C++ хэл дээр бичигдсэн гадаад бүрэлдэхүүн хэсэг байдаг бөгөөд түүний даалгавар нь гадаад мэдээллийн сангаас мэдээлэл авах, асуулгын үр дүнг 1С дахь утгын хүснэгт хэлбэрээр буцаах явдал юм.
Одоогийн байдлаар утгуудын хүснэгтийг үүсгэхийн тулд Init() функцэд параметр болгон хүлээн авсан IDispatch* pBackConnection интерфейсийг ашигладаг. Дараа нь би зүгээр л 1С функцийг ашиглан утгуудын хүснэгтийг үүсгэж, бөглөж, CallAsFunc(...) дахь хоёр дахь параметр рүү буцаана.
Асуудал нь 1С нимгэн үйлчлүүлэгчдэд шилжихээс эхэлсэн. Серверийн тал дээр гадаад бүрэлдэхүүн хэсэг нь үнэхээр эхлэхгүй байна. Та үүнийг үйлчлүүлэгч тал дээр ажиллуулж болно, гэхдээ энэ нь таяг шиг харагдаж, 1С-ийн ерөнхий "үйлчлүүлэгч-сервер" логикоос унадаг. Жишээлбэл, үйлчлүүлэгч утгын хүснэгт гэж юу болохыг ойлгодоггүй, "глобал" хувьсагчидтай холбоотой асуудлууд, сессүүд гэх мэт.
NativeAPI нь энэ талаар илүү хязгаарлагдмал байдаг.
Хэнгэрэг барин бүжиглэснээр би 1С серверийн дор гадны бүрэлдэхүүн хэсгийг ажиллуулж чадсан ч pBackConnection дээр Invoke руу залгах оролдлого хийх хүртэл ажил үргэлжилж байна. 8.2 серверийн 64 битийн хувилбар нь хугацаа дуустал ямар нэг зүйл хийхийг оролддог бол 32 битийн хувилбар (VK угаасаа 32 бит) шууд унтардаг.
1С сервер энэ үйлдлийн горимыг дэмждэггүй гэж би бодож байна.
Үүний дагуу асуулт гарч ирдэг: энэ нь түр зуурынх уу эсвэл 1С логик нь энэ ажлын схемийг цуцлахад хүргэдэг үү? Хэрэв та бүтээвэл дотоод бүтэц 1С (утгын хүснэгт) нь ийм байдлаар боломжгүй юм, зарчмын хувьд C++ хэл дээр үүсгэх, бөглөх, дараа нь системийн түвшинд утгын хүснэгт гэж юу болох тухай тайлбар бий юу? зүгээр л буцах параметр болгон 1C гулсах уу? Ядаж аль зүгт ухах чиглэлээ гаргамаар байна.

Баярлалаа.

Хариулт:

Та нэг зүйлийг бичиж, өөр зүйлийг хэлж байна.
1С орчинд өөр өөр сессүүдэд харагдах хувьсагчдыг зарлах нь одоо боломжгүй зүйл биш бөгөөд өмнө нь ийм боломж байгаагүй. Өөр нэг сесс бол бие махбодийн хувьд өөр процесс юм.
Сесс нь мэдээллийн сантай холбогдож буй сесс, i.e. хэрэглэгчийн сесс. Эсвэл та энэ үзэл баримтлалд өөрийн гэсэн зүйлийг оруулж байна уу?

Нэг сессийн дотор өөр өөр газраас сесс дотор харагдах, амьдрах хувьсагчдыг сессийн модульд зарлах боломжтой байсан бөгөөд одоо боломжтой болсон ... үнэндээ эдгээрийн 4 нь байдаг.
- хуралдааны модуль;
- Тогтмол хэрэглээний модуль;
- Удирдлагын програмын модуль;
- Гадаад холболтын модуль.

Мэдээжийн хэрэг, та контекстийг санах хэрэгтэй. Серверийн контекст нь үйлчлүүлэгчийн талд шууд хандах боломжгүй ба эсрэгээр.

Үнэн хэрэгтээ 1С архитектурт өгөгдөл солилцох нь дараах байдлаар явагдана гэж заасан байдаг.
- процедур/функцын параметрүүд / өгөөжийн тусламжтайгаар;
- сессийн параметрүүдийн тусламжтайгаар (объект байж болохгүй, гэхдээ палитрт харагдахуйц).

Маягт дээрх хүснэгт ... энэ нь ямар нэгэн объектын хүснэгттэй (жишээлбэл, боловсруулалт хийх) холбогдсон уу? эсвэл биш. Хэрэв тийм бол энэ нь сервер (&OnServer) дээр байгаа бөгөөд тэнд засварлана....

Гэсэн хэдий ч, тийм ээ, үнэ цэнийн хүснэгт нь үйлчлүүлэгчийн талд хэт ягаан туяанд байхгүй. За, үүнийг 1С шийдсэн.

Аливээ! Энэ нь Excel-тэй ажилладаг, FSO болон бусад олон зүйлтэй ажилладаг, гэхдээ энд ажиллахгүй байна. Алдааг олж, дүн шинжилгээ хийнэ үү....

оролдлого
...
таны үйлдэл
...
Үл хамаарах зүйл
str = ErrorDescription();
EndAttempt;

Орчин үеийн техник хангамжийн чадавхитай бол энэ нь огт маргаан биш юм.

Зөвхөн таны хувийн бодол. Бодит байдалтай ямар ч холбоогүй. Ямар ч байдлаар биш. Би дахин давтан хэлье, 1С нь COM-той маш сайн ажилладаг. In-proc болон out-proc хоёулаа.

Татаж авахдаа ашигладаг кодыг оруулаад VK-тэй холбогдоно уу.

Дашрамд хэлэхэд, VK ... таны хувьд COM эсвэл Native API уу?
Хэрэв COM бол та үүнийг regsvr32-ээр бүртгүүлнэ үү ... тэгвэл та битийн гүнийн асуудлыг хэрхэн "шийдвэрлэх" вэ?

Асуулт: Гадаад бүрэлдэхүүн хэсгийг суулгаж байна


Гадны бүрэлдэхүүн хэсгийг хэрхэн суулгах талаар надад хэлж өгнө үү. Дараах кодыг гүйцэтгэх үед алдаа гарна. Байршлаас NameDecl.dll-г олоорой

ExternalComponent тохируулахыг оролдож байна("GeneralLayout.Layout"); Exception EndTry;
Алдаа: Гадаад бүрэлдэхүүнийг суулгаж чадсангүй!

Хариулт: ()
ConnectExternalComponent("GeneralLayout.Layout", "NameDecl", ExternalComponentType.Native) нь ХУДАЛ буцаана.
Шинэ("AddIn.NameDecl.CNameDecl", Тодорхойгүй) = (()): Тодорхойгүй бичнэ (AddIn.NameDecl.NameDecl)

Асуулт: Үндсэн dll нь 1c 8.1 (fptrwin32_fz54_9_11_0_5549.dll) руу холбогдоогүй байна.


Сайн уу.
1С нь ffd 1.05 (fptrwin32_fz54_9_11_0_5549.dll засвар үйлчилгээнд багтсан) atol онлайн кассын машинд зориулсан dll-г шинэчилсэн.
Надад хуучин 1С 8.1 байгаа. 8.2-ээс ялгаатай нь энэ нь 8.2-тэй адил гадаад төхөөрөмжтэй ажиллахыг дэмждэггүй тул та эхлээд Windows-д dll-г бүртгүүлж, дараа нь зөвхөн 1C-тэй холбох хэрэгтэй юу?

ProgID = "AddIn.IntegrationComponent.ATOL_KKT_1C83_V9"; LoadExternalComponent("C:\fptrwin32_fz54_9_11_0_5549.dll"); ConnectExternalComponent(progID); Драйвер = Шинэ(ProgID);

Гэсэн хэдий ч хуучин боловсруулалтыг ком "технологи" дээр бичсэн бөгөөд шинэ нь уугуул юм. Үүний дагуу regsvr32-г бүртгүүлэхдээ алдаа гарна:
Модуль ачаалагдсан боловч DllRegisterServer нэвтрэх цэг олдсонгүй. Мөн энэ файл нь зөв dll эсвэл OCX файл мөн эсэхийг шалгахыг санал болгож байна.
Үүнтэй төстэй нөхцөл байдалтай тулгарсан хүн байна уу, та яаж гарсан бэ? 7.7-д үүнтэй төстэй асуудал гарах болно гэдгийг би ойлгож байна.
Код 8.2:

Layout = GetLayout("IntegrationComponent"); Хаяг = PlaceInTemporaryStorage(Layout); ConnectExternalComponent(Хаяг, "IntegrationComponent", ExternalComponentType.Native); Драйвер = Шинэ("AddIn.IntegrationComponent.ATOL_KKT_1C83_V9");

1С 8.2:
ConnectExternalComponent(<Местоположение>, <Имя>, <Тип>)
1С 8.1:
ConnectExternalComponent(<Идентификатор объекта>)
Сонголтууд:
<Идентификатор объекта>(шаардлагатай)
Төрөл: мөр. Гадаад бүрэлдэхүүн хэсгийн объектын ProgID (Программын танигч). Системийн бүртгэлийн мэдээллийн сан (Бүртгэл) дэх мэдээлэлтэй тохирч байх ёстой.
Тодорхойлолт:
Гадны бүрэлдэхүүн хэсгүүдийг 1С: Enterprise-тэй холбодог.
1C: Enterprise сервер дээр байхгүй. Гадаад холболтын модульд ашиглагдаагүй.
Жич:
Гадаад бүрэлдэхүүн хэсгүүд нь 1C: Enterprise 7.7 бүрэлдэхүүн хэсгүүдтэй нийцдэг.
Жишээ:
оролдлого
ConnectExternalComponent("AddinObject.Scanner");
Тайлан("Бар код сканнерын бүрэлдэхүүн хэсэг ачаалагдсан");
Үл хамаарах зүйл
Тайлан("Бар код сканнерын бүрэлдэхүүн хэсэг ачаалагдаагүй байна");
Төгсгөлийн оролдлого

Энэ dll-г 8.1-тэй холбох арга бий юу, үгүй ​​юу?

Баярлалаа!

Хариулт:

Би ч бас саяхан ийм асуудалтай тулгарсан. 1c-ийн дараагийн хувилбар руу хөрвүүлэх боломжгүй байсан тул... Энэ тохиргоо нь ажилладаг dll зүгээр л ажиллахаа больсон бөгөөд 1c алдаа гарлаа.
Би асуудлыг дараах байдлаар шийдсэн.
Би хоосон 8.3 өгөгдлийн сан үүсгэсэн бөгөөд үүнд би бүрэлдэхүүн хэсгийн эхлэлийг боловсруулж, дараа нь 8.1-ээс COM холболтоор дамжуулан өмнө нь үүсгэсэн мэдээллийн сан руу нэвтэрч, бүрэлдэхүүн хэсгийг эхлүүлсэн. Дараа нь аль хэдийн 8.1-д би энэ бүрэлдэхүүн хэсгийн аргуудыг дуудсан.
Мэдээжийн хэрэг энэ бол таяг, гэхдээ би өөр гарц олоогүй байна(

Кодын жишээ 8.3:
Хувьсах драйверын экспорт;
Функц ConnectionComponentsKKT() Экспорт
оролдлого

Layout = GetLayout("IntegrationComponent");
Хаяг = PlaceInTemporaryStorage(Layout);
ConnectExternalComponent(Хаяг, "IntegrationComponent", ExternalComponentType.Native);
Драйвер = Шинэ("AddIn.IntegrationComponent.SMDrvFR1C20");
Үр дүн = Үнэн;

Үл хамаарах зүйл

Үр дүн = Худал;

EndAttempt;
Үр дүнг буцаах
Төгсгөлийн функц

Кодын жишээ 8.1

Функц CreateDriverObject(Драйвер) Экспорт

Үр дүн = Үнэн;

оролдлого

ConnectionString="File="""Өгөгдлийн сангийн зам""";
ComObject = Шинэ COMObject("V83.ComConnector");
Холбох = ComObject.Connect(ConnectionString);

Боловсруулж байна = Connect.Processing.ConnectExternalComponent.Create();
Холболтын үр дүн = Processing.ConnectionCCPComponents();
Хэрэв холболтын үр дүн гарвал
Driver = Processing.Driver;
EndIf;

Үл хамаарах зүйл
Үүнийг хийсэн эсвэл үүнтэй төстэй олдворуудтай тулгарсан хэн бүхэн тайлбарлана уу энгийн жишээзарчим нь өөрөө. Гадны бүрэлдэхүүн хэсгүүдийг холбоход бүх зүйл тодорхой болсон мэт санагдаж байна.

// Утгын хүснэгтийг бөглөх жишээ TK.Clear(); Хүсэлт = Шинэ хүсэлт; Query.Text = "СОНГОХ | Нэршил.Холбоос ХЭРХЭН Нэршил |FROM | Directory.Nomenclature AS Nomenclature"; Хүсэлтийн үр дүн = Request.Execute(); Сонголт = Хүсэлтийн үр дүн.Select(); While Selection.Next() Cycle Page = TK.Add(); Fill inPropertyValues(Page, Selection); EndCycle;
Энэ жишээг ашиглан кодын аль хэсгийг ихэвчлэн хасдагийг тайлбарлаж болох уу? Хүсэлт бүхий хэсгийг хасах нь логик байх болно, гэхдээ бид платформыг алгасах замаар гадны бүрэлдэхүүн хэсгээс мэдээллийн санд хэрхэн нэвтрэх вэ? Текстийг гаргаж ирэх нь утгагүй юм. Эсвэл хүснэгтийн хэсгийн хэлбэрийг гаргаж аваарай. Ийм зүйлтэй тулгарсан хүнтэй туршлагаа хуваалцаарай.

Хариулт:Тэгээд "Тохицдоггүй" гэдэг нь "Муу" гэсэн үг юм уу? Тийм ээ, хэрэв би өөрийн хэв маягийг "1С: Байгальд байдаг хамгийн муу скрипт хөдөлгүүрийн програмчлал (уран зохиолын хэл рүү орчуулсан)" гэж нэрлэвэл надад санагдаж байна. тэгээд энэ араатныг шалгах гэсэн хүмүүс гарах байх. Энэ нь сонгодог шиг харагдаж байна: "Би Пастернакийг уншаагүй, гэхдээ би түүнтэй огт санал нийлэхгүй байна!"

Асуулт: 1s 8.3.6 болон Win8 дээр гадаад бүрэлдэхүүн хэсгийг холбох


Та гадаад бүрэлдэхүүн хэсэг vk_rs232.dll-г өөрөө бичсэн тохиргоонд холбох хэрэгтэй. Энэ нь regsvr32.exe-ээр бүртгэгдсэн бололтой. Би "бүрэлдэхүүн бүртгэгдсэн, гэхдээ галт хананд ямар нэг зүйл буруу байна" гэсэн мессежийг хүлээн авсан болохоор "Энэ бололтой". Зурвасын эхний хагаст тулгуурлан би кодыг 1С дээр бичдэг
AfterConnecting = Шинэ анхааруулга тайлбар("AfterConnectingVK", ThisForm); StartInstallingExternalComponents(,"C:\Controller\vk_rs232.dll"); StartConnectingExternalComponents(AfterConnecting,"C:\Controller\vk_rs232.dll","DLL_Scales");
тэгээд би ийм алдааг олж авдаг
"Гадаад бүрэлдэхүүнийг суулгаж чадсангүй! Таны ашиглаж буй клиент програмын бүрэлдэхүүн хэсэг байхгүй байж магадгүй!".

Тэгээд одоо би ойлгохгүй байна:
1. Бүрэлдэхүүн хэсэг нь бүртгэлд бүртгэгдээгүй байж магадгүй - би тэнд яаж шалгах вэ?
2. Магадгүй түүний "хувилбар" нь Win8 дээр ажиллахгүй байж магадгүй ч надад 32 бит байгаа.
3. Магадгүй 1С өөрөө хэтэрхий шинэ, i.e. Үүний дагуу энэ dll-тэй ажиллах боломжгүй байна уу?
4. За, энэ нь өчүүхэн юм - Би буруу зүйл бичиж байна.

Хариулт:Энэ бүхэн намайг дараагийн асуудал руу хөтөлсөн. VneshComp суулгасан тул одоо та үүнийг холбох хэрэгтэй. Мөн энд хоёр сонголт байна
ConnectExternalComponent("C:\Controller\vk_rs232.dll","Libra")
ConnectExternalComponent("GeneralLayout.Layout","Libra")

airsoft-unity.ru - Уул уурхайн портал - Бизнесийн төрлүүд. Зааварчилгаа. Компаниуд. Маркетинг. Татвар