v8

package module
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2020 License: MIT Imports: 11 Imported by: 3

README

go-v8platform

ISC License

Реализация программного интерфейсом пакетного режима работы с 1С:Предприятием 8.x

Пример работы

package main

import "github.com/v8platform/api"

func main() {
	
  infobase := v8.NewFileIB("./infobase")
  //infobase := v8.NewServerIB("app", "demobase")
  
  what := v8.LoadCfg("./1cv8.cf")
  //what := v8.DumpCfg("./1cv8.cf)
  //what := v8.DumpIB("./1cv8.dt)
  
  err := v8.Run(infobase, what)
  //err := v8.Run(infobase, what)
  //err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
  //err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))
  
  if err != nil {
     println(err.Error())
  }
  
}

Документация

GoDoc

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func AgentMode

func AgentMode(visible bool) designer.AgentModeOptions

AgentMode получает команду запуска в режиме агента конфигуратора

func Background

func Background(ctx context.Context, where runner.Infobase, what runner.Command, opts ...interface{}) (runner.Process, error)

Background выполняет запуск команды пакетного режима 1С.Предприятие в контексте

	ctx - контекст выполнения команды
	where - место выполнения команды
 what - команда покетного режима
 opts - дополнительные опции запуска

Подробные примеры см. v8.Run

func CreateFileInfobase

func CreateFileInfobase(file string) designer.CreateFileInfoBaseOptions

CreateFileInfobase получает команду создания файловой информационной базы

func DisableCfgSupport

func DisableCfgSupport(force ...bool) designer.ManageCfgSupportOptions

DisableCfgSupport получает команду отключение поддержки конфигурации

Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.DisableCfgSupport()
	//what := v8.DisableCfgSupport(true)

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func DumpCfg

func DumpCfg(file string) designer.DumpCfgOptions

DumpCfg получает команду сохранения конфигурации в файл

Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.DumpCfg("./1cv8.cf")

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func DumpConfigToFiles

func DumpConfigToFiles(dir string, force ...bool) designer.DumpConfigToFilesOptions

DumpConfigToFiles получает команду сохранения конфигурации в файлы указанного каталога

Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.DumpConfigToFiles("./src")
	//what := v8.DumpConfigToFiles("./src", true)

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

Example (With_update)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.DumpConfigToFiles("./src").WithUpdate("./src/dumpInfo.xml")
	//what := v8.DumpConfigToFiles("./src", true)

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func DumpExtensionCfg

func DumpExtensionCfg(file, extension string) designer.DumpCfgOptions

LoadExtensionCfg получает команду выгрузки конфигурации в файл для расширения

func DumpExtensionConfigToFiles

func DumpExtensionConfigToFiles(dir, extension string, force bool) designer.DumpConfigToFilesOptions

DumpExtensionConfigToFiles получает команду сохранения конфигурации расширения в файлы указанного каталога

func DumpIB

func DumpIB(file string) designer.DumpIBOptions

DumpIB получает команду выгрузки данных информационной базы в файл

Example (File)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.NewInfobase("File=./file_ib;Locale=ru_RU;Usr=User;Pwd=Password;Prmod=1;LicDstr=Y;")

	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.DumpIB("./1cv8.dt")
	//what := v8.DumpCfg("./1cv8.cf)
	//what := v8.DumpIB("./1cv8.dt)

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

Example (Server)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase := v8.NewServerIB("app", "demobase")

	what := v8.DumpIB("./1cv8.dt")
	//what := v8.DumpCfg("./1cv8.cf)
	//what := v8.DumpIB("./1cv8.dt)

	err := v8.Run(infobase, what)
	//err := v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func Execute

func Execute(file string, params ...map[string]string) enterprise.ExecuteOptions

Execute получает команду выполнения внешней обработки в режиме предприятия

ВАЖНО! Обработка должна обязательно после работы закрывать приложение
Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	where, err := v8.CreateTempInfobase()

	if err != nil {
		log.Fatal(err)
	}

	epfFilePath := "./user_any.epf"

	what := v8.Execute(epfFilePath)

	if err := v8.Run(where, what); err != nil {
		log.Fatal(err)
	}
}
Output:

Example (Params)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	where, err := v8.CreateTempInfobase()

	if err != nil {
		log.Fatal(err)
	}

	epfFilePath := "./path_to_epf.epf"

	what := v8.Execute(epfFilePath, map[string]string{
		"param1": "any_string",
		"param2": "any_string",
	})

	if err := v8.Run(where, what); err != nil {
		log.Fatal(err)
	}
}
Output:

func GetChangesForConfigDump

func GetChangesForConfigDump(dir, file string, force ...bool) designer.GetChangesForConfigDumpOptions

GetChangesForConfigDump получает команду получения измнений конфигурации для указаного файла выгрузки конфигурации

Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {
	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.GetChangesForConfigDump("./src", "./src/dumpInfo.xml")

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

Example (Custom_dumpInfo)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {
	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.GetChangesForConfigDump("./src", "./src/dumpInfo.xml").
		WithConfigDumpInfo("./src/old_dumpInfo.xml")

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func IBRestoreIntegrity

func IBRestoreIntegrity() designer.IBRestoreIntegrityOptions

IBRestoreIntegrity получает команду восстановления структуры информационной базы

func LoadCfg

func LoadCfg(file string, updateDBCfg ...designer.UpdateDBCfgOptions) designer.LoadCfgOptions

LoadCfg получает команду загрузки конфигурации из файла Подробнее в пакете designer.LoadCfgOptions

Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.LoadCfg("./1cv8.cf")

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

Example (With_updateDBCfg)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}

	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.LoadCfg("./1cv8.cf").
		WithUpdateDBCfg(v8.UpdateDBCfg(false, false))

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func LoadConfigFromFiles

func LoadConfigFromFiles(dir string, updateDBCfg ...designer.UpdateDBCfgOptions) designer.LoadConfigFromFiles

LoadConfigFromFiles получает команду загрузки конфигурации из файлов каталога

Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.LoadConfigFromFiles("./src")
	//what := v8.LoadConfigFromFiles("./src", v8.UpdateDBCfg(false, false))

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

Example (With_files)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.LoadConfigFromFiles("./src").WithListFile("./listFiles.txt")
	//what := v8.LoadConfigFromFiles("./src").WithFiles("./src/file.xml", "./src/file2.xml")

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

Example (With_update_dump_info)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.LoadConfigFromFiles("./src").WithUpdateDumpInfo()

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func LoadExtensionCfg

func LoadExtensionCfg(file, extension string) designer.LoadCfgOptions

LoadExtensionCfg получает команду загрузки конфигурации из файла для расширения

func LoadExtensionConfigFromFiles

func LoadExtensionConfigFromFiles(dir, extension string) designer.LoadConfigFromFiles

LoadExtensionConfigFromFiles получает команду загрузки конфигурации расширения из файлов каталога

func NewRepository

func NewRepository(path string, userAndPassword ...string) designer.Repository

func NewTempDir

func NewTempDir(dir, pattern string) string

NewTempDir получает имя нового временного каталога

Example
package main

import (
	v8 "github.com/v8platform/api"
	"io/ioutil"
	"log"
	"os"
	"path/filepath"
)

func main() {
	content := []byte("temporary file's content")
	dir := v8.NewTempDir("", "example")

	defer os.RemoveAll(dir) // clean up

	tmpfn := filepath.Join(dir, "tmpfile")
	if err := ioutil.WriteFile(tmpfn, content, 0666); err != nil {
		log.Fatal(err)
	}
}
Output:

func NewTempFile

func NewTempFile(dir, pattern string) string

NewTempFile получает имя нового временного файла

func RepositoryUpdateCfg

func RepositoryUpdateCfg(repo designer.Repository, updateDBCfg ...designer.UpdateDBCfgOptions) designer.RepositoryUpdateCfgOptions

RepositoryUpdateCfg получает команду обновления конфигурации из хранилища конфигурации Подробнее в пакете designer.UpdateCfgOptions

func RestoreIB

func RestoreIB(file string) designer.RestoreIBOptions

RestoreIB получает команду восстановления данных информационной базы из файла

Example (File)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}

	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.RestoreIB("./1cv8.dt")
	//what := v8.DumpCfg("./1cv8.cf)
	//what := v8.DumpIB("./1cv8.dt)

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func RollbackCfg

func RollbackCfg() designer.RollbackCfgOptions

DisableCfgSupport получает команду возврата конфигруации к конфигурации БД

Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	err = v8.Run(infobase, v8.RollbackCfg())
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func RollbackExtensionCfg

func RollbackExtensionCfg(extension string) designer.RollbackCfgOptions

RollbackExtensionCfg получает команду возврата конфигруации расширения к конфигурации хранящейся БД

func Run

func Run(where runner.Infobase, what runner.Command, opts ...interface{}) error

Run выполняет запуск команды пакетного режима 1С.Предприятие

	where - место выполнения команды
 what - команда покетного режима
 opts - дополнительные опции запуска
Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}

	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.RestoreIB("./1cv8.dt")
	//what := v8.DumpCfg("./1cv8.cf)
	//what := v8.DumpIB("./1cv8.dt)

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

Example (With_opts)
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}

	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.RestoreIB("./1cv8.dt")
	//what := v8.DumpCfg("./1cv8.cf)
	//what := v8.DumpIB("./1cv8.dt)

	err = v8.Run(infobase, what,
		v8.WithTimeout(1), // указание таймаута выполнения в секундах
	//v8.WithPath("path-to-exe"), // указание пути к исполняемому файлу 1С.Предприятие
	//v8.WithUnlockCode("123"), // указание кода блокировки информационной базы
	//v8.WithDumpResult("./dump_result.txt"), // указание файла результата выполенния операции
	//v8.WithOut("./out.txt", false), // указание файла в который будет записан вывод консоли 1С.Предприятие
	//v8.WithVersion("8.3.16"), // Указание конкретной версии. Не работает с опцией v8.WithPath
	//v8.WithCredentials("Администратор", ""), // Указание пользователя и пароля для информационной базы
	//v8.WithCommonValues("/Visible", "/DisableStartupDialogs"), // Указание дополнительных опций запуска
	)

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func UpdateCfg

func UpdateCfg(file string, force bool, updateDBCfg ...designer.UpdateDBCfgOptions) designer.UpdateCfgOptions

UpdateCfg получает команду обновления конфигурации из файла Подробнее в пакете designer.UpdateCfgOptions

Example
package main

import (
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	infobase, err := v8.CreateTempInfobase()
	if err != nil {
		log.Fatal(err)
	}
	//infobase := v8.NewFileIB("./infobase")
	//infobase := v8.NewServerIB("app", "demobase")

	what := v8.UpdateCfg("./1cv8.cf", false)
	//what := v8.UpdateCfg("./1cv8.cf", false, v8.UpdateDBCfg(false, false))

	err = v8.Run(infobase, what)
	//err := v8.Run(infobase, what, v8.WithTimeout(1), v8.WithPath("path-to-exe"))
	//err := v8.Run(infobase, what, v8.WithCredentials("infobase-user","pwd"), v8.WithUnlockCode("123"))

	if err != nil {
		log.Fatal(err)
	}
}
Output:

func UpdateDBCfg

func UpdateDBCfg(server bool, Dynamic bool) designer.UpdateDBCfgOptions

UpdateDBCfg получает команду обновление конфигурации информационной базы

func UpdateDBExtensionCfg

func UpdateDBExtensionCfg(extension string, server bool, Dynamic bool) designer.UpdateDBCfgOptions

UpdateDBExtensionCfg получает команду обновление конфигурации расшинения информационной базы

func UpdateExtensionDBCfg

func UpdateExtensionDBCfg(extension string, server bool, dynamic bool) designer.UpdateDBCfgOptions

UpdateExtensionDBCfg получает команду обновление конфигурации расширения в информационной базы

func WithCommonValues

func WithCommonValues(cv ...string) runner.Option

WithCommonValues указание дополнительных произвольных ключей выполнения операции

	Например следующие ключи:
 	"/Visible", "/DisableStartupDialogs"

func WithContext

func WithContext(ctx context.Context) runner.Option

WithContext указании контекста выполнения операции

func WithCredentials

func WithCredentials(user, password string) runner.Option

WithCredentials указание пользователя и пароля для авторизации в информационной базе

Дополнительно будут указаны следующие ключи:
	/U <user>
	/P <password>

func WithDumpResult

func WithDumpResult(file string) runner.Option

WithDumpResult указание файла результата выполенния операции

func WithOut

func WithOut(file string, noTruncate bool) runner.Option

WithContext указание файла в который будет записан вывод консоли 1С.Предприятие

func WithPath

func WithPath(path string) runner.Option

WithPath указание пути к исполняемому файлу 1С.Предприятие

func WithTimeout

func WithTimeout(timeout int64) runner.Option

WithTimeout указании таймаута выполнения операции (в секундах)

func WithUC

func WithUC(uc string) runner.Option

WithUC см. v8.WithUnlockCode

func WithUnlockCode

func WithUnlockCode(uc string) runner.Option

WithUnlockCode указание ключа доступа к информационной базе

func WithVersion

func WithVersion(version string) runner.Option

WithVersion указание конкретной версии. Не работает с опцией v8.WithPath

Types

type Command

type Command interface {
	runner.Command
}

Command описывает интерфейс команд пакетного запуска конфигуратора

type ConnectPath

type ConnectPath interface {
	// Должно  возвращать:
	// 	1. Для подключения файловой базе "File='./file_path';"
	// 	2. Для подключения серверной базе "Srvr=localhost;Ref='infobase_name'"
	// 	1. Для подключения по тонкому клиенту "Ws=http://localhost/ws/buh;"
	String() string
}

ConnectPath Описание интерфейса для создания пути подключения к информационной базе

type ConnectionString

type ConnectionString interface {
	ConnectionString() string
}

ConnectionString описывает интерфейс для получения строки подключения

Пример:
	/IBConnectionString File='./file_ib';Usr=User;Pwd=Password;LicDstr=Y;Prmod=1;Locale=ru_RU;

type DatabaseSeparator

type DatabaseSeparator struct {
	Use   bool
	Value string
}

func (DatabaseSeparator) MarshalV8

func (t DatabaseSeparator) MarshalV8() (string, error)

type DatabaseSeparatorList

type DatabaseSeparatorList []DatabaseSeparator

func ParseDatabaseSeparatorList

func ParseDatabaseSeparatorList(stringValue string) (DatabaseSeparatorList, error)

func (DatabaseSeparatorList) MarshalV8

func (t DatabaseSeparatorList) MarshalV8() (string, error)

type FilePath

type FilePath struct {

	// имя каталога, в котором размещается файл информационной базы;
	File string `v8:"File, equal_sep, quotes" json:"file"`
}

FilePath Описывает подключение к файловой базе данных

func (FilePath) String

func (f FilePath) String() string

String Полученияе строки подлючения по заданным полям

type Infobase

type Infobase struct {
	// Описание подключения к информационной базе
	Connect ConnectPath `v8:",inherit" json:"path"`

	// имя пользователя;
	User string `v8:"Usr, equal_sep, optional" json:"user"`

	// пароль;
	Password string `v8:"Pwd, equal_sep, optional" json:"password"`

	// разрешить получение клиентских лицензий через сервер "1С:Предприятия" ("Y"|"N").
	//  "Y" — получать клиентскую лицензию через сервер "1С:Предприятия".
	//  	Если клиентское приложение не получило программную лицензию
	//  	или аппаратную лицензию из локального ключа HASP или из сетевого ключа HASP,
	//  	то производится попытка получения клиентской лицензии через сервер 1С:Предприятия.
	//  "N" — не получать клиентскую лицензию через сервер "1С:Предприятия".
	//
	//  Значение по умолчанию — "N". / false
	AllowServerLicenses bool `v8:"LicDstr, equal_sep, optional, bool_true=Y" json:"lic_dstr"`

	//	установка разделителей.
	//
	//	ZN=<Общий реквизит 1>,<Общий реквизит 2>,...,<Общий реквизит N>
	//
	//	<Общий реквизит> = [<+>|<->]<значение общего реквизита>
	//
	//	[<+>|<->] - признак использования: "+" (по умолчанию) - реквизит используется; "-" - не используется;
	//	Если разделитель не используется, то перед значением должен быть "-".
	//	Если первым символом в значении разделителя содержится символ "+" или "-", то при указании его нужно удваивать.
	//	<значение общего реквизита> - значение общего реквизита. Если в значении разделителя присутствует запятая,
	//	то при указании ее нужно удваивать.
	//	Если значение разделителя пропущено, но разделитель должен использоваться, то используется символ "+".
	//	Разделители разделяются запятой.
	//	Например:
	//	"Zn=-ПервыйРазделитель,+,---ТретийРазделитель", что означает:
	//	Первый разделитель выключен, значение – "ПервыйРазделитель",
	//	Второй разделитель включен, значение – пустая строка,
	//	Третий разделитель выключен, значение – "-ТретийРазделитель".
	SeparatorList DatabaseSeparatorList `v8:"ZN, equal_sep, optional" json:"zn"`

	// запуск в режиме привилегированного сеанса.
	// Разрешен аутентифицированному пользователю, имеющему административные права.
	// Журнал регистрации фиксирует установку или отказ в возможности установки режима привилегированного сеанса.
	// prmod=1 - привилегированный сеанс устанавливается.
	UsePrivilegedMode bool `v8:"Prmod, equal_sep, optional, bool_true=1" json:"prmod"`

	// язык (страна), который будет использован при открытии или создании информационной базы.
	// Допустимые значения такие же как у параметра <Форматная строка> метода Формат().
	// Параметр Locale задавать не обязательно.
	// Если не задан, то будут использованы региональные установки текущей информационной базы;
	Locale string `v8:"Locale, optional, equal_sep" json:"locale"`
}

Infobase Описание структуры подключения к информационной базе

Пример создания файловой базы базы:
	ib := &v8.Infobase{
		Connect:             v8.FilePath{File: "./infobase_path"},
		User:                "Admin",
		Password:            "password",
	}
Example (File)
package main

import (
	"fmt"
	v8 "github.com/v8platform/api"
)

func main() {

	ib := &v8.Infobase{
		Connect:  v8.FilePath{File: "./infobase_path"},
		User:     "Admin",
		Password: "password",
	}

	connStr := ib.ConnectionString()

	fmt.Printf("ConnectionString: %s", connStr)

}
Output:

ConnectionString: /IBConnectionString File='./infobase_path';Usr=Admin;Pwd=password

func CreateInfobase

func CreateInfobase(create runner.Command, opts ...interface{}) (*Infobase, error)

CreateInfobase выполняет создаение новой информационной базы по переданным параметрам

func CreateTempInfobase

func CreateTempInfobase(opts ...interface{}) (*Infobase, error)

CreateTempInfobase выполняет создаение новой временной информационной базы

func NewFileIB

func NewFileIB(path string) Infobase

NewFileIB получет файловую информационную базы по пути к каталогу

func NewFileInfobase

func NewFileInfobase(file string) *Infobase

NewFileInfobase Получает новую файловую информационную базы по ее каталогу

func NewInfobase

func NewInfobase(connectingString string) (ib *Infobase, err error)

NewInfobase Получает новую информационную базы из переданной строки

Example (Connect)
package main

import (
	"fmt"
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	ib, err := v8.NewInfobase("File=./file_ib;Locale=ru_RU;Usr=User;Pwd=Password;Prmod=1;LicDstr=Y;")

	if err != nil {
		log.Fatal(err)
	}

	connStr := ib.ConnectionString()

	fmt.Printf("ConnectionString: %s", connStr)

}
Output:

ConnectionString: /IBConnectionString File='./file_ib';Usr=User;Pwd=Password;LicDstr=Y;Prmod=1;Locale=ru_RU
Example (From_path)
package main

import (
	"fmt"
	v8 "github.com/v8platform/api"
	"log"
)

func main() {

	ib, err := v8.NewInfobase("./.github")

	if err != nil {
		log.Fatal(err)
	}

	connStr := ib.ConnectionString()

	fmt.Printf("ConnectionString: %s", connStr)

}
Output:

ConnectionString: /IBConnectionString File='./.github';

func NewServerIB

func NewServerIB(server, ref string) Infobase

NewServerIB получет серверную информационную базы по имени сервера и базы на нем

func NewTempIB

func NewTempIB() (*Infobase, error)

NewTempIB создает новую временную информационную базы

func ParseConnectionString

func ParseConnectionString(connectingString string) (ib *Infobase, err error)

ParseConnectionString Парсит строки подключения к информационной базе и получение из нее информаицонную базу

func (Infobase) ConnectionString

func (ib Infobase) ConnectionString() string

ConnectionString Реализация интерфейса для v8.ConnectionString

Example (File)
package main

import (
	"fmt"
	v8 "github.com/v8platform/api"
)

func main() {

	ib := &v8.Infobase{
		Connect:  v8.FilePath{File: "./infobase_path"},
		User:     "Admin",
		Password: "password",
	}

	connStr := ib.ConnectionString()

	fmt.Printf("ConnectionString: %s", connStr)

}
Output:

ConnectionString: /IBConnectionString File='./infobase_path';Usr=Admin;Pwd=password
Example (Server)
package main

import (
	"fmt"
	v8 "github.com/v8platform/api"
)

func main() {

	ib := &v8.Infobase{
		Connect:  v8.ServerPath{Server: "server", Ref: "ib_name"},
		User:     "Admin",
		Password: "password",
	}

	connStr := ib.ConnectionString()

	fmt.Printf("ConnectionString: %s", connStr)

}
Output:

ConnectionString: /IBConnectionString Srvr=server;Ref='ib_name';Usr=Admin;Pwd=password

type ServerPath

type ServerPath struct {
	//имя сервера «1С:Предприятия» в формате: [<протокол>://]<адрес>[:<порт>], где:
	//<протокол> – не обязателен, поддерживается только протокол TCP,
	//<адрес> – имя сервера или IP-адрес сервера в форматах IPv4 или IPv6,
	//<порт> – не обязателен, порт главного менеджера кластера, по умолчанию равен 1541.
	Server string `v8:"Srvr, equal_sep" json:"srvr"`

	//имя информационной базы на сервере "1С:Предприятия";
	Ref string `v8:"Ref, equal_sep, quotes" json:"ref"`
}

ServerPath Описывает подключение к серверной базе данных

func (ServerPath) String

func (s ServerPath) String() string

String Полученияе строки подлючения по заданным полям

type WsPath

type WsPath struct {

	// путь подключения для тонкого клиента
	Ws string `v8:"Ws, equal_sep" json:"ws"`
}

WsPath Описывает подключение по тонкому клиенту

func (WsPath) String

func (f WsPath) String() string

String Полученияе строки подлючения по заданным полям

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL