Stan początkowy: XL-API 20251

Projekt ImportDokMag w wersji korzystającej z XL-API 20251
(cdn_api20251.net.dll), z połączeniem do bazy źródłowej przez
uwierzytelnianie Windows. Foldery .svn/ i Publikuj/ są poza repozytorium.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
KrzysztofandClaude Opus 5.5 committed 2026-10-14 12:12:42 +02:00
commit 2e2dc4eb8d
35 files changed
+11488

No files matched your search

+63
View File
@@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain
+369
View File
@@ -0,0 +1,369 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
# Subversion
.svn/
# Wyniki publikacji ClickOnce
Publikuj/
Binary file not shown.
+46
View File
@@ -0,0 +1,46 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'my_ImpDM_Dekr' AND user_name(uid) = 'CDN')
DROP PROCEDURE [CDN].my_ImpDM_Dekr
GO
CREATE PROCEDURE [CDN].my_ImpDM_Dekr
(
@DZKNr int -- 1 - DZK_DIGNumer
)
AS
SET NOCOUNT ON;
declare @DEB table(DT_GIDNumer int, DT_GIDLp int, DT_DC int, DT_Konto varchar(100), DT_Kwota decimal(21,2), DT_DataCentrali int)
declare @CRE table(DT_GIDNumer int, DT_GIDLp int, DT_DC int, DT_Konto varchar(100), DT_Kwota decimal(21,2), DT_DataCentrali int)
insert into @DEB
select DT_GIDNumer, DT_GIDLp, DT_DC, DT_Konto, DT_Kwota, DT_DataCentrali from CDN.Dekrety where DT_DC = 1 and DT_GIDNumer = @DZKNr
insert into @CRE
select DT_GIDNumer, DT_GIDLp, DT_DC, DT_Konto, DT_Kwota, DT_DataCentrali from CDN.Dekrety where DT_DC = 2 and DT_GIDNumer = @DZKNr
SELECT Lp = ROW_NUMBER() OVER(ORDER BY DZK_Opis, DEL_Opis, deb.DT_Konto, cre.DT_Konto),
DZK_Opis = left (DZK_Opis, 80),
[Data] = DEL_DataWyst,
DataDokumentu = DEL_DataOper,
Kwota = deb.DT_Kwota,
DokZr = DZK_DokumentZrodlowy,
KontoDebet = deb.DT_Konto,
KontoCredit = cre.DT_Konto,
Identyfikator = left(DZK_Opis, 80),
Opis = left(DEL_Opis, 80),
DataImportu = CDN.TsToDate(coalesce(deb.DT_DataCentrali, 0), 1)
FROM CDN.Dziennik inner join CDN.DziennikElem on DZK_GIDNumer = DEL_GIDNumer
inner join @DEB deb ON deb.DT_GIDNumer = DEL_GIDNumer and deb.DT_GIDLp = DEL_GIDLp
inner join @CRE cre ON cre.DT_GIDNumer = DEL_GIDNumer and cre.DT_GIDLp = DEL_GIDLp
where DZK_GIDNumer = @DZKNr
order by 1
GO
GRANT execute ON CDN.my_ImpDM_Dekr TO CDNRaport
GO
Binary file not shown.
+64
View File
@@ -0,0 +1,64 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'my_ImpDM_Src' AND user_name(uid) = 'CDN')
DROP PROCEDURE [CDN].my_ImpDM_Src
GO
CREATE PROCEDURE [CDN].my_ImpDM_Src
(
@SP int, -- 1 - uwzglêdniaæ WZ, WZE i ich korekty
@ZAK int, -- 1 - uwzglêdniaæ PZ, PZI i ich korekty
@WEW int, -- 1 - uwzglêdniaæ RW, PW i ich korekty
@RM int, -- TrN_RokMiesiac
@Rok int, -- Rok
@Miesiac int -- Miesi¹c
)
AS
SET NOCOUNT ON;
declare @TN table(Dokument varchar(255), RokMiesiac int, TrN_GIDTyp int, TrN_GIDNumer int, TrN_Zaksiegowano int, DataDok int)
declare @DEB table(DT_GIDNumer int, DT_GIDLp int, DT_DC int, DT_Konto varchar(50), DT_Kwota decimal(21,2), DT_DataCentrali int)
declare @CRE table(DT_GIDNumer int, DT_GIDLp int, DT_DC int, DT_Konto varchar(50), DT_Kwota decimal(21,2), DT_DataCentrali int)
insert into @TN
select CDN.NazwaObiektu(TrN_GIDTyp, TrN_GIDNumer, 0, 2) as Dokument, TrN_RokMiesiac as RokMiesiac, TrN_GIDTyp, TrN_GIDNumer, TrN_Zaksiegowano, TrN_Data3
from (select TrN_GIDTyp, TrN_GIDNumer, TrN_RokMiesiac, TrN_Zaksiegowano, TrN_Data3 from CDN.TraNag
where TrN_Zaksiegowano > 0 and TrN_RokMiesiac = @RM and
( case when @WEW > 0 then case TrN_GIDTyp when 1616 then 1 when 1624 then 1 when 1617 then 1 when 1625 then 1 else 0 end else 0 end > 0 or
case when @ZAK > 0 then case TrN_GIDTyp when 1489 then 1 when 1497 then 1 when 1490 then 1 when 1498 then 1 else 0 end else 0 end > 0 or
case when @SP > 0 then case TrN_GIDTyp when 2001 then 1 when 2009 then 1 when 2015 then 1 when 2013 then 1 else 0 end else 0 end > 0)) TTT
insert into @DEB
select DT_GIDNumer, DT_GIDLp, DT_DC, DT_Konto, DT_Kwota, DT_DataCentrali from CDN.Dekrety where DT_DC = 1 and DT_Rok = @Rok and DT_Miesiac = @Miesiac
insert into @CRE
select DT_GIDNumer, DT_GIDLp, DT_DC, DT_Konto, DT_Kwota, DT_DataCentrali from CDN.Dekrety where DT_DC = 2 and DT_Rok = @Rok and DT_Miesiac = @Miesiac
select Lp = ROW_NUMBER() OVER(ORDER BY Dokument, deb.DT_Konto, cre.DT_Konto),
Dokument,
DEL_Opis,
RokMiesiac,
DataWyst = CDN.TsToDate(CDN.Data(DZK_Rok, DZK_Miesiac, DZK_Dzien), 0),
DataOper = CDN.TsToDate(DataDok, 0),
DokZr = DZK_DokumentZrodlowy,
TrN_GIDNumer,
Dekret = DZK_GIDNumer,
DZK_Dziennik,
Konto_Wn = deb.DT_Konto,
Kwota_Wn = deb.DT_Kwota,
Konto_Ma = cre.DT_Konto,
Kwota_Ma = cre.DT_Kwota,
DataImportu = CDN.TsToDate(deb.DT_DataCentrali, 1),
DZK_SumaCT,
DZK_SumaDT
from @TN inner join CDN.Dziennik on substring(DZK_Opis, 1, len(Dokument)) = Dokument and DZK_Rok = @Rok and DZK_Miesiac = @Miesiac
inner join CDN.DziennikElem on DZK_GIDNumer = DEL_GIDNumer
inner join @DEB deb ON deb.DT_GIDNumer = DEL_GIDNumer and deb.DT_GIDLp = DEL_GIDLp
inner join @CRE cre ON cre.DT_GIDNumer = DEL_GIDNumer and cre.DT_GIDLp = DEL_GIDLp
order by 1
GO
GRANT execute ON CDN.my_ImpDM_Src TO CDNRaport
GO
Binary file not shown.
+14
View File
@@ -0,0 +1,14 @@
{
"folders": [
{
"path": "."
},
{
"path": "../../../../../cris/Documents/CursorProjects/XLBAZA"
},
{
"path": "../../../../../cris/Documents/CursorProjects/XLAPI"
}
],
"settings": {}
}
+32
View File
@@ -0,0 +1,32 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
VisualStudioVersion = 18.10.12224.181 stable
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ImportDokMag", "ImportDokMag\ImportDokMag.vbproj", "{ACEDBC4B-04AD-423D-B0D7-B930B9998493}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{ACEDBC4B-04AD-423D-B0D7-B930B9998493}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ACEDBC4B-04AD-423D-B0D7-B930B9998493}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ACEDBC4B-04AD-423D-B0D7-B930B9998493}.Debug|x86.ActiveCfg = Debug|x86
{ACEDBC4B-04AD-423D-B0D7-B930B9998493}.Debug|x86.Build.0 = Debug|x86
{ACEDBC4B-04AD-423D-B0D7-B930B9998493}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ACEDBC4B-04AD-423D-B0D7-B930B9998493}.Release|Any CPU.Build.0 = Release|Any CPU
{ACEDBC4B-04AD-423D-B0D7-B930B9998493}.Release|x86.ActiveCfg = Release|x86
{ACEDBC4B-04AD-423D-B0D7-B930B9998493}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
VisualSVNWorkingCopyRoot = .
SolutionGuid = {A76FA861-F012-47CB-BECF-773D69AFCEEF}
EndGlobalSection
EndGlobal
+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ImportDokMag.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
</configSections>
<connectionStrings>
<add name="ImportDokMag.My.MySettings.CS_Src" connectionString="Data Source=crispcl\erp;Initial Catalog=ERPXL_test;Integrated Security=True;TrustServerCertificate=True"
providerName="Microsoft.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
<userSettings>
<ImportDokMag.My.MySettings>
<setting name="FolderR_Roboczy" serializeAs="String">
<value>c:\temp</value>
</setting>
<setting name="SerwerKlucza" serializeAs="String">
<value>crispcl\erp</value>
</setting>
<setting name="Seria" serializeAs="String">
<value>MAGJ</value>
</setting>
<setting name="SerwerSrc" serializeAs="String">
<value>crispcl\erp</value>
</setting>
<setting name="MCsrc" serializeAs="String">
<value />
</setting>
<setting name="Comsrc" serializeAs="String">
<value />
</setting>
<setting name="BazaSrc" serializeAs="String">
<value>ERPXL_Test</value>
</setting>
<setting name="check" serializeAs="String">
<value />
</setting>
<setting name="BazaDst" serializeAs="String">
<value>CDNXL_GOTEC_80_20210809</value>
</setting>
</ImportDokMag.My.MySettings>
</userSettings>
</configuration>
+3412
View File
File diff suppressed because it is too large. Load diff
+2
View File
@@ -0,0 +1,2 @@
Partial Class DsMain
End Class
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--<autogenerated>
This code was generated by a tool.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TableUISettings />
</DataSetUISetting>
+251
View File
@@ -0,0 +1,251 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="DsMain" targetNamespace="http://tempuri.org/DsMain.xsd" xmlns:mstns="http://tempuri.org/DsMain.xsd" xmlns="http://tempuri.org/DsMain.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:annotation>
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections>
<Connection AppSettingsObjectName="MySettings" AppSettingsPropertyName="CS_Src" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="CS_Src (MySettings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.ImportDokMag.My.MySettings.GlobalReference.Default.CS_Src" Provider="System.Data.SqlClient" />
</Connections>
<Tables>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="Tamy_ImpDM_Src" GeneratorDataComponentClassName="Tamy_ImpDM_Src" Name="Tbmy_ImpDM_Src" UserDataComponentName="Tamy_ImpDM_Src">
<MainSource>
<DbSource ConnectionRef="CS_Src (MySettings)" DbObjectName="CDNXL_GOTEC_J_BI.CDN.my_ImpDM_Src" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>CDN.my_ImpDM_Src</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SP" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@ZAK" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@WEW" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@RM" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Rok" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Miesiac" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="varchar" DbType="AnsiString" Direction="Input" ParameterName="@Konto" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Import" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="Lp" DataSetColumn="Lp" />
<Mapping SourceColumn="Dokument" DataSetColumn="Dokument" />
<Mapping SourceColumn="RokMiesiac" DataSetColumn="RokMiesiac" />
<Mapping SourceColumn="DataWyst" DataSetColumn="DataWyst" />
<Mapping SourceColumn="DataOper" DataSetColumn="DataOper" />
<Mapping SourceColumn="DokZr" DataSetColumn="DokZr" />
<Mapping SourceColumn="Dekret" DataSetColumn="Dekret" />
<Mapping SourceColumn="DZK_Dziennik" DataSetColumn="DZK_Dziennik" />
<Mapping SourceColumn="DataImportu" DataSetColumn="DataImportu" />
<Mapping SourceColumn="DZK_Opis" DataSetColumn="DZK_Opis" />
<Mapping SourceColumn="SumaCT" DataSetColumn="SumaCT" />
<Mapping SourceColumn="SumaDT" DataSetColumn="SumaDT" />
<Mapping SourceColumn="Magazyn" DataSetColumn="Magazyn" />
<Mapping SourceColumn="Kontrahent" DataSetColumn="Kontrahent" />
<Mapping SourceColumn="Opis" DataSetColumn="Opis" />
<Mapping SourceColumn="DokKoryg" DataSetColumn="DokKoryg" />
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="Tamy_ImpDM_Dekr" GeneratorDataComponentClassName="Tamy_ImpDM_Dekr" Name="Tbmy_ImpDM_Dekr" UserDataComponentName="Tamy_ImpDM_Dekr">
<MainSource>
<DbSource ConnectionRef="CS_Src (MySettings)" DbObjectName="CDNXL_GOTEC_J_BI.CDN.my_ImpDM_Dekr" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>CDN.my_ImpDM_Dekr</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@DZKNr" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="Lp" DataSetColumn="Lp" />
<Mapping SourceColumn="DZK_Opis" DataSetColumn="DZK_Opis" />
<Mapping SourceColumn="Data" DataSetColumn="Data" />
<Mapping SourceColumn="DataDokumentu" DataSetColumn="DataDokumentu" />
<Mapping SourceColumn="Kwota" DataSetColumn="Kwota" />
<Mapping SourceColumn="DokZr" DataSetColumn="DokZr" />
<Mapping SourceColumn="KontoDebet" DataSetColumn="KontoDebet" />
<Mapping SourceColumn="KontoCredit" DataSetColumn="KontoCredit" />
<Mapping SourceColumn="Identyfikator" DataSetColumn="Identyfikator" />
<Mapping SourceColumn="Opis" DataSetColumn="Opis" />
<Mapping SourceColumn="DataImportu" DataSetColumn="DataImportu" />
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="Tamy_ImpDM_Konta" GeneratorDataComponentClassName="Tamy_ImpDM_Konta" Name="Tbmy_ImpDM_Konta" UserDataComponentName="Tamy_ImpDM_Konta">
<MainSource>
<DbSource ConnectionRef="CS_Src (MySettings)" DbObjectName="CDNXL_GOTEC_J_BI.CDN.my_ImpDM_Konta" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>CDN.my_ImpDM_Konta</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@Rok" Precision="5" ProviderType="SmallInt" Scale="0" Size="2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@Miesiac" Precision="5" ProviderType="SmallInt" Scale="0" Size="2" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="Konto" DataSetColumn="Konto" />
</Mappings>
<Sources />
</TableAdapter>
</Tables>
<Sources />
</DataSource>
</xs:appinfo>
</xs:annotation>
<xs:element name="DsMain" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="DsMain" msprop:EnableTableAdapterManager="True" msprop:Generator_DataSetName="DsMain">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Tbmy_ImpDM_Src" msprop:Generator_RowEvHandlerName="Tbmy_ImpDM_SrcRowChangeEventHandler" msprop:Generator_RowDeletedName="Tbmy_ImpDM_SrcRowDeleted" msprop:Generator_RowDeletingName="Tbmy_ImpDM_SrcRowDeleting" msprop:Generator_RowEvArgName="Tbmy_ImpDM_SrcRowChangeEvent" msprop:Generator_TablePropName="Tbmy_ImpDM_Src" msprop:Generator_RowChangedName="Tbmy_ImpDM_SrcRowChanged" msprop:Generator_UserTableName="Tbmy_ImpDM_Src" msprop:Generator_RowChangingName="Tbmy_ImpDM_SrcRowChanging" msprop:Generator_RowClassName="Tbmy_ImpDM_SrcRow" msprop:Generator_TableClassName="Tbmy_ImpDM_SrcDataTable" msprop:Generator_TableVarName="tableTbmy_ImpDM_Src">
<xs:complexType>
<xs:sequence>
<xs:element name="Lp" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="LpColumn" msprop:Generator_ColumnPropNameInRow="Lp" msprop:Generator_UserColumnName="Lp" msprop:Generator_ColumnVarNameInTable="columnLp" type="xs:long" default="0" minOccurs="0" />
<xs:element name="Dokument" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="DokumentColumn" msprop:nullValue="_null" msprop:Generator_ColumnPropNameInRow="Dokument" msprop:Generator_UserColumnName="Dokument" msprop:Generator_ColumnVarNameInTable="columnDokument" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RokMiesiac" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="RokMiesiacColumn" msprop:Generator_ColumnPropNameInRow="RokMiesiac" msprop:Generator_UserColumnName="RokMiesiac" msprop:Generator_ColumnVarNameInTable="columnRokMiesiac" type="xs:int" default="200001" minOccurs="0" />
<xs:element name="DataWyst" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="DataWystColumn" msprop:Generator_ColumnPropNameInRow="DataWyst" msprop:Generator_UserColumnName="DataWyst" msprop:Generator_ColumnVarNameInTable="columnDataWyst" type="xs:dateTime" minOccurs="0" />
<xs:element name="DataOper" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="DataOperColumn" msprop:Generator_ColumnPropNameInRow="DataOper" msprop:Generator_UserColumnName="DataOper" msprop:Generator_ColumnVarNameInTable="columnDataOper" type="xs:dateTime" minOccurs="0" />
<xs:element name="DokZr" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="DokZrColumn" msprop:nullValue="_null" msprop:Generator_ColumnPropNameInRow="DokZr" msprop:Generator_UserColumnName="DokZr" msprop:Generator_ColumnVarNameInTable="columnDokZr" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Dekret" msdata:ReadOnly="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInTable="DekretColumn" msprop:Generator_ColumnPropNameInRow="Dekret" msprop:Generator_UserColumnName="Dekret" msprop:Generator_ColumnVarNameInTable="columnDekret" type="xs:int" />
<xs:element name="DZK_Dziennik" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="DZK_DziennikColumn" msprop:nullValue="_null" msprop:Generator_ColumnPropNameInRow="DZK_Dziennik" msprop:Generator_UserColumnName="DZK_Dziennik" msprop:Generator_ColumnVarNameInTable="columnDZK_Dziennik" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="5" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DataImportu" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="DataImportuColumn" msprop:Generator_ColumnPropNameInRow="DataImportu" msprop:Generator_UserColumnName="DataImportu" msprop:Generator_ColumnVarNameInTable="columnDataImportu" type="xs:dateTime" minOccurs="0" />
<xs:element name="DZK_Opis" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="DZK_OpisColumn" msprop:nullValue="_null" msprop:Generator_ColumnPropNameInRow="DZK_Opis" msprop:Generator_UserColumnName="DZK_Opis" msprop:Generator_ColumnVarNameInTable="columnDZK_Opis" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SumaCT" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="SumaCTColumn" msprop:Generator_ColumnPropNameInRow="SumaCT" msprop:Generator_UserColumnName="SumaCT" msprop:Generator_ColumnVarNameInTable="columnSumaCT" type="xs:decimal" minOccurs="0" />
<xs:element name="SumaDT" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="SumaDTColumn" msprop:Generator_ColumnPropNameInRow="SumaDT" msprop:Generator_UserColumnName="SumaDT" msprop:Generator_ColumnVarNameInTable="columnSumaDT" type="xs:decimal" minOccurs="0" />
<xs:element name="Magazyn" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="MagazynColumn" msprop:nullValue="_null" msprop:Generator_ColumnPropNameInRow="Magazyn" msprop:Generator_UserColumnName="Magazyn" msprop:Generator_ColumnVarNameInTable="columnMagazyn" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Kontrahent" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="KontrahentColumn" msprop:nullValue="_null" msprop:Generator_ColumnPropNameInRow="Kontrahent" msprop:Generator_UserColumnName="Kontrahent" msprop:Generator_ColumnVarNameInTable="columnKontrahent" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Opis" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="OpisColumn" msprop:nullValue="_null" msprop:Generator_ColumnPropNameInRow="Opis" msprop:Generator_UserColumnName="Opis" msprop:Generator_ColumnVarNameInTable="columnOpis" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DokKoryg" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="DokKorygColumn" msprop:nullValue="_null" msprop:Generator_ColumnPropNameInRow="DokKoryg" msprop:Generator_UserColumnName="DokKoryg" msprop:Generator_ColumnVarNameInTable="columnDokKoryg" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Tbmy_ImpDM_Dekr" msprop:Generator_RowEvHandlerName="Tbmy_ImpDM_DekrRowChangeEventHandler" msprop:Generator_RowDeletedName="Tbmy_ImpDM_DekrRowDeleted" msprop:Generator_RowDeletingName="Tbmy_ImpDM_DekrRowDeleting" msprop:Generator_RowEvArgName="Tbmy_ImpDM_DekrRowChangeEvent" msprop:Generator_TablePropName="Tbmy_ImpDM_Dekr" msprop:Generator_RowChangedName="Tbmy_ImpDM_DekrRowChanged" msprop:Generator_UserTableName="Tbmy_ImpDM_Dekr" msprop:Generator_RowChangingName="Tbmy_ImpDM_DekrRowChanging" msprop:Generator_RowClassName="Tbmy_ImpDM_DekrRow" msprop:Generator_TableClassName="Tbmy_ImpDM_DekrDataTable" msprop:Generator_TableVarName="tableTbmy_ImpDM_Dekr">
<xs:complexType>
<xs:sequence>
<xs:element name="Lp" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="LpColumn" msprop:Generator_ColumnPropNameInRow="Lp" msprop:Generator_UserColumnName="Lp" msprop:Generator_ColumnVarNameInTable="columnLp" type="xs:long" minOccurs="0" />
<xs:element name="DZK_Opis" msprop:Generator_ColumnPropNameInTable="DZK_OpisColumn" msprop:Generator_ColumnPropNameInRow="DZK_Opis" msprop:Generator_UserColumnName="DZK_Opis" msprop:Generator_ColumnVarNameInTable="columnDZK_Opis" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Data" msprop:Generator_ColumnPropNameInTable="DataColumn" msprop:Generator_ColumnPropNameInRow="Data" msprop:Generator_UserColumnName="Data" msprop:Generator_ColumnVarNameInTable="columnData" type="xs:int" minOccurs="0" />
<xs:element name="DataDokumentu" msprop:Generator_ColumnPropNameInTable="DataDokumentuColumn" msprop:Generator_ColumnPropNameInRow="DataDokumentu" msprop:Generator_UserColumnName="DataDokumentu" msprop:Generator_ColumnVarNameInTable="columnDataDokumentu" type="xs:int" minOccurs="0" />
<xs:element name="Kwota" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="KwotaColumn" msprop:Generator_ColumnPropNameInRow="Kwota" msprop:Generator_UserColumnName="Kwota" msprop:Generator_ColumnVarNameInTable="columnKwota" type="xs:decimal" minOccurs="0" />
<xs:element name="DokZr" msprop:Generator_ColumnPropNameInTable="DokZrColumn" msprop:Generator_ColumnPropNameInRow="DokZr" msprop:Generator_UserColumnName="DokZr" msprop:Generator_ColumnVarNameInTable="columnDokZr" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="KontoDebet" msprop:Generator_ColumnPropNameInTable="KontoDebetColumn" msprop:Generator_ColumnPropNameInRow="KontoDebet" msprop:Generator_UserColumnName="KontoDebet" msprop:Generator_ColumnVarNameInTable="columnKontoDebet" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="KontoCredit" msprop:Generator_ColumnPropNameInTable="KontoCreditColumn" msprop:Generator_ColumnPropNameInRow="KontoCredit" msprop:Generator_UserColumnName="KontoCredit" msprop:Generator_ColumnVarNameInTable="columnKontoCredit" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Identyfikator" msprop:Generator_ColumnPropNameInTable="IdentyfikatorColumn" msprop:Generator_ColumnPropNameInRow="Identyfikator" msprop:Generator_UserColumnName="Identyfikator" msprop:Generator_ColumnVarNameInTable="columnIdentyfikator" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Opis" msprop:Generator_ColumnPropNameInTable="OpisColumn" msprop:Generator_ColumnPropNameInRow="Opis" msprop:Generator_UserColumnName="Opis" msprop:Generator_ColumnVarNameInTable="columnOpis" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DataImportu" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="DataImportuColumn" msprop:Generator_ColumnPropNameInRow="DataImportu" msprop:Generator_UserColumnName="DataImportu" msprop:Generator_ColumnVarNameInTable="columnDataImportu" type="xs:dateTime" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Tbmy_ImpDM_Konta" msprop:Generator_RowEvHandlerName="Tbmy_ImpDM_KontaRowChangeEventHandler" msprop:Generator_RowDeletedName="Tbmy_ImpDM_KontaRowDeleted" msprop:Generator_RowDeletingName="Tbmy_ImpDM_KontaRowDeleting" msprop:Generator_RowEvArgName="Tbmy_ImpDM_KontaRowChangeEvent" msprop:Generator_TablePropName="Tbmy_ImpDM_Konta" msprop:Generator_RowChangedName="Tbmy_ImpDM_KontaRowChanged" msprop:Generator_UserTableName="Tbmy_ImpDM_Konta" msprop:Generator_RowChangingName="Tbmy_ImpDM_KontaRowChanging" msprop:Generator_RowClassName="Tbmy_ImpDM_KontaRow" msprop:Generator_TableClassName="Tbmy_ImpDM_KontaDataTable" msprop:Generator_TableVarName="tableTbmy_ImpDM_Konta">
<xs:complexType>
<xs:sequence>
<xs:element name="Konto" msprop:Generator_ColumnPropNameInTable="KontoColumn" msprop:Generator_ColumnPropNameInRow="Konto" msprop:Generator_UserColumnName="Konto" msprop:Generator_ColumnVarNameInTable="columnKonto" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:Tbmy_ImpDM_Src" />
<xs:field xpath="mstns:Lp" />
</xs:unique>
</xs:element>
</xs:schema>
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--<autogenerated>
This code was generated by a tool to store the dataset designer's layout information.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="60" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:Tbmy_ImpDM_Src" ZOrder="1" X="70" Y="70" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Tbmy_ImpDM_Dekr" ZOrder="2" X="525" Y="72" Height="286" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:Tbmy_ImpDM_Konta" ZOrder="3" X="782" Y="172" Height="96" Width="187" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="46" />
</Shapes>
<Connectors />
</DiagramLayout>
+980
View File
@@ -0,0 +1,980 @@
Public Module FunkcjeXL
Public Const API_VERSION = 20251
Public Zalogowany As Boolean
Public wynikXL As Integer
Public Wersja As Integer
Dim Ilosc_Bledow As Integer
Dim Sesja As Integer
Dim IDDokumentu As Integer
Public NotaID As Integer
Dim Flagi As Integer
Dim Komunikat As String
'-------------------------------------------------------
' Funkcja XLLogin - W przypadku podania poprawnych parametrów poprzez strukturę XLLoginInfo _
' logowanie następuję automatycznie. W przeciwnym przypadku otwiera się okno _
' logowania do systemu CDN XL, w którym należy podać poprawne dane. _
' Poprzez parametr sesja zwracany jest numer przydzielonej dla programu sesji. _
' Numerem tym należy się posługiwać przy wywoływaniu następnych funkcji API.
Public Function Zaloguj(ByVal Baza As String, ByVal CDNop As String, ByVal Haslo As String, ByVal SerwerKlucza As String) As Boolean
Dim LoginInfo As New cdn_api.XLLoginInfo_20251
Dim sesja_temp As Int32
If Zalogowany And Sesja > 0 Then
wynikXL = 0
Ilosc_Bledow = 0
Zaloguj = Zalogowany
Exit Function
End If
Try
' listuj(" Logowanie do ERP XL - proszę czekać...", 1)
Zalogowany = False
Ilosc_Bledow = 0
' AttachThread()
Wersja = API_VERSION
LoginInfo.Wersja = Wersja ' numer wersji API
LoginInfo.UtworzWlasnaSesje = 0
LoginInfo.Winieta = -1
LoginInfo.TrybWsadowy = 1
LoginInfo.TrybNaprawy = 1
LoginInfo.ProgramID = "Import dok. magazynowych z Jastrzębia" ' nazwa programu korzystającego z XL-API (pojawia się na liście sesji)
LoginInfo.Baza = Baza & Chr(0) ' nazwa bazy danych do której ma nastąpić login pobierana
' z klucza HKEY_CURRENT_USER oraz HKEY_LOCAL_MACHINE (nazwa rejestracji w managerze baz an tym komputerze, nie rzeczywista nazwa bazy !!)
' LoginInfo.OpeIdent = CDNop & Chr(0) ' identyfikator CDNOpera logującego się
' LoginInfo.OpeHaslo = Haslo & Chr(0) ' hasło CDNOpera logującego się
LoginInfo.PlikLog = ""
LoginInfo.SerwerKlucza = SerwerKlucza
Sesja = 0
sesja_temp = 0
wynikXL = 0
wynikXL = cdn_api.cdn_api.XLLogin(LoginInfo, sesja_temp)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLLogin"
End Try
If wynikXL = 0 Then
Sesja = sesja_temp
Ilosc_Bledow = 0
Zalogowany = True
Else
Komunikat = "Nieokreślony błąd logowania do XL = " & CStr(wynikXL)
Select Case wynikXL
Case -9
Komunikat = "XLLogin: operator nie jest podpięty do żadnego centrum"
Case -8
Komunikat = "XLLogin: Nie podano nazwy bazy danych"
Case -7
Komunikat = "XLLogin: Baza niezarejestrowana w systemie"
Case -6
Komunikat = "XLLogin: Nie podano hasła lub brak operatora"
Case -5
Komunikat = "XLLogin: nieprawidłowe hasło"
Case -4
Komunikat = "XLLogin: konto operatora zablokowane"
Case -3
Komunikat = "XLLogin: nie podano nazwy programu (pole ProgramID)"
Case -2
Komunikat = "XLLogin: błąd otwarcia pliku tekstowego, do którego mają być zapisywane komunikaty. Nie znaleziono ścieżki lub nazwa pliku jest nieprawidłowa."
Case -1
Komunikat = "XLLogin: podano niepoprawną wersję API"
Case 1
Komunikat = "XLLogin: inicjalizacja nie powiodła się"
Case 2
Komunikat = "XLLogin: istnieje już jedna instancja programu i nastąpiło ponowne logowanie (z tego samego komputera i na tego samego operatora)"
Case 3
Komunikat = "XLLogin: istnieje już jedna instancja programu i nastąpiło ponowne logowanie z innego komputera i na tego samego operatora, ale operatora nie posiada prawa do wielokrotnego logowania"
Case 5
Komunikat = "XLLogin: występuje przy pracy terminalowej w przypadku, gdy operatora nie ma prawa do wielokrotnego logowania i na pytanie czy usunąć istniejące sesje terminalowe wybrano odpowiedź ‘Nie’"
Case 61
Komunikat = "XLLogin: błąd zakładania nowej sesji"
End Select
MainFrm.listuj(Komunikat)
Zalogowany = False
Ilosc_Bledow = Ilosc_Bledow + 1
End If
System.Threading.Thread.Sleep(200)
If Zalogowany Then MainFrm.listuj("Zalogowano")
Zaloguj = Zalogowany
End Function
'--------------------------------------------------------------------------------------------------
'Funkcja XLPolaczenie - podaje ConnectionStgring do bazy danych
' Funkcja XLPolaczenie - Funkcja umozliwia identyfikację połączenia do bazy
' zwraca nazwę serwera, bazy oraz connect string dla raportowania
'--------------------------------------------------------------------------------------------------
Public Function Polaczenie() As String
Dim PolaczenieInfo As New cdn_api.XLPolaczenieInfo_20251 With
{
.Wersja = Wersja, ' numer wersji API (20251) ustawiony w funkcji Zaloguj()
.NTMode = 0,
.Serwer = "" + Chr(0),
.Baza = "" + Chr(0),
.ConnectString = "" + Chr(0)
}
wynikXL = 0
wynikXL = cdn_api.cdn_api.XLPolaczenie(PolaczenieInfo)
If wynikXL >= 0 Then
Polaczenie = PolaczenieInfo.ConnectString
' Serwer = PolaczenieInfo.Serwer
Else
Polaczenie = ""
Komunikat = "XLPolaczenie: nieaktywna sesja API lub nieprawidłowy numer wersji"
End If
End Function
'--------------------------------------------------------------------------------------------------
' Funkcja XLLogout - Funkcja ta służy do zamykania sesji otwartej funkcją XLLogin. _
' Parametr sesja określa numer sesji, którą chcemy zamknąć _
' (numer przydzielany funkcją XLLogin).
'--------------------------------------------------------------------------------------------------
Public Sub Wyloguj()
Dim LogoutInfo As New cdn_api.XLLogoutInfo_20251
Dim wynik As Integer
If Zalogowany Or Sesja > 0 Then
LogoutInfo.Wersja = Wersja
LogoutInfo.TrybUsuwaniaDok = 0
If Sesja > 0 Then
Try
cdn_api.cdn_api.XLLogoutEx(LogoutInfo, Sesja)
Catch ex As Exception
wynik = -200
Komunikat = "Nie rozpoznany błąd API XLLogout"
End Try
End If
Zalogowany = False
Sesja = 0
End If
End Sub
'--------------------------------------------------------------------------------------------------
' Funkcja XLNowyDokument - Jest to funkcja, która zapoczątkowuje wystawianie dokumentu. _
' Nadaje ona nowy numer nagłówka, pobiera kontrahenta, _
' wypełnia rekord standardowymi ustawieniami i ustawia go w stan zajętości. _
' Wymagane jest użycie w komplecie co najmniej funkcji XLZamknijDokument _
' w celu zakończenia dokumentu i zwolnienia jego zajętości (bez wywołania _
' tej funkcji wewnętrzna kontrola XL'a spowoduje wycofanie wszelkich zapisów _
' do tego dokumentu).
'--------------------------------------------------------------------------------------------------
Public Sub UtworzNowyDok(DokNagInfo As cdn_api.XLDokumentNagInfo_20251)
Dim w, i As Integer
wynikXL = 0
For i = 1 To 200
Try
wynikXL = cdn_api.cdn_api.XLNowyDokument(Sesja, IDDokumentu, DokNagInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLNowyDokument"
Exit For
End Try
If wynikXL <> 106 Then Exit For
System.Threading.Thread.Sleep(40)
Next
Flagi = DokNagInfo.Flagi
w = OpisBledu(1, wynikXL, Flagi)
End Sub
'--------------------------------------------------------------------------------------------------
' Funkcja XLDodajPozycje - Funkcja ta jest odpowiedzialna za dodawanie do dokumentu elementów _
' oraz związanych z nim subelementów.
'--------------------------------------------------------------------------------------------------
Public Sub DodajPozycjeDok(DokEleInfo As cdn_api.XLDokumentElemInfo_20251)
Dim w, i As Integer
wynikXL = 0
If IDDokumentu > 0 Then
For i = 1 To 200
Try
wynikXL = cdn_api.cdn_api.XLDodajPozycje(IDDokumentu, DokEleInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLDodajPozycje"
Exit For
End Try
If wynikXL <> 106 Then Exit For
System.Threading.Thread.Sleep(40)
Next
End If
Flagi = DokEleInfo.Flagi
If wynikXL <> 17 Then w = OpisBledu(2, wynikXL, Flagi) 'bez drukowania kmunikatu, że zabrakło towaru
End Sub
'--------------------------------------------------------------------------------------------------
' Funkcja XLZamknijDokument - Funkcja odpowiada za zakończenie pracy z dokumentem.
'--------------------------------------------------------------------------------------------------
Public Sub ZamknijDokument(ByVal Tryb As Integer, Magazynowe As Integer)
Dim ZamkniecieDokumentuInfo As New cdn_api.XLZamkniecieDokumentuInfo_20251
Dim w, i As Integer
Try
With ZamkniecieDokumentuInfo
.Wersja = Wersja
.Tryb = Tryb '-10, 0 - zatwierdz dokument, 1 - do bufora, -3 - zamknięcie otwartego dok., -1 - skasowanie dokumentu, -2 - anulowanie
.Magazynowe = Magazynowe 'generowanie dokumentów WM i MMP: 0-wg. konfig., 1-nie generuj, 2-gen. do bufora, 3-gen. zatwierdzone
'dla MMW: 0x,1x,2x - WM (bez, bufor, zatw.); x1,x2,x3 - MMP (bez, bufor, zatw.)
End With
wynikXL = 0
If IDDokumentu > 0 Then
For i = 1 To 200
Try
wynikXL = cdn_api.cdn_api.XLZamknijDokument(IDDokumentu, ZamkniecieDokumentuInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLZamknijDokument"
Exit For
End Try
If wynikXL <> 106 Then Exit For
System.Threading.Thread.Sleep(40)
Next
End If
w = OpisBledu(7, wynikXL, 0)
Catch ex As Exception
wynikXL = -201
Komunikat = "Błąd w dostępie do danych w API XLZamknijDokument"
End Try
End Sub
'--------------------------------------------------------------------------------------------------
' Funkcja XLPodajKomunikat - Funkcja rozwiązuje podane numery bledów i ostrzeżeń na stringowy
' komunikat, rodzaje trybów: 0-tryb cichy, 1-tylko bledy, 2-bledy i ostrzeżenia
'--------------------------------------------------------------------------------------------------
Public Function OpisBledu(ByVal Funkcja As Integer, ByVal wynik_lokalny As Integer, ByVal Flagi As Integer) As Integer
Dim KomunikatInfo As New cdn_api.XLKomunikatInfo_20251
Dim Komunikat As String
OpisBledu = 0
If wynik_lokalny < -199 Then
MainFrm.listuj("Nie rozpoznany błąd API w funkcji " + CStr(Funkcja))
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja < 900 Then
KomunikatInfo.Wersja = Wersja
KomunikatInfo.Funkcja = Funkcja
KomunikatInfo.Blad = wynik_lokalny
KomunikatInfo.Ostrzezenie = Flagi
KomunikatInfo.Tryb = 0
Try
cdn_api.cdn_api.XLOpisBledu(KomunikatInfo)
Catch ex As Exception
wynik_lokalny = -200
Komunikat = "Nie rozpoznany błąd API XLOpisBledu"
End Try
Komunikat = "!------! UWAGA: " + KomunikatInfo.OpisBledu
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 999 Then
Komunikat = "XLOpisBledu: Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case 2
Komunikat = "XLOpisBledu: UWAGA: ustalono wybór z listy, a brak ustawienia trybu selekcji"
Case 3
Komunikat = "XLOpisBledu: UWAGA: błąd otwarcia tabeli"
Case 4
Komunikat = "XLOpisBledu: UWAGA: nie znaleziono rekordu o podanym GIDzie"
Case 5
Komunikat = "XLOpisBledu: UWAGA: ustalono wybór elementu z listy a brak procedury listy dla takiego typu dokumentu"
Case 6
Komunikat = "XLOpisBledu: UWAGA: ustalono wybór grupy z listy, a brak procedury listy dla takiego typu dokumentu"
Case 7
Komunikat = "XLOpisBledu: UWAGA: ustalono podgląd elementów listy, a brak procedury listy dla takiego typu dokumentu"
Case 8
Komunikat = "XLOpisBledu: UWAGA: nieobsługiwany GIDTyp"
Case Else
Komunikat = "XLOpisBledu: UWAGA: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 998 Then 'Generuj EAN
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -1
Komunikat = "UWAGA: API nie zostało aktywowane bądź błąd wersji"
Case 1
Komunikat = "UWAGA: Niepoprawny zakres"
Case 2
Komunikat = "UWAGA: Wystąpił niezidentyfikowany błąd, kod EAN nie został wygenerowany"
Case Else
Komunikat = "UWAGA: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 997 Then 'DodajAtrybut do obiektu
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -1
Komunikat = "UWAGA: brak sesji"
Case 2
Komunikat = "UWAGA: błąd przy zakładaniu logout"
Case 3
Komunikat = "UWAGA: nie znaleziono obiektu"
Case 4
Komunikat = "UWAGA: nie znalezniono klasy atrybutu"
Case 5
Komunikat = "UWAGA: klasa nieprzypisana do definicji obiektu"
Case 6
Komunikat = "UWAGA: atrybut juz istnieje w kolejce"
Case 7
Komunikat = "UWAGA: błąd ADO Connection"
Case 8
Komunikat = "UWAGA: błąd ADO"
Case 9
Komunikat = "UWAGA: brak zdefiniowanego obiektu"
Case Else
Komunikat = "UWAGA: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 996 Then 'Dodaj Partię
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -1
Komunikat = "UWAGA: API nie zostało aktywowane bądź błąd wersji"
Case 2
Komunikat = "UWAGA: Wystąpił błąd przy próbie zablokowania tabel dla wykonania transakcji"
Case 11
Komunikat = "UWAGA: nie znaleziono towaru"
Case 12
Komunikat = "UWAGA: Nie podano towaru"
Case 106
Komunikat = "UWAGA: Wystąpił błąd DeadLock"
Case 160
Komunikat = "UWAGA: Nie znaleziono podanej dostawy"
Case 178
Komunikat = "UWAGA: Partia o takich parametrach nie istnieje"
Case 210
Komunikat = "UWAGA: Nie znaleziono podanego identyfikatora partii"
Case Else
Komunikat = "UWAGA: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 995 Then 'Dokumenty związane
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -1
Komunikat = "UWAGA: API nie zostało aktywowane bądź błąd wersji"
Case 1
Komunikat = "UWAGA: taki dokument jest już na liście (błąd zwracany przy akcji dodawania)"
Case 30
Komunikat = "UWAGA: nie znaleziono dokumentu na liście"
Case Else
Komunikat = "UWAGA: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 994 Then 'Dodaj Dekret zbiorczy
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -1
Komunikat = "BŁĄD: API nie zostało aktywowane bądź błąd wersji"
Case 101
Komunikat = "BŁĄD: Niepoprawny dziennik księgowań"
Case 102
Komunikat = "BŁĄD: Niepoprawny bufor księgowań"
Case 103
Komunikat = "BŁĄD: Kwota = 0"
Case 104
Komunikat = "BŁĄD: Brak opisu"
Case 105
Komunikat = "BŁĄD: Dodawanie dekretu składowego bez otwarcia dekretu zbiorczego"
Case 1002
Komunikat = "BŁĄD: Otwarty poprzedni dekret lub zamknięty modyfikowany dekret"
Case 1031
Komunikat = "BŁĄD: Uruchomienie tej operacji nie jest możliwe ze względu na brak dostępu do modułu, problem z połączeniem lub niezgodność danych w kluczu ze stanem faktycznym."
Case 8001
Komunikat = "BŁĄD: Niepoprawne konto księgowań"
Case 8005
Komunikat = "BŁĄD: Bieżący okres obrachunkowy jest zamknięty do x.
Próbujesz księgować lub kasować księgowanie z datą y."
Case 8006
Komunikat = "BŁĄD: Data nie mieści się w żadnym z zadeklarowanych okresów obrachunkowych. Załóż okres i powtórz operację"
Case 8008
Komunikat = "BŁĄD: Zła data . Załóż nowy dekret księgowy. Błąd ten wyświetla się zawsze kiedy data nie mieści się w okresie obrachunkowym"
Case 8046
Komunikat = "BŁĄD: Nie można księgować na to samo konto"
Case 8190
Komunikat = "BŁĄD: Dokonywanie zapisu księgowego bez podania żadnego z kont"
Case Else
Komunikat = "UWAGA: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 993 Then 'Dodaj dekret składowy
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -1
Komunikat = "BŁĄD: API nie zostało aktywowane bądź błąd wersji"
Case 101
Komunikat = "BŁĄD: Niepoprawny dziennik księgowań"
Case 102
Komunikat = "BŁĄD: Niepoprawny bufor księgowań"
Case 103
Komunikat = "BŁĄD: Kwota = 0"
Case 104
Komunikat = "BŁĄD: Brak opisu"
Case 105
Komunikat = "BŁĄD: Dodawanie dekretu składowego bez otwarcia dekretu zbiorczego"
Case 1002
Komunikat = "BŁĄD: Otwarty poprzedni dekret lub zamknięty modyfikowany dekret"
Case 8001
Komunikat = "BŁĄD: Niepoprawne konto księgowań"
Case 8003
Komunikat = "BŁĄD: Konto posiada analitykę"
Case 8006
Komunikat = "BŁĄD: Data nie mieści się w żadnym z zadeklarowanych okresów obrachunkowych. Załóż okres i powtórz operację"
Case 8008
Komunikat = "BŁĄD: Zła data . Załóż nowy dekret księgowy. Błąd ten wyświetla się zawsze kiedy data nie mieści się w okresie obrachunkowym"
Case 8046
Komunikat = "BŁĄD: Nie można księgować na to samo konto"
Case 8190
Komunikat = "BŁĄD: Dokonywanie zapisu księgowego bez podania żadnego z kont"
Case Else
Komunikat = "UWAGA: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 992 Then 'Zamknij dekret zbiorczy, sumuj dekret zbiorczy
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -1
Komunikat = "BŁĄD: API nie zostało aktywowane bądź błąd wersji"
Case 101
Komunikat = "BŁĄD: Niepoprawny dziennik księgowań"
Case 102
Komunikat = "BŁĄD: Niepoprawny bufor księgowań"
Case 103
Komunikat = "BŁĄD: Kwota = 0"
Case 104
Komunikat = "BŁĄD: Brak opisu"
Case 105
Komunikat = "BŁĄD: Dodawanie dekretu składowego bez otwarcia dekretu zbiorczego"
Case 8001
Komunikat = "BŁĄD: Niepoprawne konto księgowań"
Case 8006
Komunikat = "BŁĄD: Data nie mieści się w żadnym z zadeklarowanych okresów obrachunkowych. Załóż okres i powtórz operację"
Case 8008
Komunikat = "BŁĄD: Zła data . Załóż nowy dekret księgowy. Błąd ten wyświetla się zawsze kiedy data nie mieści się w okresie obrachunkowym"
Case 8046
Komunikat = "BŁĄD: Nie można księgować na to samo konto"
Case 8190
Komunikat = "BŁĄD: Dokonywanie zapisu księgowego bez podania żadnego z kont"
Case Else
Komunikat = "UWAGA: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 990 Then 'Dodaj dekret pojedynczy
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -1
Komunikat = "BŁĄD: API nie zostało aktywowane bądź błąd wersji"
Case 101
Komunikat = "BŁĄD: Niepoprawny dziennik księgowań"
Case 102
Komunikat = "BŁĄD: Niepoprawny bufor księgowań"
Case 103
Komunikat = "BŁĄD: Kwota = 0"
Case 104
Komunikat = "BŁĄD: Brak opisu"
Case 105
Komunikat = "BŁĄD: Dodawanie dekretu składowego bez otwarcia dekretu zbiorczego"
Case 1002
Komunikat = "BŁĄD: Otwarty poprzedni dekret lub zamknięty modyfikowany dekret"
Case 8001
Komunikat = "BŁĄD: Niepoprawne konto księgowań"
Case 8003
Komunikat = "BŁĄD: Konto posiada analitykę"
Case 8006
Komunikat = "BŁĄD: Data nie mieści się w żadnym z zadeklarowanych okresów obrachunkowych. Załóż okres i powtórz operację"
Case 8008
Komunikat = "BŁĄD: Zła data . Załóż nowy dekret księgowy. Błąd ten wyświetla się zawsze kiedy data nie mieści się w okresie obrachunkowym"
Case 8046
Komunikat = "BŁĄD: Nie można księgować na to samo konto"
Case 8190
Komunikat = "BŁĄD: Dokonywanie zapisu księgowego bez podania żadnego z kont"
Case Else
Komunikat = "BŁĄD: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 989 Then 'Dodaj uproszczoną notę memoriałową
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -3
Komunikat = "BŁĄD: brak GIDTypu noty"
Case -2
Komunikat = "BŁĄD: błąd zakładania transakcji"
Case -1
Komunikat = "BŁĄD: niewłaściwy parametr SesjaID"
Case 1
Komunikat = "BŁĄD: błąd dodawania/aktualizacji/kasowania nagłówka;"
Case 2
Komunikat = "BŁĄD: błędny numer noty (XLNotaInfo.Numer już istnieje w ramach serii/miesiąca);"
Case 3
Komunikat = "BŁĄD: brak definicji noty"
Case 4
Komunikat = "BŁĄD: brak podmiotu (kontrahenta lub pracownika);"
Case 5
Komunikat = "BŁĄD: Nie znaleziono podanej waluty"
Case 6
Komunikat = "BŁĄD: brak płatnika"
Case 7
Komunikat = "BŁĄD: nota nie posiada treści"
Case 8
Komunikat = "BŁĄD: brak praw do używania tego modułu"
Case 9
Komunikat = "BŁĄD: seria nie istnieje w systemie"
Case 8001
Komunikat = "BŁĄD: Niepoprawne konto księgowań lub konto nie znajduje się w bieżącym okresie"
Case 8046
Komunikat = "BŁĄD: Nie można księgować na to samo konto lub oba konta puste"
Case 8047
Komunikat = "BŁĄD: po obu stronach pozycji noty konta rozrachunkowe"
Case Else
Komunikat = "BŁĄD: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 988 Then 'Dodaj pozycję noty
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -2
Komunikat = "BŁĄD: błąd zakładania transakcji"
Case -1
Komunikat = "BŁĄD: niewłaściwy parametr SesjaID"
Case 3
Komunikat = "BŁĄD: brak definicji noty"
Case 5
Komunikat = "BŁĄD: brak noty o podanym ID"
Case 7
Komunikat = "BŁĄD: pozycja noty nie posiada opisu"
Case 8
Komunikat = "BŁĄD: brak symbolu kwoty"
Case 9
Komunikat = "BŁĄD: błąd dodawania pozycji noty"
Case 10
Komunikat = "BŁĄD: błąd synchronizacji konta walutowego"
Case 8001
Komunikat = "BŁĄD: Niepoprawne konto księgowań lub konto nie znajduje się w bieżącym okresie"
Case 8046
Komunikat = "BŁĄD: Nie można księgować na to samo konto lub oba konta puste"
Case 8047
Komunikat = "BŁĄD: z uwagi na płatności, wygenerowanie noty nie jest możliwe. W ramach zapisu wprowadzono dekrety dwustronne, zawierające po obydwu stronach konta rozrachunkowe"
Case Else
Komunikat = "BŁĄD: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 987 Then 'Zamknij notę
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -2
Komunikat = "BŁĄD: błąd zakładania transakcji"
Case -1
Komunikat = "BŁĄD: niewłaściwy parametr SesjaID"
Case 1
Komunikat = "BŁĄD: błąd dodawania/aktualizacji/kasowania nagłówka"
Case 2
Komunikat = "BŁĄD: błędny numer noty (XLNotaInfo.Numer już istnieje w ramach serii/miesiąca);"
Case 3
Komunikat = "BŁĄD: brak definicji noty"
Case 5
Komunikat = "BŁĄD: brak noty o podanym ID"
Case 6
Komunikat = "BŁĄD: nota niezgodna z definicją (przychodowa/rozchodowa, podmiot);"
Case 7
Komunikat = "BŁĄD: nie udało się wygenerowanie płatności;"
Case Else
Komunikat = "BŁĄD: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
ElseIf wynik_lokalny <> 0 And Funkcja = 986 Then 'kasuj notę
Komunikat = "Nieokreślony błąd API XL"
Select Case wynik_lokalny
Case -2
Komunikat = "BŁĄD: błąd zakładania transakcji"
Case -1
Komunikat = "BŁĄD: niewłaściwy parametr SesjaID"
Case 1
Komunikat = "BŁĄD: błąd dodawania/aktualizacji/kasowania nagłówka"
Case 5
Komunikat = "BŁĄD: brak noty o podanym ID"
Case Else
Komunikat = "BŁĄD: Nieznany błąd"
End Select
MainFrm.listuj(Komunikat)
Ilosc_Bledow = Ilosc_Bledow + 1
OpisBledu = Ilosc_Bledow
End If
End Function
'--------------------------------------------------------------------------------------------------
' Funkcja XLPobierzNumerDokumentu rozwiązuje GID na sformatowany numer dokumentu
'--------------------------------------------------------------------------------------------------
Public Function NumerDokumentu(ByVal GIDTyp As Integer, ByVal GIDFirma As Integer, ByVal GIDNumer As Integer, ByVal GIDLp As Integer) As String
Dim NumerDokumentuInfo As New cdn_api.XLNumerDokumentuInfo_20251
Dim nrd As String
NumerDokumentuInfo.Wersja = Wersja
NumerDokumentuInfo.GIDTyp = GIDTyp
NumerDokumentuInfo.GIDFirma = GIDFirma
NumerDokumentuInfo.GIDNumer = GIDNumer
NumerDokumentuInfo.GIDLp = GIDLp
Try
wynikXL = cdn_api.cdn_api.XLPobierzNumerDokumentu(NumerDokumentuInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLPobierzNumerDokumentu"
End Try
NumerDokumentu = ""
nrd = ""
If wynikXL = 0 Then
nrd = NumerDokumentuInfo.NumerDokumentu
Else
If wynikXL = -1 Then
Komunikat = "XLPobierzNumerDokumentu: nieaktywna sesja API lub nieprawidłowy numer wersji"
ElseIf wynikXL = 1 Then
Komunikat = "XLPobierzNumerDokumentu: nie znaleziono dokumentu"
ElseIf wynikXL = 2 Then
Komunikat = "XLPobierzNumerDokumentu: podano nieobsługiwany GIDTyp"
End If
MainFrm.listuj(Komunikat)
End If
NumerDokumentu = RTrim(nrd)
End Function
'--------------------------------------------------------------------------------------------------
Public Function XLSprawdzLicencje() As Boolean
Dim LicencjaInfo As New cdn_api.XLLicencjaInfo_20251 With
{
.Wersja = Wersja,
.Licencja = 1,
.Odswiez = 1,
.Stan = 0
}
wynikXL = 0
XLSprawdzLicencje = False
Try
wynikXL = cdn_api.cdn_api.XLSprawdzLicencje(LicencjaInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLSprawdzLicencje"
End Try
If LicencjaInfo.Stan = 1 Then
XLSprawdzLicencje = True
Else
Komunikat = "Błąd API XLSprawdzLicencje = " & CStr(wynikXL)
If wynikXL = 0 Then
Select Case LicencjaInfo.Stan
Case 0
Komunikat = "XLSprawdzLicencje: nie pobrano licencji"
Case 2
Komunikat = "XLSprawdzLicencje: nie pobrano licencji - błąd pobrania licencji bądź ilość licencji wyczerpana"
Case 3
Komunikat = "XLSprawdzLicencje: licencja przeterminowana"
Case 4
Komunikat = "XLSprawdzLicencje: licencja promocyjna"
End Select
ElseIf wynikXL = -1 Then
Komunikat = "XLSprawdzLicencje: Sesja API nieaktywna lub nieprawidłowy numer"
ElseIf wynikXL = 1 Then
Komunikat = "XLSprawdzLicencje: błąd klucza sprzętowego"
End If
MainFrm.listuj(Komunikat)
End If
End Function
'-------------------------------------------------------------------------------------
' Funkcja XLDodajDekretPojedynczy - Funkcja dodaje jeden dekret pojedynczy - bez nagłówka
Sub XLDodajDekretPoj()
Dim DekretInfo As New cdn_api.XLDekretInfo_20251
Dim w As Integer
With DekretInfo
.Wersja = Wersja
'.Tryb = Range("b6").Value 'Tryb wystawienia (interakcyjny/wsadowy)
'.GIDTyp = Range("b7").Value 'GID dekretu (zwracanego po dodaniu)
'.GIDFirma = Range("b8").Value '
'.GIDNumer = Range("b9").Value '
'.GIDLp = Range("b10").Value '
'.Data = Range("b11").Value 'Data dekretu
'.DataDokumentu = Range("b12").Value 'Data dokumentu
'.Kwota = Str(Range("b13").Value) 'Kwota pomnożona przez 100
'.KwotaWalDT = Str(Range("b14").Value) 'Kwota winien w walucie pomnożona przez 100
'.KwotaWalCT = Str(Range("b15").Value) 'Kwota ma w walucie pomnożona przez 100
'.NumerDokumentu = Range("b16").Value + Chr(0) 'Numer dokumentu
'.Dziennik = Range("b17").Value + Chr(0) 'Dziennik księgowań
'.Bufor = Range("b18").Value + Chr(0) 'Bufor księgowań (pusty = KG)
'.KontoDebet = Range("b19").Value + Chr(0) 'Numer konta winien (WN)
'.KontoCredit = Range("b20").Value + Chr(0) 'Numer konta ma (MA)
'.KontoWalDT = Range("b21").Value + Chr(0)
'.KontoWalCT = Range("b22").Value + Chr(0)
'.Identyfikator = Range("b23").Value
'.Opis = Range("b24").Value + Chr(0) 'Opis dekretu
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLDodajDekretPojedynczy(Sesja, DekretInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLDodajDekretPojedynczy"
End Try
w = OpisBledu(990, wynikXL, 0)
End Sub
'-------------------------------------------------------------------------------------
' Funkcja XLDodajDekretZbiorczy - Funkcja dodaje nagłówek dekretu zbiorczego
Sub XLDodajDekretZb(DekretZbiorczyInfo As cdn_api.XLDekretZbiorczyInfo_20251)
Dim w As Integer
With DekretZbiorczyInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia wsadowy
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLDodajDekretZbiorczy(Sesja, DekretZbiorczyInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLDodajDekretZbiorczy"
End Try
w = OpisBledu(994, wynikXL, 0)
End Sub
'-------------------------------------------------------------------------------------
' Funkcja XLDodajDekretSkladowy - Funkcja dodaje jeden dekret składowy w otwartym dekrecie zbiorczym
Sub XLDodajDekretSkl(DekretSkladowyInfo As cdn_api.XLDekretInfo_20251)
Dim w As Integer
With DekretSkladowyInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia wsadowy
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLDodajDekretSkladowy(Sesja, DekretSkladowyInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLDodajDekretSkładowy"
End Try
w = OpisBledu(993, wynikXL, 0)
End Sub
'-------------------------------------------------------------------------------------
' Funkcja XLZamknijDekretZbiorczy - Funkcja zamyka dekret zbiorczy
Sub XLZamknijDekretZb(ZamknijDekretZbiorczyInfo As cdn_api.XLDekretZbiorczyInfo_20251)
Dim w As Integer
With ZamknijDekretZbiorczyInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia wsadowy
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLZamknijDekretZbiorczy(Sesja, ZamknijDekretZbiorczyInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLZamknijDekretZbiorczy"
End Try
w = OpisBledu(992, wynikXL, 0)
End Sub
'-------------------------------------------------------------------------------------
' Funkcja XLSumujDekret - Funkcja podaje sumę dekretu zbiorczego
Sub XLSumujDekretZb(SumujDekretZbiorczyInfo As cdn_api.XLDekretZbiorczyInfo_20251)
Dim w As Integer
With SumujDekretZbiorczyInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
'.GIDTyp = Range("n7").Value 'GID dekretu (zwracanego po dodaniu)
'.GIDFirma = Range("n8").Value '
'.GIDNumer = Range("n9").Value '
'.GIDLp = Range("n10").Value '
'.Data = Range("n11").Value 'Data dekretu
'.DataDokumentu = Range("n12").Value 'Data dokumentu
'.KwotaDebet = Str(Range("n13").Value) + Chr(0) 'Kwota sumaryczna winien pomnożona przez 100
'.KwotaCredit = Str(Range("n14").Value) + Chr(0) 'Kwota sumaryczna ma pomnożona przez 100
'.NumerDokumentu = Range("n15").Value + Chr(0) 'Numer dokumentu
'.Dziennik = Range("n16").Value + Chr(0) 'Dziennik księgowań
'.Bufor = Range("n17").Value + Chr(0) 'Bufor księgowań (pusty = KG)
'.Identyfikator = Range("n18").Value
'.Opis = Range("n19").Value + Chr(0) 'Opis dekretu
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLSumujDekretZbiorczy(Sesja, SumujDekretZbiorczyInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLSumujDekretZbiorczy"
End Try
w = OpisBledu(992, wynikXL, 0)
End Sub
'-------------------------------------------------------------------------------------
' Funkcja XLKasujDekret - Funkcja kasuje dekret
Sub XLKasujDekretzb(KasujDekretInfo As cdn_api.XLDekretInfo_20251)
Dim w As Integer
With KasujDekretInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLKasujDekret(Sesja, KasujDekretInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLKasujDekret"
End Try
w = OpisBledu(992, wynikXL, 0)
End Sub
'--------------------------------------------------------------------------------------------------
' Funkcja XLDodajNote
Sub XLDodajNoteMem(NotaInfo As cdn_api.XLNotaInfo_20251)
Dim w, IDNoty As Integer
NotaID = 0
With NotaInfo
.Wersja = Wersja
.Tryb = 2
.GIDTyp = 4145 'nota uproszczona
'.DataWprow = Range("b24").Value
'.DataDok = Range("b25").Value
'.DataOper = Range("b26").Value
'.Seria = Range("b32").Value + Chr(0)
'.NumerDokumentu = Range("b33").Value + Chr(0)
'.Tresc = Range("b34").Value + Chr(0)
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLDodajNote(Sesja, IDNoty, NotaInfo)
NotaID = IDNoty
Catch ex As Exception
wynikXL = -200
NotaID = 0
Komunikat = "Nie rozpoznany błąd API XLDodajNote"
End Try
w = OpisBledu(989, wynikXL, 0)
End Sub
'--------------------------------------------------------------------------------------------------
' Funkcja XLDodajPozycjeNoty - Funkcja ta dodaje element do otwartej wcześniej noty
Sub XLDodajPozycjeNotyMem(PozycjaNotyInfo As cdn_api.XLPozycjaNotyInfo_20251)
Dim w As Integer
With PozycjaNotyInfo
.Wersja = Wersja
.Tryb = 2
'.KKSNumerDT = Range("e15").Value
'.KKSNumerCT = Range("e16").Value
'.DataDok = Range("e21").Value
'.DataOper = Range("e22").Value
'.Kwota = Str(Range("e23").Value) + Chr(0)
'.Opis = Range("e24").Value + Chr(0)
'.NumerDokumentu = Range("e29").Value
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLDodajPozycjeNoty(Sesja, NotaID, PozycjaNotyInfo)
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLDodajPozycjeNoty"
End Try
w = OpisBledu(988, wynikXL, 0)
End Sub
'--------------------------------------------------------------------------------------------------
' Funkcja XLZamknijNote - Funkcja ta zamyka otwartą notę memoriałową
Sub XLZamknijNoteMem(NotaInfo As cdn_api.XLNotaInfo_20251)
Dim w As Integer
With NotaInfo
.Wersja = Wersja
.Tryb = 2
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLZamknijNote(Sesja, NotaID, NotaInfo)
NotaID = 0
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLZamknijNote"
End Try
w = OpisBledu(987, wynikXL, 0)
End Sub
'--------------------------------------------------------------------------------------------------
' Funkcja XLKasujNote - Funkcja ta kasuje notę memoriałową
Sub XLKasujNoteMem(NotaInfo As cdn_api.XLNotaInfo_20251)
Dim w As Integer
With NotaInfo
.Wersja = Wersja
.Tryb = 2
'.GIDTyp = Range("k7").Value
'.GIDFirma = Range("k8").Value
'.GIDNumer = Range("k9").Value
'.GIDLp = Range("k10").Value
End With
wynikXL = 0
Try
wynikXL = cdn_api.cdn_api.XLKasujNote(Sesja, NotaID, NotaInfo)
NotaID = 0
Catch ex As Exception
wynikXL = -200
Komunikat = "Nie rozpoznany błąd API XLKasujNote"
End Try
w = OpisBledu(986, wynikXL, 0)
End Sub
End Module
+262
View File
@@ -0,0 +1,262 @@
'Public Module ImportDM
Partial Public Class MainFrm
Public GIDTyp, GIDFirma, GIDNumer, GIDLp As Integer 'aktualny dekret
Public DecimalGroupSep As String
Public DecimalSep As String
Function szukaj_sep(ByVal line As String, ByVal start As Integer, ByVal separator As String) As Integer
Dim i As Integer
szukaj_sep = -1
i = InStr(start, line, separator, CompareMethod.Text)
If i > start Then szukaj_sep = i
End Function
Function ToDate(Data As String) As Date
Dim dd As Date
Dim pos As Integer
Data = Replace(Data, "/", ".")
Data = Replace(Data, "-", ".")
pos = szukaj_sep(Data, 1, ".")
Dim TestAr() As String = Split(Data, ".", , CompareMethod.Text)
If pos = 5 Then 'rrrr.mm.dd
dd = DateSerial(TestAr(0), TestAr(1), TestAr(2))
Else 'dd.mm.rrrr
dd = DateSerial(TestAr(2), TestAr(1), TestAr(0))
End If
ToDate = dd
End Function
Function XL_Date(Data As Date) As Integer
XL_Date = 36161 + CInt(Data.ToOADate())
End Function
Function Liczba(bf As String) As String
Dim w As String
w = Replace(bf, ",", DecimalSep)
w = Replace(bf, ".", DecimalSep)
Liczba = w
End Function
Public Function ZamknijDekret(ByVal CzyZapisac As Boolean) As Boolean
Dim ZamknijDekretZbiorczyInfo As New cdn_api.XLDekretZbiorczyInfo_20251
Dim ret As Boolean = False
With ZamknijDekretZbiorczyInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
.GIDTyp = GIDTyp 'GID dekretu (zwracanego po dodaniu)
.GIDFirma = GIDFirma '
.GIDNumer = GIDNumer '
.GIDLp = 0 '
End With
XLZamknijDekretZb(ZamknijDekretZbiorczyInfo)
If wynikXL = 0 Then
ret = True
End If
If Not CzyZapisac Then
Dim KasujDekretInfo As New cdn_api.XLDekretInfo_20251
With ZamknijDekretZbiorczyInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
.GIDTyp = GIDTyp 'GID dekretu (zwracanego po dodaniu)
.GIDFirma = GIDFirma '
.GIDNumer = GIDNumer '
.GIDLp = 0 '
End With
XLKasujDekretzb(KasujDekretInfo)
End If
Return (ret)
End Function
Public Function UtworzDekretZbiorczy(ByVal IdentKsieg As String, ByVal Data As Date, ByVal DokData As Date, ByVal DokZrodlowy As String, ByVal Opis As String, ByVal SumaCT As Decimal, ByVal SumaDT As Decimal) As Boolean
Dim DekretZbiorczyInfo As New cdn_api.XLDekretZbiorczyInfo_20251
listuj(CStr(Now) + "-> Dokument: " + IdentKsieg)
With DekretZbiorczyInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia wsadowy
.Data = XL_Date(Data) 'Data dekretu
.DataDokumentu = XL_Date(DokData) 'Data dokumentu
.KwotaDebet = Str(SumaDT) + Chr(0) 'Kwota sumaryczna winien
.KwotaCredit = Str(SumaCT) + Chr(0) 'Kwota sumaryczna ma
.NumerDokumentu = DokZrodlowy + Chr(0) 'Numer dokumentu źródłowego
.Dziennik = My.Settings.Seria + Chr(0) 'Dziennik księgowań
.Bufor = "BUFOR" + Chr(0) 'Bufor księgowań (pusty = KG)
.Identyfikator = IdentKsieg 'identyfikator księgowy - numer dokument z Jastrzębia
.Opis = Opis + Chr(0) 'Opis dekretu
End With
XLDodajDekretZb(DekretZbiorczyInfo)
If wynikXL = 0 Then
GIDFirma = DekretZbiorczyInfo.GIDFirma
GIDTyp = DekretZbiorczyInfo.GIDTyp
GIDNumer = DekretZbiorczyInfo.GIDNumer
GIDLp = DekretZbiorczyInfo.GIDLp
Return (True)
Else
GIDFirma = 0
GIDTyp = 0
GIDNumer = 0
GIDLp = 0
Return (False)
End If
End Function
Public Function DodajSkladowy(ByVal DZKNumer As Integer) As Boolean
Dim DekretSkladowyInfo As New cdn_api.XLDekretInfo_20251
Dim ret As Boolean = True
Dim i As Integer
Dim line As String
i = 0
Try
Tamy_ImpDM_Dekr.Fill(DsMain.Tbmy_ImpDM_Dekr, DZKNumer)
BsTbmy_ImpDM_Dekr.ResetBindings(False)
BsTbmy_ImpDM_Dekr.MoveFirst()
While i < BsTbmy_ImpDM_Dekr.Count
With DekretSkladowyInfo
.Kwota = Str(BsTbmy_ImpDM_Dekr.Current("Kwota")) + Chr(0) 'Kwota pomnożona przez 100
.NumerDokumentu = BsTbmy_ImpDM_Dekr.Current("DokZr") + Chr(0) 'Numer dokumentu
.KontoDebet = BsTbmy_ImpDM_Dekr.Current("KontoDebet") + Chr(0) 'Numer konta winien (WN)
.KontoCredit = BsTbmy_ImpDM_Dekr.Current("KontoCredit") + Chr(0) 'Numer konta ma (MA)
.Identyfikator = BsTbmy_ImpDM_Dekr.Current("Identyfikator")
.Opis = BsTbmy_ImpDM_Dekr.Current("Opis") + Chr(0) 'Opis dekretu
End With
line = " Dekret-> " & BsTbmy_ImpDM_Dekr.Current("DokZr")
line = line & " - Wn: " & BsTbmy_ImpDM_Dekr.Current("KontoDebet")
line = line & ", Ma: " & BsTbmy_ImpDM_Dekr.Current("KontoCredit")
line = line & ", kwota: " & Str(BsTbmy_ImpDM_Dekr.Current("Kwota"))
listuj(line)
XLDodajDekretSkl(DekretSkladowyInfo)
If wynikXL <> 0 Then ret = False
BsTbmy_ImpDM_Dekr.MoveNext()
i += 1
End While
Catch ex As System.Exception
ret = False
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
Return (ret)
End Function
Public Function UtworzNote(ByVal NrDokumentu As String, ByVal Data As Date, ByVal DokData As Date, ByVal DokZrodlowy As String, ByVal tresc As String) As Boolean
Dim NotaInfo As New cdn_api.XLNotaInfo_20251
listuj(CStr(Now) + "-> Nota do: " + NrDokumentu)
If tresc <= " " Then tresc = "brak opisu"
With NotaInfo
.GIDTyp = 4145 'nota uproszczona
.KNPTyp = 0
.KNPNumer = 0
.KNPLp = 0
.DataWprow = XL_Date(Data) 'Data dekretu
.DataDok = XL_Date(DokData) 'Data dokumentu
.DataOper = XL_Date(DokData) 'Data dokumentu
.Seria = My.Settings.Seria + Chr(0)
.NumerDokumentu = NrDokumentu + Chr(0) 'Numer dokumentu źródłowego
.Tresc = tresc + Chr(0) 'treść noty
End With
XLDodajNoteMem(NotaInfo)
If wynikXL = 0 Then
GIDFirma = NotaInfo.GIDFirma
GIDTyp = NotaInfo.GIDTyp
GIDNumer = NotaInfo.GIDNumer
GIDLp = NotaInfo.GIDLp
Return (True)
Else
GIDFirma = 0
GIDTyp = 0
GIDNumer = 0
GIDLp = 0
Return (False)
End If
End Function
Public Function DodajPozycjeNoty(ByVal DZKNumer As Integer, ByVal DataDok As Date, ByVal DataOper As Date, ByVal opis As String, ByVal NrDok As String) As Boolean
Dim NotaPozycjaInfo As New cdn_api.XLPozycjaNotyInfo_20251
Dim ret As Boolean = True
Dim i, KKS_Wn, KKS_Ma As Integer
Dim Rok As Integer
Dim sql, line, KontoWn, KontoMa As String
i = 0
If opis <= " " Then opis = "brak opisu"
Try
System.Threading.Thread.Sleep(200) 'chwilkę poczekaj na SQL
Tamy_ImpDM_Dekr.ClearBeforeFill = True
Tamy_ImpDM_Dekr.Fill(DsMain.Tbmy_ImpDM_Dekr, DZKNumer)
BsTbmy_ImpDM_Dekr.ResetBindings(False)
BsTbmy_ImpDM_Dekr.MoveFirst()
While i < BsTbmy_ImpDM_Dekr.Count
KontoWn = BsTbmy_ImpDM_Dekr.Current("KontoDebet")
KontoMa = BsTbmy_ImpDM_Dekr.Current("KontoCredit")
KKS_Wn = 0
KKS_Ma = 0
Rok = Year(DataDok)
sql = "select top(1) KKS_GIDNumer from CDN.Konta where KKS_Rok = " & CStr(Rok) & " and KKS_Konto = '" & KontoWn & "'"
line = GetOneVal(sql, DstConn_str)
If line > "" Then KKS_Wn = CInt(line)
sql = "select top(1) KKS_GIDNumer from CDN.Konta where KKS_Rok = " & CStr(Rok) & " and KKS_Konto = '" & KontoMa & "'"
line = GetOneVal(sql, DstConn_str)
If line > "" Then KKS_Ma = CInt(line)
With NotaPozycjaInfo
.Kwota = Str(BsTbmy_ImpDM_Dekr.Current("Kwota")) + Chr(0) 'Kwota
.NumerDokumentu = NrDok + Chr(0) 'Numer dokumentu
.KKSNumerDT = KKS_Wn
.KKSNumerCT = KKS_Ma
.Opis = opis + Chr(0) 'Opis z pozycji dekretu
.DataDok = XL_Date(DataDok)
.DataOper = XL_Date(DataDok)
End With
line = " pozycja -> " & BsTbmy_ImpDM_Dekr.Current("DokZr")
line = line & " - Wn: " & KontoWn
line = line & ", Ma: " & KontoMa
line = line & ", kwota: " & Str(BsTbmy_ImpDM_Dekr.Current("Kwota"))
listuj(line)
XLDodajPozycjeNotyMem(NotaPozycjaInfo)
If wynikXL <> 0 Then ret = False
BsTbmy_ImpDM_Dekr.MoveNext()
i += 1
End While
Catch ex As System.Exception
ret = False
System.Windows.Forms.MessageBox.Show("Dodaj pozycje: " & ex.Message)
End Try
Return (ret)
End Function
Public Function ZamknijNote(ByVal CzyZapisac As Boolean) As Boolean
Dim NotaInfo As New cdn_api.XLNotaInfo_20251
Dim ret As Boolean = False
With NotaInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
.GIDTyp = GIDTyp 'GID dekretu (zwracanego po dodaniu)
.GIDFirma = GIDFirma '
.GIDNumer = GIDNumer '
.GIDLp = 0 '
End With
XLZamknijNoteMem(NotaInfo)
If wynikXL = 0 Then
ret = True
End If
If Not CzyZapisac Then
Dim KasNotaInfo As New cdn_api.XLNotaInfo_20251
With KasNotaInfo
.Wersja = Wersja
.Tryb = 2 'Tryb wystawienia (interakcyjny/wsadowy)
.GIDTyp = GIDTyp 'GID dekretu (zwracanego po dodaniu)
.GIDFirma = GIDFirma '
.GIDNumer = GIDNumer '
.GIDLp = 0 '
End With
XLKasujNoteMem(KasNotaInfo)
End If
Return (ret)
End Function
End Class
+246
View File
@@ -0,0 +1,246 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{ACEDBC4B-04AD-423D-B0D7-B930B9998493}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>ImportDokMag.My.MyApplication</StartupObject>
<RootNamespace>ImportDokMag</RootNamespace>
<AssemblyName>ImportDokMag</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<IsWebBootstrapper>false</IsWebBootstrapper>
<TargetFrameworkProfile />
<PublishUrl>D:\Dokumenty\Praca\myCONSULT\Gotec\ImportDokMag\Publikuj\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>false</MapFileExtensions>
<ProductName>ImportDokMag</ProductName>
<PublisherName>myCONSULT Sp. z o. o.</PublisherName>
<SuiteName>ImportDokMag</SuiteName>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>2.0.0.0</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>ImportDokMag.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>ImportDokMag.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\x86\Debug\</OutputPath>
<DocumentationFile>ImportDokMag.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<DefineTrace>true</DefineTrace>
<OutputPath>bin\x86\Release\</OutputPath>
<DocumentationFile>ImportDokMag.xml</DocumentationFile>
<Optimize>true</Optimize>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ManifestCertificateThumbprint>7632AB20CCBEDCF1AC243A2A06A675C12FFD4C4D</ManifestCertificateThumbprint>
</PropertyGroup>
<PropertyGroup>
<ManifestKeyFile>ImportDokMag_TemporaryKey.pfx</ManifestKeyFile>
</PropertyGroup>
<PropertyGroup>
<GenerateManifests>true</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<SignManifests>false</SignManifests>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>cab.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>false</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>ImportDokMag_TemporaryKey.pfx</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="cdn_api20251.net">
<HintPath>C:\xl\comarch xl\cdn_api20251.net.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="dlgKonfig.Designer.vb">
<DependentUpon>dlgKonfig.vb</DependentUpon>
</Compile>
<Compile Include="dlgKonfig.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="DsMain.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>DsMain.xsd</DependentUpon>
</Compile>
<Compile Include="DsMain.vb">
<DependentUpon>DsMain.xsd</DependentUpon>
</Compile>
<Compile Include="FunkcjeXL.vb" />
<Compile Include="MainFrm.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainFrm.Designer.vb">
<DependentUpon>MainFrm.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="ImportDM.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="dlgKonfig.resx">
<DependentUpon>dlgKonfig.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainFrm.resx">
<DependentUpon>MainFrm.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="DsMain.xsc">
<DependentUpon>DsMain.xsd</DependentUpon>
</None>
<None Include="DsMain.xsd">
<Generator>MSDataSetGenerator</Generator>
<LastGenOutput>DsMain.Designer.vb</LastGenOutput>
<SubType>Designer</SubType>
</None>
<None Include="DsMain.xss">
<DependentUpon>DsMain.xsd</DependentUpon>
</None>
<None Include="ImportDokMag_TemporaryKey.pfx" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="cab.ico" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.5.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.5.2 %28x86 i x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Data.SqlClient">
<Version>7.1.1</Version>
</PackageReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>
+711
View File
@@ -0,0 +1,711 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class MainFrm
Inherits System.Windows.Forms.Form
'Formularz przesłania metodę dispose, aby wyczyścić listę składników.
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wymagane przez Projektanta formularzy systemu Windows
Private components As System.ComponentModel.IContainer
'UWAGA: następująca procedura jest wymagana przez Projektanta formularzy systemu Windows
'Możesz to modyfikować, używając Projektanta formularzy systemu Windows.
'Nie należy modyfikować za pomocą edytora kodu.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(MainFrm))
Me.TlMainPanel = New System.Windows.Forms.TableLayoutPanel()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.GbRadio = New System.Windows.Forms.GroupBox()
Me.RbAll = New System.Windows.Forms.RadioButton()
Me.RbBlack = New System.Windows.Forms.RadioButton()
Me.RbRed = New System.Windows.Forms.RadioButton()
Me.CbWewn = New System.Windows.Forms.CheckBox()
Me.CbZakup = New System.Windows.Forms.CheckBox()
Me.CbSprzedaz = New System.Windows.Forms.CheckBox()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.CbKonto = New System.Windows.Forms.ComboBox()
Me.BsTbmyImpDMKonta = New System.Windows.Forms.BindingSource(Me.components)
Me.DsMain = New ImportDokMag.DsMain()
Me.Label3 = New System.Windows.Forms.Label()
Me.edRok = New System.Windows.Forms.NumericUpDown()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.CbMiesiac = New System.Windows.Forms.ComboBox()
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.BtImport = New System.Windows.Forms.Button()
Me.lbUwaga = New System.Windows.Forms.Button()
Me.BtKonfig = New System.Windows.Forms.Button()
Me.BtUsunFlage = New System.Windows.Forms.Button()
Me.BtKoniec = New System.Windows.Forms.Button()
Me.BtOdswiez = New System.Windows.Forms.Button()
Me.TcZakladki = New System.Windows.Forms.TabControl()
Me.TpDocs = New System.Windows.Forms.TabPage()
Me.DgvDokumenty = New System.Windows.Forms.DataGridView()
Me.colLp = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colDokument = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colDokZr = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colDZKOpis = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colDataWyst = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colDataOper = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colSumaCT = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colSumaDT = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colDZKDziennik = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colDekret = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colRokMiesiac = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colDataImportu = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colMagazyn = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colKontrahent = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colOpisDok = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.colDokKoryg = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.BsTbmy_ImpDM_Src = New System.Windows.Forms.BindingSource(Me.components)
Me.TpList = New System.Windows.Forms.TabPage()
Me.LstWynik = New System.Windows.Forms.ListBox()
Me.Timer = New System.Windows.Forms.Timer(Me.components)
Me.Tamy_ImpDM_Src = New ImportDokMag.DsMainTableAdapters.Tamy_ImpDM_Src()
Me.TableAdapterManager = New ImportDokMag.DsMainTableAdapters.TableAdapterManager()
Me.BsTbmy_ImpDM_Dekr = New System.Windows.Forms.BindingSource(Me.components)
Me.Tamy_ImpDM_Dekr = New ImportDokMag.DsMainTableAdapters.Tamy_ImpDM_Dekr()
Me.Tamy_ImpDM_Konta = New ImportDokMag.DsMainTableAdapters.Tamy_ImpDM_Konta()
Me.TlMainPanel.SuspendLayout()
Me.Panel1.SuspendLayout()
Me.GbRadio.SuspendLayout()
Me.Panel2.SuspendLayout()
CType(Me.BsTbmyImpDMKonta, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DsMain, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.edRok, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TableLayoutPanel1.SuspendLayout()
Me.TcZakladki.SuspendLayout()
Me.TpDocs.SuspendLayout()
CType(Me.DgvDokumenty, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.BsTbmy_ImpDM_Src, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TpList.SuspendLayout()
CType(Me.BsTbmy_ImpDM_Dekr, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'TlMainPanel
'
Me.TlMainPanel.ColumnCount = 2
Me.TlMainPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TlMainPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 150.0!))
Me.TlMainPanel.Controls.Add(Me.Panel1, 0, 0)
Me.TlMainPanel.Controls.Add(Me.Panel2, 0, 2)
Me.TlMainPanel.Controls.Add(Me.TableLayoutPanel1, 1, 1)
Me.TlMainPanel.Controls.Add(Me.BtKoniec, 1, 2)
Me.TlMainPanel.Controls.Add(Me.BtOdswiez, 1, 0)
Me.TlMainPanel.Controls.Add(Me.TcZakladki, 0, 1)
Me.TlMainPanel.Dock = System.Windows.Forms.DockStyle.Fill
Me.TlMainPanel.Location = New System.Drawing.Point(3, 3)
Me.TlMainPanel.Name = "TlMainPanel"
Me.TlMainPanel.RowCount = 3
Me.TlMainPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.102805!))
Me.TlMainPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 92.89719!))
Me.TlMainPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 65.0!))
Me.TlMainPanel.Size = New System.Drawing.Size(774, 651)
Me.TlMainPanel.TabIndex = 0
'
'Panel1
'
Me.Panel1.Controls.Add(Me.GbRadio)
Me.Panel1.Controls.Add(Me.CbWewn)
Me.Panel1.Controls.Add(Me.CbZakup)
Me.Panel1.Controls.Add(Me.CbSprzedaz)
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel1.Location = New System.Drawing.Point(3, 3)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(618, 35)
Me.Panel1.TabIndex = 1
'
'GbRadio
'
Me.GbRadio.Controls.Add(Me.RbAll)
Me.GbRadio.Controls.Add(Me.RbBlack)
Me.GbRadio.Controls.Add(Me.RbRed)
Me.GbRadio.Dock = System.Windows.Forms.DockStyle.Right
Me.GbRadio.Location = New System.Drawing.Point(241, 0)
Me.GbRadio.Name = "GbRadio"
Me.GbRadio.Size = New System.Drawing.Size(377, 35)
Me.GbRadio.TabIndex = 3
Me.GbRadio.TabStop = False
'
'RbAll
'
Me.RbAll.AutoSize = True
Me.RbAll.Location = New System.Drawing.Point(297, 9)
Me.RbAll.Name = "RbAll"
Me.RbAll.Size = New System.Drawing.Size(73, 17)
Me.RbAll.TabIndex = 2
Me.RbAll.TabStop = True
Me.RbAll.Text = "Wszystkie"
Me.RbAll.UseVisualStyleBackColor = True
'
'RbBlack
'
Me.RbBlack.AutoSize = True
Me.RbBlack.Location = New System.Drawing.Point(164, 9)
Me.RbBlack.Name = "RbBlack"
Me.RbBlack.Size = New System.Drawing.Size(101, 17)
Me.RbBlack.TabIndex = 1
Me.RbBlack.TabStop = True
Me.RbBlack.Text = "Nieimportowane"
Me.RbBlack.UseVisualStyleBackColor = True
'
'RbRed
'
Me.RbRed.AutoSize = True
Me.RbRed.Location = New System.Drawing.Point(34, 9)
Me.RbRed.Name = "RbRed"
Me.RbRed.Size = New System.Drawing.Size(98, 17)
Me.RbRed.TabIndex = 0
Me.RbRed.TabStop = True
Me.RbRed.Text = "Zaimportowane"
Me.RbRed.UseVisualStyleBackColor = True
'
'CbWewn
'
Me.CbWewn.AutoSize = True
Me.CbWewn.Location = New System.Drawing.Point(146, 9)
Me.CbWewn.Name = "CbWewn"
Me.CbWewn.Size = New System.Drawing.Size(86, 17)
Me.CbWewn.TabIndex = 2
Me.CbWewn.Text = "Wewnętrzne"
Me.CbWewn.UseVisualStyleBackColor = True
'
'CbZakup
'
Me.CbZakup.AutoSize = True
Me.CbZakup.Location = New System.Drawing.Point(83, 9)
Me.CbZakup.Name = "CbZakup"
Me.CbZakup.Size = New System.Drawing.Size(57, 17)
Me.CbZakup.TabIndex = 1
Me.CbZakup.Text = "Zakup"
Me.CbZakup.UseVisualStyleBackColor = True
'
'CbSprzedaz
'
Me.CbSprzedaz.AutoSize = True
Me.CbSprzedaz.Location = New System.Drawing.Point(7, 9)
Me.CbSprzedaz.Name = "CbSprzedaz"
Me.CbSprzedaz.Size = New System.Drawing.Size(70, 17)
Me.CbSprzedaz.TabIndex = 0
Me.CbSprzedaz.Text = "Sprzedaż"
Me.CbSprzedaz.UseVisualStyleBackColor = True
'
'Panel2
'
Me.Panel2.Controls.Add(Me.CbKonto)
Me.Panel2.Controls.Add(Me.Label3)
Me.Panel2.Controls.Add(Me.edRok)
Me.Panel2.Controls.Add(Me.Label2)
Me.Panel2.Controls.Add(Me.Label1)
Me.Panel2.Controls.Add(Me.CbMiesiac)
Me.Panel2.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel2.Location = New System.Drawing.Point(3, 588)
Me.Panel2.Name = "Panel2"
Me.Panel2.Size = New System.Drawing.Size(618, 60)
Me.Panel2.TabIndex = 2
'
'CbKonto
'
Me.CbKonto.DataSource = Me.BsTbmyImpDMKonta
Me.CbKonto.DisplayMember = "Konto"
Me.CbKonto.FormattingEnabled = True
Me.CbKonto.Location = New System.Drawing.Point(415, 20)
Me.CbKonto.Name = "CbKonto"
Me.CbKonto.Size = New System.Drawing.Size(121, 21)
Me.CbKonto.TabIndex = 5
Me.CbKonto.ValueMember = "Konto"
'
'BsTbmyImpDMKonta
'
Me.BsTbmyImpDMKonta.DataMember = "Tbmy_ImpDM_Konta"
Me.BsTbmyImpDMKonta.DataSource = Me.DsMain
'
'DsMain
'
Me.DsMain.DataSetName = "DsMain"
Me.DsMain.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Location = New System.Drawing.Point(366, 24)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(35, 13)
Me.Label3.TabIndex = 4
Me.Label3.Text = "Konto"
'
'edRok
'
Me.edRok.Location = New System.Drawing.Point(37, 22)
Me.edRok.Maximum = New Decimal(New Integer() {3000, 0, 0, 0})
Me.edRok.Minimum = New Decimal(New Integer() {2000, 0, 0, 0})
Me.edRok.Name = "edRok"
Me.edRok.Size = New System.Drawing.Size(120, 20)
Me.edRok.TabIndex = 0
Me.edRok.Value = New Decimal(New Integer() {2019, 0, 0, 0})
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(169, 24)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(43, 13)
Me.Label2.TabIndex = 3
Me.Label2.Text = "Miesiąc"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(4, 24)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(27, 13)
Me.Label1.TabIndex = 2
Me.Label1.Text = "Rok"
'
'CbMiesiac
'
Me.CbMiesiac.FormattingEnabled = True
Me.CbMiesiac.Items.AddRange(New Object() {"styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień"})
Me.CbMiesiac.Location = New System.Drawing.Point(218, 21)
Me.CbMiesiac.Name = "CbMiesiac"
Me.CbMiesiac.Size = New System.Drawing.Size(121, 21)
Me.CbMiesiac.TabIndex = 1
Me.CbMiesiac.Text = "styczeń"
'
'TableLayoutPanel1
'
Me.TableLayoutPanel1.AutoScroll = True
Me.TableLayoutPanel1.ColumnCount = 3
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100.0!))
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.Controls.Add(Me.BtImport, 1, 1)
Me.TableLayoutPanel1.Controls.Add(Me.lbUwaga, 1, 4)
Me.TableLayoutPanel1.Controls.Add(Me.BtKonfig, 1, 6)
Me.TableLayoutPanel1.Controls.Add(Me.BtUsunFlage, 1, 3)
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel1.Location = New System.Drawing.Point(627, 44)
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
Me.TableLayoutPanel1.RowCount = 8
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 42.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 60.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28.0!))
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 57.0!))
Me.TableLayoutPanel1.Size = New System.Drawing.Size(144, 538)
Me.TableLayoutPanel1.TabIndex = 3
'
'BtImport
'
Me.BtImport.Dock = System.Windows.Forms.DockStyle.Fill
Me.BtImport.Location = New System.Drawing.Point(25, 23)
Me.BtImport.Name = "BtImport"
Me.BtImport.Size = New System.Drawing.Size(94, 26)
Me.BtImport.TabIndex = 4
Me.BtImport.Text = "Importuj"
Me.BtImport.UseVisualStyleBackColor = True
'
'lbUwaga
'
Me.lbUwaga.BackColor = System.Drawing.Color.PaleGreen
Me.lbUwaga.Dock = System.Windows.Forms.DockStyle.Fill
Me.lbUwaga.Enabled = False
Me.lbUwaga.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(238, Byte))
Me.lbUwaga.ForeColor = System.Drawing.Color.Red
Me.lbUwaga.Location = New System.Drawing.Point(25, 119)
Me.lbUwaga.Name = "lbUwaga"
Me.lbUwaga.Size = New System.Drawing.Size(94, 54)
Me.lbUwaga.TabIndex = 5
Me.lbUwaga.Text = "Czekaj: pobieranie danych"
Me.lbUwaga.UseVisualStyleBackColor = False
Me.lbUwaga.Visible = False
'
'BtKonfig
'
Me.BtKonfig.Dock = System.Windows.Forms.DockStyle.Fill
Me.BtKonfig.Location = New System.Drawing.Point(25, 456)
Me.BtKonfig.Name = "BtKonfig"
Me.BtKonfig.Size = New System.Drawing.Size(94, 22)
Me.BtKonfig.TabIndex = 6
Me.BtKonfig.Text = "Konfiguracja"
Me.BtKonfig.UseVisualStyleBackColor = True
'
'BtUsunFlage
'
Me.BtUsunFlage.Dock = System.Windows.Forms.DockStyle.Fill
Me.BtUsunFlage.Location = New System.Drawing.Point(25, 77)
Me.BtUsunFlage.Name = "BtUsunFlage"
Me.BtUsunFlage.Size = New System.Drawing.Size(94, 36)
Me.BtUsunFlage.TabIndex = 7
Me.BtUsunFlage.Text = "Skasuj flagę importu"
Me.BtUsunFlage.UseVisualStyleBackColor = True
'
'BtKoniec
'
Me.BtKoniec.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.BtKoniec.DialogResult = System.Windows.Forms.DialogResult.OK
Me.BtKoniec.Location = New System.Drawing.Point(627, 588)
Me.BtKoniec.Name = "BtKoniec"
Me.BtKoniec.Size = New System.Drawing.Size(144, 60)
Me.BtKoniec.TabIndex = 4
Me.BtKoniec.Text = "Koniec"
Me.BtKoniec.UseVisualStyleBackColor = True
'
'BtOdswiez
'
Me.BtOdswiez.Dock = System.Windows.Forms.DockStyle.Fill
Me.BtOdswiez.Location = New System.Drawing.Point(627, 3)
Me.BtOdswiez.Name = "BtOdswiez"
Me.BtOdswiez.Size = New System.Drawing.Size(144, 35)
Me.BtOdswiez.TabIndex = 5
Me.BtOdswiez.Text = "Odśwież dane"
Me.BtOdswiez.UseVisualStyleBackColor = True
'
'TcZakladki
'
Me.TcZakladki.Controls.Add(Me.TpDocs)
Me.TcZakladki.Controls.Add(Me.TpList)
Me.TcZakladki.Dock = System.Windows.Forms.DockStyle.Fill
Me.TcZakladki.Location = New System.Drawing.Point(3, 44)
Me.TcZakladki.Name = "TcZakladki"
Me.TcZakladki.SelectedIndex = 0
Me.TcZakladki.Size = New System.Drawing.Size(618, 538)
Me.TcZakladki.TabIndex = 6
'
'TpDocs
'
Me.TpDocs.Controls.Add(Me.DgvDokumenty)
Me.TpDocs.Location = New System.Drawing.Point(4, 22)
Me.TpDocs.Name = "TpDocs"
Me.TpDocs.Padding = New System.Windows.Forms.Padding(3)
Me.TpDocs.Size = New System.Drawing.Size(610, 512)
Me.TpDocs.TabIndex = 0
Me.TpDocs.Text = "Dokumenty"
Me.TpDocs.UseVisualStyleBackColor = True
'
'DgvDokumenty
'
Me.DgvDokumenty.AllowUserToAddRows = False
Me.DgvDokumenty.AllowUserToDeleteRows = False
Me.DgvDokumenty.AllowUserToOrderColumns = True
Me.DgvDokumenty.AllowUserToResizeRows = False
DataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke
Me.DgvDokumenty.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle1
Me.DgvDokumenty.AutoGenerateColumns = False
Me.DgvDokumenty.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells
Me.DgvDokumenty.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.Disable
Me.DgvDokumenty.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DgvDokumenty.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.colLp, Me.colDokument, Me.colDokZr, Me.colDZKOpis, Me.colDataWyst, Me.colDataOper, Me.colSumaCT, Me.colSumaDT, Me.colDZKDziennik, Me.colDekret, Me.colRokMiesiac, Me.colDataImportu, Me.colMagazyn, Me.colKontrahent, Me.colOpisDok, Me.colDokKoryg})
Me.DgvDokumenty.DataSource = Me.BsTbmy_ImpDM_Src
Me.DgvDokumenty.Dock = System.Windows.Forms.DockStyle.Fill
Me.DgvDokumenty.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically
Me.DgvDokumenty.Location = New System.Drawing.Point(3, 3)
Me.DgvDokumenty.Name = "DgvDokumenty"
Me.DgvDokumenty.ReadOnly = True
Me.DgvDokumenty.RowHeadersVisible = False
Me.DgvDokumenty.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.[False]
Me.DgvDokumenty.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.DgvDokumenty.ShowEditingIcon = False
Me.DgvDokumenty.Size = New System.Drawing.Size(604, 506)
Me.DgvDokumenty.TabIndex = 0
'
'colLp
'
Me.colLp.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colLp.DataPropertyName = "Lp"
Me.colLp.HeaderText = "Lp"
Me.colLp.Name = "colLp"
Me.colLp.ReadOnly = True
Me.colLp.Width = 44
'
'colDokument
'
Me.colDokument.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colDokument.DataPropertyName = "Dokument"
Me.colDokument.HeaderText = "Dokument"
Me.colDokument.Name = "colDokument"
Me.colDokument.ReadOnly = True
Me.colDokument.Width = 81
'
'colDokZr
'
Me.colDokZr.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colDokZr.DataPropertyName = "DokZr"
Me.colDokZr.HeaderText = "Dok. żródłowy"
Me.colDokZr.Name = "colDokZr"
Me.colDokZr.ReadOnly = True
Me.colDokZr.Width = 101
'
'colDZKOpis
'
Me.colDZKOpis.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colDZKOpis.DataPropertyName = "DZK_Opis"
Me.colDZKOpis.HeaderText = "Opis dziennika"
Me.colDZKOpis.Name = "colDZKOpis"
Me.colDZKOpis.ReadOnly = True
Me.colDZKOpis.Width = 53
'
'colDataWyst
'
Me.colDataWyst.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colDataWyst.DataPropertyName = "DataWyst"
Me.colDataWyst.HeaderText = "Data"
Me.colDataWyst.Name = "colDataWyst"
Me.colDataWyst.ReadOnly = True
Me.colDataWyst.Width = 55
'
'colDataOper
'
Me.colDataOper.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colDataOper.DataPropertyName = "DataOper"
Me.colDataOper.HeaderText = "Data dokumentu"
Me.colDataOper.Name = "colDataOper"
Me.colDataOper.ReadOnly = True
Me.colDataOper.Width = 102
'
'colSumaCT
'
Me.colSumaCT.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colSumaCT.DataPropertyName = "SumaCT"
Me.colSumaCT.HeaderText = "Suma Ma"
Me.colSumaCT.Name = "colSumaCT"
Me.colSumaCT.ReadOnly = True
Me.colSumaCT.Width = 71
'
'colSumaDT
'
Me.colSumaDT.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colSumaDT.DataPropertyName = "SumaDT"
Me.colSumaDT.HeaderText = "Suma Winien"
Me.colSumaDT.Name = "colSumaDT"
Me.colSumaDT.ReadOnly = True
Me.colSumaDT.Width = 87
'
'colDZKDziennik
'
Me.colDZKDziennik.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colDZKDziennik.DataPropertyName = "DZK_Dziennik"
Me.colDZKDziennik.HeaderText = "Dziennik"
Me.colDZKDziennik.Name = "colDZKDziennik"
Me.colDZKDziennik.ReadOnly = True
Me.colDZKDziennik.Visible = False
Me.colDZKDziennik.Width = 73
'
'colDekret
'
Me.colDekret.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colDekret.DataPropertyName = "Dekret"
Me.colDekret.HeaderText = "Dekret"
Me.colDekret.Name = "colDekret"
Me.colDekret.ReadOnly = True
Me.colDekret.Visible = False
Me.colDekret.Width = 64
'
'colRokMiesiac
'
Me.colRokMiesiac.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colRokMiesiac.DataPropertyName = "RokMiesiac"
Me.colRokMiesiac.HeaderText = "RokMiesiac"
Me.colRokMiesiac.Name = "colRokMiesiac"
Me.colRokMiesiac.ReadOnly = True
Me.colRokMiesiac.Visible = False
Me.colRokMiesiac.Width = 88
'
'colDataImportu
'
Me.colDataImportu.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colDataImportu.DataPropertyName = "DataImportu"
Me.colDataImportu.HeaderText = "Data importu"
Me.colDataImportu.Name = "colDataImportu"
Me.colDataImportu.ReadOnly = True
Me.colDataImportu.Width = 85
'
'colMagazyn
'
Me.colMagazyn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colMagazyn.DataPropertyName = "Magazyn"
Me.colMagazyn.HeaderText = "Magazyn"
Me.colMagazyn.Name = "colMagazyn"
Me.colMagazyn.ReadOnly = True
'
'colKontrahent
'
Me.colKontrahent.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colKontrahent.DataPropertyName = "Kontrahent"
Me.colKontrahent.HeaderText = "Kontrahent"
Me.colKontrahent.Name = "colKontrahent"
Me.colKontrahent.ReadOnly = True
'
'colOpisDok
'
Me.colOpisDok.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colOpisDok.DataPropertyName = "Opis"
Me.colOpisDok.HeaderText = "Opis dokumentu"
Me.colOpisDok.Name = "colOpisDok"
Me.colOpisDok.ReadOnly = True
'
'colDokKoryg
'
Me.colDokKoryg.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.colDokKoryg.DataPropertyName = "DokKoryg"
Me.colDokKoryg.HeaderText = "DokKoryg"
Me.colDokKoryg.Name = "colDokKoryg"
Me.colDokKoryg.ReadOnly = True
'
'BsTbmy_ImpDM_Src
'
Me.BsTbmy_ImpDM_Src.DataMember = "Tbmy_ImpDM_Src"
Me.BsTbmy_ImpDM_Src.DataSource = Me.DsMain
'
'TpList
'
Me.TpList.Controls.Add(Me.LstWynik)
Me.TpList.Location = New System.Drawing.Point(4, 22)
Me.TpList.Name = "TpList"
Me.TpList.Padding = New System.Windows.Forms.Padding(3)
Me.TpList.Size = New System.Drawing.Size(610, 512)
Me.TpList.TabIndex = 1
Me.TpList.Text = "Przebieg pracy"
Me.TpList.UseVisualStyleBackColor = True
'
'LstWynik
'
Me.LstWynik.Dock = System.Windows.Forms.DockStyle.Fill
Me.LstWynik.FormattingEnabled = True
Me.LstWynik.Location = New System.Drawing.Point(3, 3)
Me.LstWynik.Name = "LstWynik"
Me.LstWynik.Size = New System.Drawing.Size(604, 506)
Me.LstWynik.TabIndex = 0
'
'Timer
'
Me.Timer.Interval = 200
'
'Tamy_ImpDM_Src
'
Me.Tamy_ImpDM_Src.ClearBeforeFill = True
'
'TableAdapterManager
'
Me.TableAdapterManager.BackupDataSetBeforeUpdate = False
Me.TableAdapterManager.Connection = Nothing
Me.TableAdapterManager.UpdateOrder = ImportDokMag.DsMainTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
'
'BsTbmy_ImpDM_Dekr
'
Me.BsTbmy_ImpDM_Dekr.DataMember = "Tbmy_ImpDM_Dekr"
Me.BsTbmy_ImpDM_Dekr.DataSource = Me.DsMain
'
'Tamy_ImpDM_Dekr
'
Me.Tamy_ImpDM_Dekr.ClearBeforeFill = True
'
'Tamy_ImpDM_Konta
'
Me.Tamy_ImpDM_Konta.ClearBeforeFill = True
'
'MainFrm
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi
Me.CancelButton = Me.BtKoniec
Me.ClientSize = New System.Drawing.Size(780, 657)
Me.Controls.Add(Me.TlMainPanel)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MinimumSize = New System.Drawing.Size(796, 696)
Me.Name = "MainFrm"
Me.Padding = New System.Windows.Forms.Padding(3)
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Import dokumentów magazynowych 2.0.1 z 13.10.2026"
Me.TlMainPanel.ResumeLayout(False)
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
Me.GbRadio.ResumeLayout(False)
Me.GbRadio.PerformLayout()
Me.Panel2.ResumeLayout(False)
Me.Panel2.PerformLayout()
CType(Me.BsTbmyImpDMKonta, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DsMain, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.edRok, System.ComponentModel.ISupportInitialize).EndInit()
Me.TableLayoutPanel1.ResumeLayout(False)
Me.TcZakladki.ResumeLayout(False)
Me.TpDocs.ResumeLayout(False)
CType(Me.DgvDokumenty, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.BsTbmy_ImpDM_Src, System.ComponentModel.ISupportInitialize).EndInit()
Me.TpList.ResumeLayout(False)
CType(Me.BsTbmy_ImpDM_Dekr, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents TlMainPanel As TableLayoutPanel
Friend WithEvents DgvDokumenty As DataGridView
Friend WithEvents Panel1 As Panel
Friend WithEvents CbWewn As CheckBox
Friend WithEvents CbZakup As CheckBox
Friend WithEvents CbSprzedaz As CheckBox
Friend WithEvents Panel2 As Panel
Friend WithEvents edRok As NumericUpDown
Friend WithEvents Label2 As Label
Friend WithEvents Label1 As Label
Friend WithEvents CbMiesiac As ComboBox
Friend WithEvents TableLayoutPanel1 As TableLayoutPanel
Friend WithEvents BtImport As Button
Friend WithEvents BtKoniec As Button
Friend WithEvents BtOdswiez As Button
Friend WithEvents DsMain As DsMain
Friend WithEvents BsTbmy_ImpDM_Src As BindingSource
Friend WithEvents Tamy_ImpDM_Src As DsMainTableAdapters.Tamy_ImpDM_Src
Friend WithEvents TableAdapterManager As DsMainTableAdapters.TableAdapterManager
Friend WithEvents lbUwaga As Button
Friend WithEvents TcZakladki As TabControl
Friend WithEvents TpDocs As TabPage
Friend WithEvents TpList As TabPage
Friend WithEvents LstWynik As ListBox
Friend WithEvents BtKonfig As Button
Friend WithEvents Timer As Timer
Friend WithEvents BsTbmy_ImpDM_Dekr As BindingSource
Friend WithEvents Tamy_ImpDM_Dekr As DsMainTableAdapters.Tamy_ImpDM_Dekr
Friend WithEvents BtUsunFlage As Button
Friend WithEvents colLp As DataGridViewTextBoxColumn
Friend WithEvents colDokument As DataGridViewTextBoxColumn
Friend WithEvents colDokZr As DataGridViewTextBoxColumn
Friend WithEvents colDZKOpis As DataGridViewTextBoxColumn
Friend WithEvents colDataWyst As DataGridViewTextBoxColumn
Friend WithEvents colDataOper As DataGridViewTextBoxColumn
Friend WithEvents colSumaCT As DataGridViewTextBoxColumn
Friend WithEvents colSumaDT As DataGridViewTextBoxColumn
Friend WithEvents colDZKDziennik As DataGridViewTextBoxColumn
Friend WithEvents colDekret As DataGridViewTextBoxColumn
Friend WithEvents colRokMiesiac As DataGridViewTextBoxColumn
Friend WithEvents colDataImportu As DataGridViewTextBoxColumn
Friend WithEvents colMagazyn As DataGridViewTextBoxColumn
Friend WithEvents colKontrahent As DataGridViewTextBoxColumn
Friend WithEvents colOpisDok As DataGridViewTextBoxColumn
Friend WithEvents colDokKoryg As DataGridViewTextBoxColumn
Friend WithEvents GbRadio As GroupBox
Friend WithEvents RbAll As RadioButton
Friend WithEvents RbBlack As RadioButton
Friend WithEvents RbRed As RadioButton
Friend WithEvents CbKonto As ComboBox
Friend WithEvents Label3 As Label
Friend WithEvents BsTbmyImpDMKonta As BindingSource
Friend WithEvents Tamy_ImpDM_Konta As DsMainTableAdapters.Tamy_ImpDM_Konta
End Class
+539
View File
@@ -0,0 +1,539 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="BsTbmyImpDMKonta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1083, 18</value>
</metadata>
<metadata name="DsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="colMagazyn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colKontrahent.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOpisDok.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDokKoryg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BsTbmy_ImpDM_Src.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>110, 17</value>
</metadata>
<metadata name="Timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>661, 17</value>
</metadata>
<metadata name="Tamy_ImpDM_Src.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>339, 17</value>
</metadata>
<metadata name="TableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>488, 17</value>
</metadata>
<metadata name="BsTbmy_ImpDM_Dekr.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>743, 17</value>
</metadata>
<metadata name="Tamy_ImpDM_Dekr.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>925, 18</value>
</metadata>
<metadata name="Tamy_ImpDM_Konta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 57</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
IACsJQAAHh0AACAgAAABACAArBAAAMpCAAAQEAAAAQAgAGwEAAB2UwAAKAAAADAAAABgAAAAAQAIAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD+/PsA/fn2APr18gD68+4A+/HoAPfv6wD17OcA9erkAPzt
2gDz5+AA/OjSAPHj3ADw4dkA++HPAO/f1gD648kA7tzTAPvcxwDr2dEA8dvJAOvYzgD63L8A69fNAPzc
uAD/1MYA8tjCAOrUyQD/1rwA8ta+APzZrwDo0cUA8tO4AOfPwwD41LAA5czAAOjLugDkybwA/NCkAOPH
uQDuy6sA4ca4APrNoADGwcoA4sS1AP/LlgDgwrMA5sSqAPDGoADgwLEA8sSbAN6+rgDpw58A5sGkAPrK
hwDdu6wA/bOvAPzJggDduqkA6L6cAK23uwDcuKYAz7apAN23oQDwv4oA5LqXANq1owD/xnIA9cF9ANmz
oADYsp8A47eQANixngDYsZ0A7biFANevmwD3vnEA77p6ALGnswDSrZoA1q2YAP/AYwDrtn4A4LGLAPa7
bQDVq5UA9blrAP++XACvo60A1KmTAOqydwDUp5EA3KqGANOnjwDTo5QA/7tUANKkjQDlrXQAn52sAOms
cADmrHAA/7hMANinewDRoIoA3qZ2AKmZoQDPn4cAdJa6AHaWuADpqWcAy5iRAP2zSQDOnYQAzZyEAP+0
QgAnlc4A0p1+AMyagQBxlqkAJZLLAFqXqwAxksMA/7A6AMuXfgDsp1IA6qRQAP+tMwDJk3kANorAANiZ
ZQDmoFEAyJJ2AIuLlwD/qy0A6aBKADSEwABwhqYAGoW/AMaNcADgmE4A/KYoAP+nJAC6inUAxY1oAP+l
HgDDiGwA25NMAGR7pgDBh2kA/6MZAMKFZgAmerQA145KAL+DZgD/oRMA/J8XAPSbIAD/nw4Av4BgANKI
RwD2mRYA/50JAPeYFACneW0AAG67AAZuuADGflEA/5sDALx7WgDzkxQAa3KDAP6ZAAD6lgYAyX5EALt3
VAD8lQAAAG2rALl2VAD2kgUAJmejAPmSAAAAa6UAuXNPACZlngAFZakAwXZCAPSOAADwiwQA8YoAAO6I
AAATXqEAAAAAAOuFAAC9bzwAtWtGAOiCAAAAX5kA5oABACVUngDkfgAAsWU+AOB6AAAGUJoA23UAAMxs
FADXcAAAbVlOANJrAACsWTAAd1BOALhcGQCpVCkAyl0AAE1NTQBiTkIApkwgAI9HLgDEVAAAslAKAF9G
OQC4UAAAqEkTAIVDKwCqSQ0AtUsAAKFEFQCgQhMAqkYFAH89IQCvQwAAqUMAAJ08DACmQAAASTcuAGA3
JQCjPQAAoDoAAGAzIACaNgIAgjATAIEwEwCMMwUAmTMAAHQyDwCFLgMAki0AAHIuAAB/KgAAQCUXAIEh
AABDIxIAViMAACIZFQA+GQAACwgHAAAAAAC/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/
v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v9XV1dW/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/
v7+/v7+/v7+/v7+/v7+/v7+/1fDw287V1dXVv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/
v7+/v7/V8PXy8vLt7dvO1dXVv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v9Xw5ezy8vLy
8u7y7erW1dXV1b+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/1fDlz+zy8vLy8vLy8vLu8u3q1tXV
1b+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7/V8OXPz+vy8sIVOp7X8vLy8vLy7u3t6tXV1dW/v7+/v7+/
v7+/v7+/v7+/v7+/v9Xv5c3Nz+vuwrYTFxshI0uo1/Ly8vLy8vLt7erV1b+/v7+/v7+/v7+/v7+/v7+/
1eTgy8vNzevisa4RFRsfIyUpLjNgsdfu8vLy8vL51b+/v7+/v7+/v7+/v7+/v7/V3uDJy8vNzevisa4P
ExcbHyMnLDE3PUJJcbHX7vL51b+/v7+/v7+/v7+/v7+/v9Xe4MfJycvLzeviqKgNERUbHyElKS4zOj1F
S1VbYIOe0dW/v7+/v7+/v7+/v7+/1djcw8fHycnLy+viqKgMDxEXGx8jJywxMz1CSFBZXWdqddW/v7+/
v7+/v7+/v7+/5tzAwMPHx8nJy+vinqgKDQ8TFx8hJScuMzo9RUtQWWBncdW/v7+/v7+/v7+/v7+/6Ly9
wMPFx8nJy+vinp4KDA0RFRsfJ1BbW1VVUElLWV1gatW/v7+/v7+/v7+/v7+/5ry9wMDDxcfJyevilpkI
Cg0PExcldXBwcHBqampQUFlgZ9W/v7+/v7+/v7+/v7+/5rq8vcDAw8fHyevilpYHCgwNERV7insxM0Vw
g391S1VbYNW/v7+/v7+/v7+/v7+/5rq8vL3Aw8XHyejhlJEHCAoNDxeqiaS+xpNYSZSKS1BZXdW/v7+/
v7+/v7+/v7+/5rS6vL29wMPFx+jhkZEGBwoMDSuwh2uzxMTEuKNdRktVW9W/v7+/v7+/v7+/v7+/5rS6
ury9wMDDx+jhlLEEBggKDBMVFxsfI06TeYQ9QklQWdW/v7+/v7+/v7+/v7+/5rS0ury8vcDDxej0/7ED
BgcIDA0RFRsfIyUpYjc6PUVLVdW/v7+/v7+/v7+/v7+/5q+0tLq8vb3Aw+j3/7EDBAYICgwPERcbHyMn
LDE3PUJJUNW/v7+/v7+/v7+/v7+/5quvtLq6vL3AwOj3/64CAwYHCAoNERMXHyElKS4zOj1FS9W/v7+/
v7+/v7+/v7+/5quvtLS6vLy9wOj3/64CAwQGBwoMDxEVGx8jJywuMz1CSNW/v7+/v7+/v7+/v7+/5qur
r7S0ury9vej3+K4HBwMGBwgKDQ8TFxshIycuMzo9RdW/v7+/v7+/v7+/v7+/5qerq6+0urq8vebTZi1K
aI9TaC40FxQRFRsfIyUsLjM6QtW/v7+/v7+/v7+/v7+/5qGnq6+0tLq6vNI1CRg1JlxmZkpmZFpjXFpG
Tz4uLDE6PdW/v7+/v7+/v7+/v7+/452hq6uvtLS6qTABAAsQEAsvGDUiRzImLab6/vzb6Y6uRtW/v7+/
v7+/v7+/v7+/45qdp6urr7ScJgEAAAAQEBILIBYoIh4ckeTz8ez2+/311b+/v7+/v7+/v7+/v7+/45Wa
oaerr6+iKgEAAAACEhodECAWGBxumZaxg7nB0tr11b+/v7+/v7+/v7+/v7+/45CVnaGrq6+0ojABAAAC
AxodIBYWGW6ZkYpbWWBncbn11b+/v7+/v7+/v7+/v7+/442Qmp2nq6uvtMwyAQACAwUdJBASXo57cUtQ
VV1narny1b+/v7+/v7+/v7+/v7+/44WNlZqhp6uvr9SBNAECBD8OCxlee2BZQkVLUFlgZ63u1b+/v7+/
v7+/v7+/v7+/436MkJWdoaurr89oDzsDQW9mOGdnRkI3OkJGS1VdYK3s1b+/v7+/v7+/v7+/v7+/436F
jZCanaerq89oChFcUm2fe3FgYF1dWUhFS1BZYK3r1b+/v7+/v7+/v7+/v7+/33p+hY2VmqGnq81hCAoM
DycxaopxdXWDf3tIRktVW5/o1b+/v7+/v7+/v7+/v7+/33J6foyQlZ2hq8thBwgKDRE8eHeXt3aIaZZL
QklQWZ/m1b+/v7+/v7+/v7+/v7+/33J6foWNkJqdp8taBggKDA9spXOXysTEtYA9QkVLVZjl1b+/v7+/
v7+/v7+/v7+/32Vyen6FjZWaoclaBAcICg0PExcbISUpWGI3PUJJUJjg1b+/v7+/v7+/v7+/v7+/319v
cnp+jJCVncVNBAYHCgwNERUbHyMlJy4zOj1FS5Lg1b+/v7+/v7+/v7+/v7+/319lcnp+hY2QmsBNAwQH
CAoNDxMXGyEjJywxNz1CSYvc1b+/v7+/v7+/v7+/v7+/31dfZXJ6foWNlbtEAgQGBwoMDREVGx8jJScu
Mzo9RYvc1b+/v7+/v7+/v7+/v7+/3VFXX29yen6MjbtEAgMEBwgKDA8RFxshIycsMTc6QoLZ1b+/v7+/
v7+/v7+/v7+/3VFXX2Vyen6FjbJEAQIEBgcKCg0RFRcfISUnLjM6PYLZ1b+/v7+/v7+/v7+/v7+/3UNR
V19lcnp+haybjIyMjG9MTFRWQCgoNDQvLDEzOn3U1b+/v7+/v7+/v7+/v7+/3UNRUVdfVzYgDw8TFxsf
IzQ7QUFHZHx9fYaGnKCgoKDU1b+/v7+/v7+/v7+/v7+/3UM2HgsGBwgKDA8RFRsbISMlKS4zNz1GcHV1
dbbQ0NjYv7+/v7+/v7+/v7+/v7+/7tPT09PIwsKucHBdNzc3N11wcKjC0NDQ0NDQ0NC/v7+/v7+/v7+/
v7+/v7+/v7+/v7+/v7+/v7/IyMjIyMjIyMjI0NC/v7+/v7+/v7+/v7+/v7+/v7+/v7////////8AAP//
h////wAA//8Af///AAD//gAP//8AAP/8AAD//wAA//gAAB//AAD/8AAAAf8AAP/gAAAAfwAA/8AAAAB/
AAD/gAAAAH8AAP8AAAAAPwAA/gAAAAA/AAD+AAAAAD8AAP4AAAAAPwAA/gAAAAA/AAD+AAAAAD8AAP4A
AAAAPwAA/gAAAAA/AAD+AAAAAD8AAP4AAAAAPwAA/gAAAAA/AAD+AAAAAD8AAP4AAAAAPwAA/gAAAAA/
AAD+AAAAAD8AAP4AAAAAPwAA/gAAAAA/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4A
AAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/
AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAH8AAP4AAAAAfwAA/gAAAAB/AAD+AAAAAP8AAP4A
AAAP/wAA//4AH///AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP/8
+QD++vUA+vXzAPr08AD+8+kA+PDtAPbu6gD27OgA/e/cAPXq5gD06OMA8+bgAPTn2gD55tcA/OfSAPHj
3ADw4NgA/OPNAO/e1gDz3c0A9t7JAO3b0gDt2tEA7NnQAPTdwwDr2M4A99bIAOvWzAD72rwA6tXKAOrU
yQDu1MIA6NLHAPjYtADr0sIA58/EANPKzgDmzcAA8dGzAPDQtQDz0qwA6823AOXLvQDkybsA782vAOHI
uwDjx7kA7syrAOfIswD/z5wA4sa4APbNogDixLYA+tCVAOjHrADryKcA4cO0AOjFqwDgwbIA37+vAMK4
wADmuawA3burAOO9oQCzs8YAt7PDANu5qQDlvZ0A3LmnAPvHfADjs6oA27elAPzFeADru5EA2rWjALq0
rwDatKEA1rOiAOCvpgCtrroA2bOfAP/EbQD4wXUAyq+oANixnQDYsJwAzqymAOG0jwD3vnIA16+bAP/B
ZADWrZkA6KedAOKxiQDWrJcAy6iiAO+0fACwpbAA3a6LANWqlADUqZMA/71bAMiknwDTppAA3quAANap
hQDZqYMA3qp+AP+6UgDHn5kA9rJiANGjjQDMoI4A0KGJAM+giAD/tkoARZy/AM6dhQD/tEMAzZuCAP+x
PQDMmH4ApZaHAMqVewD/rjYAgIivAP+tMgBwjKYA/6wxAMSRewDIkncA6aFLAHGFqQD/qisAE4XJAKGJ
iwDalloA96M1AMaNcQDmm0YA/6ckACeFtQDFi24ALYK3AP+lHgD3nygAJ3y2AP+jGgD/ohYAu4JsALqH
YAAzd7AA/6ARAMeDWgDrlSkAv4BgAP+eDQBNeJkA+JsVAL9/YAD/nAgA5I4oAL17WgD/mgMA/pkAADJt
oAC8eFcA2IYxAN6IJwD8lgAAzn47APqTAAD5kgAAunRRABNmqQDWgSsA2IEnAPWPAADMezUA8owAALdv
SwDwigAAi2xdAMx4LQDReiYABmObAKRrUQDthgAAAAAAALZpSQDrhAAAzHUmAOiCAADLdCUAAF2ZAMxz
IADlfgAA4nwAALJlPgDgeQAAzG8XAN13AADcdQAAsmE0ANhyAACwXDkAzGwPAK5dNQCZWzsA1G4AAG5X
SwDMaAcAq1cvAM9oAADMZgAAqlMxAMljAACFVjAA2lwFAMZgAAB0Tz0ATU1NAK5TGADJVwAAYUc7AMBR
AACvTgsAm0cdAGVEMwChQxQAt0kAALFGAACeQBEAnz4OAKxBAACROxIAoT0GAJ48BQCmPQAAWjYkAJU9
AACbOAcAoDkAAJs4AwCZNwUAWjEfAJkzAACVLwAAZCkRAH8qAACCKAAAciUJAHEkBwCBIQAAHQ8IAL29
vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb3e3t7e3r29vb29vb29vb29vb29
vb29vb29vb29vb293vX38v353t7e3t69vb29vb29vb29vb29vb29vb29vd711/f39/f3/v359t7e3t69
vb29vb29vb29vb29vb3e7tLW9+Y1L3jH6vf3/v359t7e3r29vb29vb29vb293u7NzdLqtS8aISszUYvQ
6vf+/vzevb29vb29vb29vd7tyMrN0umuKxceJCw5P0hVcqDV0OHevb29vb29vb3e7MXFyMvN6a4mExof
KzM8P0taZXB2cd69vb29vb29veS/v8XGysvmpyQRFh4kM0VLUVVfaHJu3r29vb29vb293La8wcXGyuaj
HxATGiFydnZzcl9kcG7evb29vb29vb3ctLy/wcXI5qAaDBEWVntMQ0h8fFxoZ969vb29vb29vdmytLy/
xcbmnBcKEBOOh6/Dup56VmRn3r29vb29vb292a20trzBxenlFwcLECUcIS5ikEVNXGfevb29vb29vb3X
rLK0vL/B+v8TBgoMERgfJC85P0hWYN69vb29vb29vdeqrbK0vL/6/xMDBwsQExohKzM8Q0tg3r29vb29
vb2916WqrbS2vPraHg0GCAwRFx4kLDk/SFfevb29vb29vb3UpaqssrS2mjRraWyXY0BEJjEmMzxOV969
vb29vb29vdShpaqtsm8EAgkiKjBjajJh8N3Tt/vevb29vb29vb29z5mkpaqSDwAAAg8tKCcdT7vR3+Px
+969vb29vb29vb3PlJ2lqqyKDgABBRU6HUeWj3Noc3r43r29vb29vb29vcmNlaGlqq2rDgEFGxI+gnZf
WmVwdvfevb29vb29vb29yYaRmaSlqsIgFEqJXXFVSEhRX2hy8969vb29vb29vb3EgY2UnaWquQsjN2t4
enZ2cFxaZXDv3r29vb29vb29vcR5ho2VoaWxCAwRUHWTpoCIZVFcaOvevb29vb29vb29wHd9hpGZpKkH
CxBBQj1+hZhUS1Zk6N69vb29vb29vb24dHl/jZSdogQIDBEWHiQsNTxFUVzn3r29vb29vb29vbhtdHmB
jZWbAwYKEBMYHyYvOz9LVeLevb29vb29vb29s2Ztd32GkZICBAgMERYcJCs1PEVN4t69vb29vb29vb2z
W2Z0eX+Nn0ZJU1kpJy04OC85P0jg3r29vb29vb29vatSW0k2GREWHCEmLFhYXmlshIyosNvevb29vb29
vb29zMzMzMyPg3Y/Pz94eI+nvr6+ztjVzL29vb29vb29vb29vb29vr6+vr6+vr6+vr6+vb29vb29vb29
vb3//////+D////AB///gAB//wAAD/4AAA/8AAAH+AAAB/gAAAf4AAAH+AAAB/gAAAf4AAAH+AAAB/gA
AAf4AAAH+AAAB/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gAAA/4AAAP+AAAD/gA
AA/4AAAf/4AH/ygAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/WQAAy2QAAM9p
AADTbQAA1G4AANhxAADcdgAA3ngAAOJ7AADngAAA7IUAAO+IAADxiwAA9I0AAPWPAAD2kAAA+ZIAAPyV
AAD9lwAA/pkAAP+ZAgD4kwMA8YwEAK0vBgA2FwgA/5wKAJ08CwD7mxAAcDYRAP+fEQB5LRIAfTEWAII/
GgD/oxoA/aMdAP+nIwB9QCUAgUUlAHU7JgCGSSYAjE0nAHI9KACzQyoA/6osAJBCLQC7ZS0AeUkwALpS
MwD/rzcAzHY4AM96OABwSTkAsGE5AM96OQDWfDkA8H45APKBPgBvTkAA/7JAAJxTQgC1a0YA/7ZIALdu
SgDviEwATU1NAP+8WADujVkA7I9hALuGZQD6u2sAyo9tAOuXbwDUlXAA5KxyAOGTdADPmHQAzYR3AN2s
eQDVoHsA0aB8AMuXfQDNm4IA26iDAM+giADitowA0qSOANKljgDLno8A06eQANOokgC2m5MA2KyUAOW6
lADswJQAzqOWAOa/mgCuppsA16+bANConQDYsJ0AWXKeAPHKnwDcqKAA2bOgAOrEoADatKIA06+kAM+0
pgDbt6YA27imANy4pwBJe6kA3LqpANm5qgDWtawA782sAPzcrgBznK8A9M+vANmuswDhwrMA4sS1ALOs
twDjx7kA9Ni5AJyguwDs0bsA8dO7AOTJvADn0MMA8trDAPnixQDo0sYA9dnGAPbfxgDp08gA9+HJAOrW
ywDlx84A7NrQAO3b0gDt3NMA797WAPDh2QCJy9oA8eTdAPTo4wD06uQA9evlAPfu6gD78uoA+vTxAAAA
AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmJiYmJiY
QEBAQJiYmJiYmJiYmJiYQB8mM0BAQECYmJiYmJiYQAAaTC8XHik5QECYmJiYQAMBNIuBeGxQKixAmJiY
QAcIAjyPiYBtY1VXQJiYmDELCQQ+koxgWlFZXkCYmJgyDQoFLpWPfXpkZ2JAmJiYNRAMBhiXk42EeW5q
QJiYmDYSDwhPVE1fZWtxckCYmJg3FBFFmYZ/dkQgHDtAmJiYOB0TFpaWhVtTWEYkmJiYmD8jGQ5+XUhT
VmFLJZiYmJhCMCEVgpGQdW9pTieYmJiYQz0rG4iUjod7cFIomJiYmEdBOiJ0g3xzaFxJLZiYmJhKSkpm
d4p3Uk5KRpiYmPw/vb34B7+/8AHKy+ABJBHAASQzwAFRVcABcm7AAb29wAG9vcABtrzAA8bKwAMfEMAD
IXLAA3NywANwbsAHvb0oAAAAMAAAAGAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAABDsn
FA1EIgkePiILLUAjDCw+HwghRiMMFkAgEBBGFwALVSsABlUAAAMAAAACAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABAQAAERCIRDzodDCw8IQxVOx8LdToeC3Y7Hw1jPB8NUT8jDEE+HwoxPh8IIUYjDBZEIhEPORwACTMz
AAWAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAEBAAAREIhEPPSELLkUfC21mHwTOUx4I1TwcDMs3Gwy6OR0MqjseDJc7Hgx+Ox8NZD0g
DU8+IQg+PiILLT4jCR1AGg0USSQSDjkcAAkzMwAFgAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAQEAABEQiEQ89IQsuRR8LbnghAu6SLQD/mTMA/5kzAP9zIAL8YR8F9FAe
Cec9HAzPNxsMujgdDKc6HgqSOh4NdzoeC109HwpLPyEIPT4iCy0+IwkdQBoNFEkkEg45HAAJMzMABYAA
AAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVQADRCIRDz0hCy5FHwtueCAC7q0/AP+hOwD/mTMA/5kz
AP+ZMwD/mTMA/5kzAP+bOAf/byAD+l0fBvJLHQniNhwNxzccDbY5HQulOh4LkToeDXc6HgtdPR8KSz8h
CD0+IgstPiMJHUAaDRRJJBIOORwACUBAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFUAAANJJBIOPSELLkUfCW54IALurkIA/9Bp
AP+hOwD/mTMA/5kzAP+ZMwD/mTMA/5kzAP+ZMwD/mTMA/5kzAP+ZMwD/mzgH/28gA/peHwbySx0J4jYc
Dcc3HA22OR0LpToeC5E6Hg13Oh4LXT0fCks/IQg9OyQMK0AgCxhAIAAIAAAAAgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkArFQw9HgwqRB8JbHgh
Au6wQwD/1G0A/9FrAP+iPAD/mTMA/5k0Af+2bEf/7NjO/9y6qP/AgmL/pkwg/5kzAP+ZMwD/mTMA/5kz
AP+ZMwD/mTMA/5s4B/9vIAP6Xh8G8ksdCeI2HA3HNxwNtjkdC6U6HguROyALcTkdC0c1GgkdJCQABwAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRhcXCzwi
DSZGHwlleCAB7bFFAP/YcQD/1W8A/9NsAP+iPAD/mjUC/7RpQ/+6dFH/7drR/+vXzf/p08f/58/D/+XL
vv/Xr5v/vXta/6RKHf+ZMwD/mTMA/5kzAP+ZMwD/mTMA/5kzAP+hRBX/byAD+l4fBvJMHQnhNRsMuzYd
DYU5HBA/OSscElVVAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAJGFxcLPhwOJT4gDFd1IQLlskwA/9t1AP/ZcwD/13EA/9VuAP+iPAD/n0AR/7p1Uv+7dlT/7t3U/+zY
zv/q1cr/6NHF/+bNwf/kybz/4sa4/+DBsv/fvq7/0qSN/7p1Uv+nTyP/mjYE/5kzAP+ZMwD/mTMA/5kz
AP+ZMwD/gSEA/zYcELM7IRVjQy8iJk0zMwr/AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAADMaAApAHA4kOx0MV24gA9izTQD/4HkA/913AP/bdQD/2HIA/9ZwAP+jPQD/n0AR/7p1
U/+7d1T/79/X/+3a0f/r183/6dPI/+jQxP/ly7//48i6/+HEtf/gwLH/3rys/9y5p//ataL/2LGd/82c
g/+6dVL/pUwg/5o2A/+ZMwD/gSEA/zceEdI/JhmOSS8kRl06LhaAQEAEAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAADwaCR47HwxSbyAD17VOAP/kfQD/4XsA/995AP/cdgD/2nQA/9hx
AP+jPQD/n0AR/716Wf+9e1r/8OHZ/+7d1f/s2c//6tXL/+nSxv/mzsL/5Mq8/+LGuP/hwrP/376v/927
qv/bt6X/2bOg/9evm//VrJb/06eS/9Kkjf/IkXX/v35f/25FQ/BJLCG4Ry0hZVU5MiRgQEAIAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADsbDjhwIAPRtlAA/+iCAP/lfwD/43wA/+F6
AP/eeAD/3HYA/9lzAP+jPQD/n0AR/716Wf++fFv/8OLb/+/f1//t29L/69fN/+rUyf/o0MT/5czA/+PI
uv/ixbb/4MCx/969rP/cuaf/2rWj/9ixnv/WrZn/1KqU/9OmkP/Roov/z5+H/8yagf9jPjnURi4hdVE6
LixxVTkJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHYgArq3UQD/7IYA/+qD
AP/ngQD/5H4A/+J8AP/geQD/3ncA/9t1AP+jPQD/oEIT/79/X/++fV3/8uXf//Dh2f/u3tX/7NnQ/+vW
zP/p0sb/587C/+TKvf/jx7j/4cKz/9++r//du6r/3Lim/9mzoP/Xr5v/1ayX/9Sokv/SpI3/0KGJ/82c
hP9jPTfXRywfelM3LC5mTTMKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKU/
AP/wiQD/7YcA/+uFAP/pggD/54AA/+R+AP/hewD/33kA/912AP+kPgD/oEIT/79/X//AgWH/8+fh//Hj
3P/v4Nj/7dzT/+zYzv/q1Mn/6NDE/+PHuf/WrJf/1KiR/9Sokf/VqpT/1auV/9atmP/YsZ3/1q6a/9Sq
lP/TppD/0aOL/8+fh/9kPzjXRywfelM3LC5mTTMKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAKhBAP/xiwD/74kA/+yGAP/rhAD/6IIA/+Z/AP/jfQD/4XoA/954AP+kPgD/oEIT/8GE
Zf/Bg2P/9Onj//Ll3//w4dr/7t7W/+zZ0P/r1sz/5cq8/82agf/OnIP/zpyD/86cg//PnoX/z5+G/8+f
hv/QoIj/1q2Y/9Wsl//UqJP/0qWO/9Chif9kPzrXRywhelM3LC5mTTMKAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKhCAP/zjQD/8YoA/+6IAP/shgD/6oMA/+eBAP/lfgD/4nwA/+B5
AP+kPgD/oEIT/8KEZv/ChGb/9evm//To4v/x49z/7+DY/+3c0//s2M7/y5d9/8aNcf/Ll33/38Cw/969
rf/Zs6D/zp2F/8mSd//KlHr/zZuC/9aumv/Vq5X/06aR/9GjjP9kQTvXRy4helM3Mi5mTTMKAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKhCAP/1jwD/8owA//CJAP/thwD/64UA/+mC
AP/ngAD/5H4A/+F7AP+lPgD/oUMU/8OIaf/EiWz/9u3p//Xq5P/y5uD/8OLa/+7e1v/m1c//a3KD/xqF
v/8Abrv/E16h/yVUnv9keqX/rqCr/9iwnf/Dh2n/x45y/9ewnP/WrZj/1KmT/9Klj/9kQTvXRy4helM3
Mi5mTTMKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlCAP/3kAD/9I4A//GL
AP/viQD/7YcA/+uEAP/oggD/5n8A/+N9AP+lPwD/oUQV/8SKbP/Fim3/9+/r//bs5//06OL/8eTd/+/g
2P/Gwcr/AG2r/zSEwP90lrr/Jmej/wBamf8AZJn/AGWa/wVlqf+neW3/0qaP/9iyn//Xr5v/1auV/9On
kf9lQjzXRy4helM3Mi5mTTMKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlD
AP/5kgD/9o8A//ONAP/xigD/7ogA/+yGAP/qgwD/54EA/+V+AP+lPwD/oUQV/7+Hav+1eFr/+PHu//fu
6f/16uT/8+bg//Di2//o2tX/5tbQ/+vXzf/p08j/6NDE/+XLv/+xp7P/ZHum/zGSw/+Li5f/3Lmn/9m0
ov/YsZ3/1q2Y/9SplP9lQz3XRy4helM9Mi5mTTMKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAKlDAP/6kwD/+JEA//WPAP/yjAD/8IkA/+2HAP/rhQD/6YIA/+eAAP+lPwD/hS4D/wUE
A/+6dVP/+fTx//jw7P/27Of/9Onj//Hk3v/w4dn/7t3U/+zZz//q1cv/6dLG/+bNwf/kyrz/4sa4/5ab
rf/Zuq7/3bup/9u3pf/Zs6D/16+b/9Wslv9mRUDXRy4helM9Mi5mTTMKAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlDAP/7lQD/+ZMA//eQAP/0jgD/8YsA/++JAP/thwD/64QA/+iC
AP+mQAD/fyoA/wAAAP+6dlP/+vb0//ny7//37ur/9erl//Pn4f/x49z/79/X/+3b0v/r183/6tTJ/+jQ
xP/lzL//48i6/+HEtf/gwLH/3rys/9y5p//ataP/2LGd/9atmf9mRUDXRy4kelM9Mi5mTTMKAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlDAP/9lwD/+pQA//mSAP/2jwD/840A//GK
AP/uiAD/7IYA/+qDAP+mQAD/fyoA/wAAAP+7dlT/+/j2//n08f/48Oz/9uzo//Tp4//y5d//8OHZ/+7d
1f/s2dD/69bL/+nSxv/nzsL/5Mq9/+LGuP/hwrP/376v/927qv/cuKb/2bOg/9ewnP9nRkHXRy4kelM9
Mi5mTTMKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpEAP/+mAD//JYA//qT
AP/4kQD/9Y8A//KMAP/wiQD/7YcA/+uFAP+mQAD/fyoA/wAAAP+7dlT//Pr4//r29P/58u//9+7q//Xr
5v/z5+H/8ePc/+/f1//t3NP/7NjO/+rUyf/o0cX/5czA/+PIuv/ixbb/4MGy/969rP/cuaf/2rWj/9ix
nv9nRkHXSTAkelk9Mi5mTU0KAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpE
AP//mQD//pgA//uVAP/5kwD/95AA//SOAP/xiwD/74kA/+2HAP+mQAD/fyoA/0AlF/+7d1X/9uzl//Lr
5//69fL/+PDs//bt6P/06eP/8uXf//Dh2v/u3tb/7drR/+vWzP/p08f/58/D/+XLvv/jx7n/4cKz/9+/
r//du6r/3Lim/9mzof9oSELXSjAkeVk9Mi5mTU0KAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAKpEAf//mwT//pkA//2XAP/6lAD/+ZIA//aPAP/zjQD/8YoA/+6IAP+qRAD/p1Qq/9ig
e///y5b/7biF/+CqeP/GkWf/5LKI/+Cqd//iw7L/6cWh/+zXy//w28r/7dzT/+zYzv/q1Mr/6NHF/+XM
wP/kybv/4sW2/+DBsv/eva3/3bqo/9q2pP9pSUPRSS8jc1k7LytxVVUJAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpFAv//nQn//5oC//6YAP/8lgD/+pMA//iRAP/1jwD/84wA//CK
AP+8YBz/5r+k///w3f//4Ln/5sSm//rQpf/VrYf/2Kh+/9ioff/vu4f/16R1/+ascP/us3n/6axw/9yq
hv/psHT/2bKf/8Womv/Ptqn/3cK0/+HDtP/fv7D/3buq/9y4pv9vTki/Ry8kXVU+LiFtSUkHAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpFA///nw///5wH//+ZAP/+mAD/+5UA//qT
AP/3kAD/9I4A//OTFP/1yJ7//v37///////969H/++bL//rkyv/86NL/5cWu//jYt//lwqP/+NOr/9+2
kP/0xZn//9Cg///Llv/LgU7/QyMS/xEMCv8iGRX/WkQ4/0k3Lv+yh3P/wHtU/9iynv93U0+eSC0kOVo8
LRFVVVUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpFBP//oRT//54M//+b
BP/+mQD//ZcA//uUAP/5kgD/+Jsd//vQpv/+/fz//////////////v7/+uXM//jgxv/33sX/+uXR//PV
uv/53cL/8Myv//jVtf/717L//9a6/76Fbv97QiX/dDIP/4wzBf+aPAD/ci4A/1YjAP8+GQD/jisA/0ws
I8E4HhBfQikZH1UrKwYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpG
Bf//oxn//6AR//+dCv//mgL//pgA//2WAP/6lAD/+ZoV//rNoP/+/fz//////////////v7///v3//bf
x//02sH/89e///nhyv/wz7T/+Ni7//zbuv//1b7/yZaQ/7h/aP/ChWb/tnhY/8mSdv/AdkX/vW88/7RX
Ff+yUAr/kS0A/zQaDbE0HA9TOhcMFgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAKpGBv//piD//6IX//+fD///nAf//5kB//6YAP/8lQD/+pMA//eYFP/1yJ7//v37////
/////v7///v3///37//y2ML/8dS8//DRuv/43ML//N7C///Yw//NmpL/uoFq/8SJa//GjnL/06eR/9So
kv/SpI3/0KCJ/82chP/AdED/lTAA/zMaDa8zGg1QMxoNFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpGB///qCX//6Ud//+hFP//ngz//5sF//6ZAP/9lwD/+5QA//mS
AP/MbBT/78Kc//79+////v7///v3///37///8+f/79K9/+3Ntv/84sn//9rI/9GdlP/BjHf/ypV8/82c
hP/Wrpr/1q2Z/9Wqlf/TppD/0aKL/8+eh//Dd0H/mTQA/zMaDa8zGg1QMxoNFAAAAAIAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpHCP//qiv//6cj//+jGf//oBL//50K//+a
Av/+mAD//ZYA//qUAP/IYgD/2Jll/+zBoP/+/Pv///v3//307P/ft57//djQ//zm0v//0Mj/1KOV/8eW
gf/RpI3/1KmT/9q1ov/ZtKH/17Cc/9asl//UqJL/0qWO/9Chif/Ge0P/nDYA/zMaDa8zGg1QMxoNFAAA
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpHCP//rTH//6ko//+m
IP//ohf//58P//+cB///mQH//pgA//yVAP/NZgD/3KNy//Hg1f/ovZ3//fbw/+O4mf/8rkb/2aJ6//2z
r//YnI//zqGN/9mynv/btqT/3byr/9y5qP/ataP/2LKe/9eumv/VqpX/06aQ/9Gji//KfkT/nzkA/zMa
Da8zGg1QMxoNFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpH
Cf//rjX//6wu//+oJf//pR3//6EU//+eDP//mwX//pkA//2XAP/RagD/36Zz//To4v/w3dL/3qyK/+u2
fv/pqWf/1YpG/8uXgP/LmoT/0qWO/9Kkjf/TppD/06eQ/9Spk//YsZ7/2bSh/9ewnP/WrJj/1KiS/9Kl
jv/MgkX/ozsA/zMaDa8zGg1QMxoNFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAKpICv//sDr//60y//+qK///pyP//6MZ//+gEv//nQr//5oC//6YAP/VbwD/4qp0//Xq
5f/z5+H/8ePc/+/f1//jx7n/4MCw/8+ehv/GjXD/zZyD/8yagP/MmYD/yJJ3/8mTef/Llnz/2LGe/9iy
n//Xrpr/1auW/9Onkf/PhUb/pz4A/zMaDa8zGg1QMxoNFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpIC///s0D//683//+tMf//qSj//6Yg//+iF///nw///5wH//+Z
Af/ZcwD/5a52//bs5//06eP/8uXe//Dh2v/u3dX/rbe7/1qXq/8lksv/Jnqz/yZlnv9xlqn/cIam/6mZ
of/Chmf/16+b/9m0ov/YsZ3/1qyY/9Spk//SiUj/q0AA/zMaDa8zGg1QMxoNFAAAAAIAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpJDP//tUX//7I9//+uNf//rC7//6gl//+l
Hf//oRT//54M//+bBf/ddwD/57F3//fu6v/16uX/8+fh//Lk3P/v39f/dpa4/wZuuP8nlc7/Jnq0/wZQ
mv8AWpn/AF2Z/wBrpf82isD/27in/9q2pP/Zs5//166a/9Wrlv/VjEn/r0UA/zMaDa8zGg1QMxoNFAAA
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpJDf//t0r//7RC//+w
Ov//rTL//6or//+nI///oxn//6AS//+dCv/hfAH/6rR4//jx7f/27ej/9Onk//Pm3//x4tr/7t7W/+za
0f/r183/6dPH/+fPw//lyr3/3cO4/6+mr/+nn6v/3byr/9u4p//ataL/2LGd/9atmf/YkEr/skgA/zMa
Da8zGg1QMxoNFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpJ
Dv//ulH//7ZH//+zQP//rzf//60x//+pKP//piD//6MY//+fEP/mgAH/7bh5//nz7//37+v/9evm//To
4v/y5N3/8ODY/+3c1P/r2M7/6tXK/+jRxf/mzcH/5Mm8/+PGt//hwrL/3r6u/9y6qf/bt6X/2bOg/9ev
m//bk0z/tkoA/zMaDa8zGg1QMxoNFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAKpKD///vFb//7lO//+1Rf//sj3//641//+sL///qCb//6Ue//+iFf/qhAL/8Lt7//r1
8v/48e3/9u3p//Tp5P/z5t//8eLa/+7e1v/s2tH/69fN/+nTyP/nz8P/5cu+/+PHuf/ixLX/4MCx/928
rP/buKf/2rWi/9ixnf/elk3/uk0A/zMaDa8zGg1QMxoNFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpKEP//vlr//7tT//+3Sv//tEL//7E7//+uM///qyz//6cj//+k
Gv/uiQP/8798//v39f/58+//9/Ds//Xr5v/06OL/8uTd//Dg2P/u3dT/7NnP/+rVy//o0sb/5s3B/+TJ
vP/jxrj/4cKy/96+r//cuqn/27el/9m0of/hmk7/vlAA/zMaDa8zGg1QMxoNFAAAAAIAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpKEf//v2D//71Y//+6Uf//tkj//7NA//+w
OP//rTH//6ko//+mIf/yjQT/9sJ9//z59//69fL/+PLu//bt6f/16uT/8+bg//Hj2//u3tb/7dvS/+vX
zf/p1Mn/59DE/+XLv//kyLr/4sS2/+DAsf/dvKz/3Lmo/9q2o//knlD/wlEA/zMaDa8zGg1QMxoNFAAA
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpLEf//wWX//79e//+8
Vv//uU7//7VF//+yPf//rzb//6wv//+oJv/2kgX/+cV+//37+v/79/X/+fPw//fw7P/27Of/9Oji//Ll
3v/w4dn/7t3V/+zZz//q1sz/6NLG/+fOwv/kybz/48a4/+HDs//evq//3buq/9u3pf/noVH/xVYA/zQb
Da00Gg1PMxoNFAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpL
Ev//xGz//8Bj//++Wv//u1T//7dK//+0Q///sTv//64z//+rLP/6lgb/+pwV//qkKf/6pCn/+aMo//mj
J//5sU3/975y//e9cP/2u23/9blr//HDjP/uzKv/7Mmn/+vGo//pwp//5sSr/+LFtv/gwbH/3r2t/9y5
qP/qpVL/yVkA/zQbDqE0HA5JORwOEgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAKpLE///xnL//8Jo//+/Yf//vVj//7pR//29Xv/6yof/9Ni4//Df1f/u3tX/7NrR/+vX
zf/q1Mr/6NHF/+bNwf/pwp7/57+a/+a8l//kuZT/47eQ/+eucf/sp1L/66VR/+qkTv/pok3/6aBK//Sb
IP/2mhf/9pkX//aYFv/1mBX/zlsA/zceD3g5HA42OycUDQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpMFP//yHf//s2F//zbrP/56tb/9+/r//Xs5//06eP/8uXf//Hi
2//v39f/7dzT/+zZz//q1cv/6dPI/+fPw//mzMD/5Mm7/+LGt//gwrP/376v/968q//cuKf/2LKe/86d
hP/MmoH/t29L/7ZuSf+lTCD/okUX/7NINP+tMRH/oicE3jgcDjczHwoZKysABgAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJs4B/+pVCr/qVQp/6lTKP+pUyj/sWQ9/7Rq
Rf+4b0z/u3dV/8WLbv/EiWz/w4hq/8KGaP/ChWb/wYNk/8CCYv+/gGD/v35e/75+Xf+0akX/rFkw/6lU
Kv+jSBz/rDsb6nohAdN5IQLHciECpHMhAqFmIQRtaSIEZlIgCDY6IQgfOiMMFjckEg4rKwAGAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgSEAEIEh
ACGBIQArgSEANYEhAD2BIQBAgSEATIEhAFeBIQBhgSEAcYEhAHyBIQCAgSEAgIEhAICBIQCAgSEAbYEh
AF2BIQBQgSEATIEhAEaBIQA6gSEALYEhAB+BIQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//4AD///AAD//AAA//8AAP/4AAAP/wAA//AAAAD/
AAD/4AAAAD8AAP/AAAAAHwAA/4AAAAAPAAD/AAAAAA8AAP4AAAAABwAA/gAAAAAHAAD+AAAAAAMAAP4A
AAAAAwAA/gAAAAADAAD+AAAAAAMAAP4AAAAAAwAA/gAAAAADAAD+AAAAAAMAAP4AAAAAAwAA/gAAAAAD
AAD+AAAAAAMAAP4AAAAAAwAA/gAAAAADAAD+AAAAAAMAAP4AAAAAAwAA/gAAAAADAAD+AAAAAAMAAP4A
AAAABwAA/gAAAAAHAAD+AAAAAA8AAP4AAAAADwAA/gAAAAAPAAD+AAAAAA8AAP4AAAAADwAA/gAAAAAP
AAD+AAAAAA8AAP4AAAAADwAA/gAAAAAPAAD+AAAAAA8AAP4AAAAADwAA/gAAAAAPAAD+AAAAAA8AAP4A
AAAADwAA/gAAAAAPAAD+AAAAAA8AAP4AAAAADwAA/gAAAAAPAAD+AAAAAB8AAP+AAAB//wAAAAAAACgA
AAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAErKwAFPSQMEUAiCio/IglXPyEMZTkdC0c9Hwo8PyEIMT4iCyQ+IwkXQBoNEEkk
Egs5HAAHMzMABIAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABKysABTojDBI+IwkuViIGh08fB8g1GwzGNRsMwjseC7Q9IAuaPSAMdToe
C0o9Hwo8PyEIMT4iCyQ+IwkXQBoNEEkkEgs5HAAHMzMABIAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAASsrAAU6IwwSPSMJL1UhB4mXNAH7mTMA/5s4B/9vIAP7XR8G9Eod
Ceg1HA3SNhsNxTseC7Q9IAuaPSAMdToeC0o9Hwo8PyEIMT4iCyRAJAkWRCIRDCsrAAUAAAABAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMwAEPSQMET4jCS5VIQeJmDYB+81mAP+ZMwD/mTMA/5kz
AP+ZMwD/mTMA/4EhAP9vIAP7XR8G9EodCeg1HA3SNhsNxTseC7Q9IAuaPSAMdTodDEY6HwkuPR8KFFUr
AAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAA0MoDQ88IAksVSEGiJo3AfvTbQD/0WoA/5kz
AP+hRBX/4sS1/+PHuf/Nm4L/smU+/58/D/+ZMwD/mTMA/4EhAP9vIAP7XR8G9EodCeg1HA3SNRsMvDoe
C5M8HhEwORwODgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAIBANPSQKKFciB4CcOQH72XIA/9dw
AP/TbQD/nz8P/7dvS//jx7n/69fN/+jSx//ly73/4sW3/9mzoP/GjXH/rl42/549Df+ZMwD/gSEA/4Eh
AP9vIAP5NR0PwT0hFFBCLB0cSSQkBgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAD0kDCJSIgdrnzkB+t94
AP/ddgD/2XMA/9VvAP+fQBH/uXNQ/+XKvP/t2tH/6tXK/+fPw//kybv/4cO0/928rP/bt6b/2LGd/9Ci
iv+/f2D/q1gu/65dNf9KLR/fRSsfnUYsHy5OOycK/wAAAQAAAAAAAAAAAAAAAAAAAAAAAAAATCIIUIou
Au/lfwD/5H0A/+B5AP/cdQD/2HEA/59AEf+6dFH/5s3A/+7d1f/r2M7/6dPI/+XMvv/ixrf/38Cw/926
qf/ataP/16+a/9Spk//Ro4z/zp2F/8mdjv1EKx6xSCsgOUs8LQ6AAAACAAAAAAAAAAAAAAAAAAAAAAAA
AACPMAHj64QA/+qEAP/mgAD/43wA/954AP/bdAD/oEIT/7x4Vv/n0MT/8OHZ/+3b0v/q1cv/59DE/+LG
uP/cuaj/2rWi/9mzoP/Ysp7/1ayX/9OmkP/QoYr/xpyX/UQqHrZHLCI8QzYoD4AAAAIAAAAAAAAAAAAA
AAAAAAAAAAAAAMVfAP/wigD/7IUA/+iCAP/lfgD/4XsA/913AP+gQhP/vXta/+rUyf/x5Nz/797W/+zY
zv/o0cb/0KGK/86dhf/OnoX/z6CI/9Ciiv/WrJf/1KqU/9Gjjf/Hn5n9RCwet0YvIj1DNigPgAAAAgAA
AAAAAAAAAAAAAAAAAAAAAAAAx2EA//KMAP/uiAD/64UA/+eBAP/kfQD/4HkA/6FEFf+/f1//7NjO//Pm
4P/w4dr/7dzT/9ewnP+llof/urSv/9e4qv/bt6X/ypV7/8qVev/WrZj/06aQ/8iinf1ELB+3Ri8iPVE2
KA+AAAACAAAAAAAAAAAAAAAAAAAAAAAAAADIYgD/9Y4A//GLAP/thwD/6oQA/+aAAP/jfAD/oUQV/7+A
YP/s2tH/9evm//Hk3f/v39f/J4W1/xOFyf8TZqn/AF2Z/wZjm/9NeJn/y5h9/9iwnP/Vq5X/yKSe/UQs
ILdGLyI9UTYoD4AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAMljAP/4kQD/840A//CKAP/shQD/6YMA/+V+
AP+bPxH/ZUQz/+3a0f/27un/8+fi//Hi2v/Tys7/69fM/+jRxv/ex7z/sKWw/y2Ct//cuaj/2bSh/9at
mf/JpJ/9RSwht0YvIj1RNigPgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAy2UA//qTAP/2kAD/8owA/+6I
AP/rhQD/54EA/38qAP8dDwj/7t3U//jw7f/16+f/8uXe//Dg2P/s2dD/6dTJ/+fOwv/jyLr/4cKz/928
q//bt6X/2LCc/8qloP1FLCG3Ri8iPVE2KA+AAAACAAAAAAAAAAAAAAAAAAAAAAAAAADMZgD//JYA//mS
AP/1jgD/8YsA/+2HAP/qhAD/fyoA/x0PCP/v39f/+vXy//bu6v/06OP/8eLb/+7d1P/r183/6NLH/+XL
vv/ixrf/37+v/9y6qf/ataL/y6ii/UYuIbZLMCU8UTYoD4AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAMxm
AP/+mAD/+5UA//iRAP/zjQD/8IoA/+yFAP9/KgD/hVYw/+rVy//059r/+PHu//bs5//y5d//8ODY/+3a
0f/q1cr/58/D/+TJu//hw7T/3bys/9u3pv/MqqX8Ry0hsUsvJDlaPC0OgAAAAgAAAAAAAAAAAAAAAAAA
AAAAAAAAzGcE//+ZAP/9lwD/+pMA//aQAP/yjAD/74kA/8eDWv/2zaL/2auC/9uqgP/eqn7/uodg/92u
i//jvaH/5b2d/+bNwP/nyLP/5sy//+LGuP/fwLD/1rOi/82rpftGLSGeRiwjLk47Jwr/AAABAAAAAAAA
AAAAAAAAAAAAAAAAAADMaQn//5wH//+ZAP/8lgD/+ZIA//WPAP/2smL//fbw///69P/979z/+Ni0/+vN
t//uy6n/3a6L/9aphf//z5z/77R8/1o2JP90Tz3/bldL/4tsXf/AloD/wZmH/TwhFVZFKRweSSQkBgAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAMxrDf//nxH//5oD//6YAP/7lQD/+qAm//3m0P////////////76
9f/659P/782v//DQtf/xz7L//Nm5/+Cvpv+ka1H/mVs7/65TGP+vTgv/lT0A/4IoAP8zGw7CNR0PRjUg
FRMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzG0R//+jGf//ng3//5kA//2XAP/6lAD/96M1//rn
1/////////z5//7z6f/23sn/6MWr//navv/js6r/u4Js/8WKbf/QoIj/0qWP/9CgiP/MmH7/lS8A/zMa
Db8yGQ1BMxoNEAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMbhX//6Yi//+hFf//nAj//pgA//yW
AP/5kgD/0H46//fk1v///Pn//fPp//fWyP/8483/5rms/8SRe//Pnob/1qyX/9eumv/UqZP/0aOM/86d
hf+cNQD/MxoNvzMaDUAzGg0QAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMxwGf//qSr//6Ud//+g
Ef//mgT//pgA//uVAP/LdCX/7tTC//Pdzf/ru5H/2pZa/+innf/OoY3/2LGd/9u2pP/bt6X/2bKe/9Ws
l//TppD/0KCJ/6A5AP8zGg2/MxoNQDMaDRAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzHIe//+s
Mf//qCX//6Ma//+eDf//mQH//ZcA/9F6Jv/06OP/69LC/+jHrP/Zp4P/y5mB/8yZgP/OnIT/zpyE/9Gi
i//Wrpn/16+a/9SplP/Ro43/pj0A/zMaDb8zGg1AMxoNEAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AADMcyL//7A6//+rLf//piL//6IW//+cCP/+mQD/2IEn//Xs5//y5t//8ODY/62uuv9FnL//J3y2/zJt
oP9wjKb/oYmL/9Spk//Zsp//1q2Y/9Onkf+sQQD/MxoNvzMaDUAzGg0QAAAAAgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAMx1Jv//tEP//641//+qKv//pR7//6AS//+aBP/eiCf/9+/r//Tp5P/x49z/s7PG/7ez
w//CuMD/gIiv/3GFqf8zd7D/yq+o/9q2o//YsJz/1aqU/7FGAP8zGg2/MxoNQDMaDRAAAAACAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAzHcr//+3S///sj///60y//+oJv//oxr//54N/+SOKP/58u//9uzo//Pm
4f/w4dn/7dvS/+rVy//nz8T/5Mq8/+LEtf/evq7/3Lmn/9mzoP/WrZn/t0kA/zMaDb8zGg1AMxoNEAAA
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMeS///7pU//+1SP//sDr//6su//+mIv//ohb/65Up//r1
8//37+z/9erl//Hk3f/v3tb/7NjP/+nTyP/mzcH/48e5/+DBsv/du6v/2rak/9ixnf+9TwD/MxoNvzMa
DUAzGg0QAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMx6Mv//vl3//7lP//+0Q///rjb//6oq//+l
Hv/znSn//Pn3//nz8P/27ej/8+fh//Dh2f/t29P/69bM/+fQxf/lyr3/4sS2/9+/r//cuaf/2rSh/8NS
AP80Gw67NRoNPjYbDQ8AAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzHw3///BY///vFn//7dL//+y
QP//rTL//6gm//ibFf/7x3z/+sR5//jBdf/3vnL/89Ks//HSs//uza3/7Mmn/+nGp//jx7n/4cKz/928
q//bt6X/yVcA/zYcDKk5Gws2PB4PDgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMfTv//8Rt//7B
ZP/9xnb/+tCV//Tdw//v4Nj/7dvS/+vWzP/o0cb/5s3A/+PIuv/gso3/4raQ/+Kxif/grYL/3qp//+mh
S//mm0b/2IYx/9aBK//aXAX/RCQNcT4iCyRGFwAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALJh
NP/Lj2r/yZR5/8iSdv/Hj3P/xYtu/8WJbP/DiGr/woVn/8GDZP/AgGH/u3dX/7lyUv+2aUn/sVo7/6RI
I++nTib0q1Mu9KdJKOKnTS7bizcWupJAHrNtOBs1RysODkBAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAgSEAHIEhACSBIQAqgSEAMoEhADuOMhFWhScFXIEhAHCBIQCAgSEAgIEhAICBIQCAiy4Mco8z
EW6GKAZOgSEANYEhABypVDEdqVQxCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAP/4A
AAf8AAAD+AAAAfgAAAH4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgA
AAD4AAAA+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAA/gA
AP8AAAAAKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAUYu
FwVHKw4OQiYJIUorCYY+IQubQiMKhkMjCV06HgsmOx8KHj4jCRdBIQ0QPSQMCUkkAAMAAAAAAAAAAE0z
AARHKw4OQScMIok2A9BzIAPsYR4G3k0dCc00Gw22NRsMrjwfCqFCIwl+RCYLTUEkEBpHKRQKAAAAAAAA
AABGLAkMQiYNIZY9A9a/WQD/nTwL/82Ed/+6UjP/rS8G/3EgA/BbHgbcRxwKxzYcDq1IKhaCRigZFQAA
AAAAAAAASCsKFptBAtHTbQD/y2QA/7BhOf/s2tD/59DD/+HCs//bt6b/y5d9/7NDKv+CKhLiRy4hnkYs
HhwAAAAAAAAAAJo5AZveeAD/4nsA/89pAP+1a0b/8OHZ/+rWy//kybz/27im/9iwnf/SpI7/ypyN+0kv
I6JHLB8eAAAAAAAAAAC+UADH74gA/+eAAP/UbgD/t25K//To4//t29L/rqab/7abk//Nm4L/06iS/82i
lPtJMCWjRi8iHgAAAAAAAAAAwVUAx/SNAP/shQD/2HEA/3lJMP/37ur/8OHZ/5ygu/+zrLf/WXKe/9mz
oP/Pp5v7SjEmokovIh4AAAAAAAAAAMFVAcf5kgD/8YsA/9x2AP82Fwj/+vTx//Tq5P/t3NP/6NLG/+LE
tf/cuKf/0q6j+0oxJaJILR8eAAAAAAAAAADLVwHH/ZcA//aQAP/iewD/0aB8/+K2jP/drHn/5r+a//HK
n//PtKb/2bmq/9W0q/tJLRyYSCsZHQAAAAAAAAAA7FoBx/+ZAv/8lQD/+rtr///////238b/8dO7//TP
r/+7hmX/gj8a/3A2Ef+SQS7nRygMi0UqExsAAAAAAAAAAO5eCMf/nxH//pkA//GMBP/wzbD/+/Lq//XZ
xv/YrJT/z6CI/9OnkP/Kj23/aiUG30gpC4pGJwwaAAAAAAAAAADrZxrH/6cj//+cCv/1jwD/7NG7/+zA
lP/UlXD/z6CI/9Kljv/Xr5v/z5h0/28qBt9KLAqKSysMGgAAAAAAAAAA6W0qx/+vN///oxr/+JMD//La
w//x5N3/icva/3Ocr/9Je6n/2rSi/9Wge/90LgbeTi4KiUwsDBoAAAAAAAAAAOdwNcf/tkj//6os//ub
EP/34cn/9evl/+/e1v/p08j/48e5/9y6qf/bqIP/ejIG3VAxC4ZNLw0YAAAAAAAAAADlekfH/7xY//+y
QP/9ox3//Nyu//nixf/02Ln/782s/+rEoP/lupT/5Kxy/7BNDNxYORltTzMTFgAAAAAAAAAA129Fv+2v
k//jsqP/3Kig/+rV2//lx87/2a6z/9mlodbRi4rKz4uIoNuAYZXgkW5l////CgAAAADAAAAAwAAAAMAA
AADAAAAAwAAAAMAAAePAAAD/wAAA/8AAAP/AAAD/wAAA/8AAAP/AABP/wABW/8AAxP/AAdn/AAAAAA==
</value>
</data>
</root>
+532
View File
@@ -0,0 +1,532 @@
Imports System.Globalization
Imports System.IO
Imports System.Text
Public Class MainFrm
Public Tylko_Listing As Boolean
Public f_out As StreamWriter ' Plik wyjściowy
Public SourceConnected As Boolean = False
Private Structure DokKolumny
Public cLp As Integer
Public cDokument As Integer
Public cDokZr As Integer
Public cDZKOpis As Integer
Public cDataWyst As Integer
Public cDataOper As Integer
Public cSumaCT As Integer
Public cSumaDT As Integer
Public cDZKDziennik As Integer
Public cDekret As Integer
Public cRokMiesiac As Integer
Public cDataImp As Integer
Public cMagazyn As Integer
Public cKontrahent As Integer
Public cOpisDok As Integer
Public cDokKor As Integer
End Structure
Private SpFlag, ZakFlag, WewFlag As Integer
Private RM, Rok, Mies As Integer
Private SrcConn_str, DstConn_str As String
Private KD As DokKolumny
'----------------------------------------------------------
Private Const INT_lens As Integer = 1
Private ReadOnly p As Int32() = {2, 4, 7, 9, 3, INT_lens}
Public Function Encrypt(ByVal inputstr As String) As String
Dim str As StringBuilder
Dim b As Int32 = 6
Dim i, j, k, c, cc, bb, lens As Int32
If inputstr > "" Then
str = New StringBuilder(inputstr)
lens = str.Length
While (lens < b) OrElse (lens Mod b)
str.Append(” “)
lens += INT_lens
End While
cc = (lens / b) - INT_lens
For i = 0 To cc
bb = b - INT_lens
For j = 0 To bb
k = p(j) + 50
c = (b * i + j)
str.Replace(str.Chars(c), Chr(Asc(str.Chars(c)) + k), c, INT_lens)
Next
Next
Return str.ToString
Else
Return ""
End If
str = Nothing
End Function
Public Function Decrypt(ByVal inputstr As String) As String
Dim str As StringBuilder
Dim b As Int32 = 6
Dim i, j, k, c, c1, cc, bb, lens As Int32
If inputstr > "" Then
str = New StringBuilder(inputstr)
lens = str.Length
While (lens < b) OrElse (lens Mod b)
str.Append(” “)
lens += INT_lens
End While
cc = (lens / b) - INT_lens
For i = 0 To cc
bb = b - INT_lens
For j = 0 To bb
k = p(j) + 50
c = (b * i + j)
c1 = Asc(str.Chars(c))
c1 -= k
str.Replace(str.Chars(c), Chr(c1), c, INT_lens)
Next j
Next i
Return str.ToString
Else
Return ""
End If
str = Nothing
End Function
Private Function zrob_polaczenie(srv As String, baza As String, user As String, pass As String)
Dim cnstr As String
cnstr = "Data Source=" & srv & ";Initial Catalog=" & baza
cnstr += ";Persist Security Info=false;User ID=" & Decrypt(user).Trim & ";Password=" & Decrypt(pass).Trim & ";TrustServerCertificate=True;Connection Timeout=30"
Return (cnstr)
End Function
Private Function PolaczBaze() As Boolean
Dim B1, conn, pp, K1 As String
Dim ret As Boolean = False
lbUwaga.Text = "Czekaj: Logowanie do ERPXL"
lbUwaga.Visible = True
lbUwaga.BringToFront()
lbUwaga.Refresh()
If Strings.Left(UCase(My.Settings.BazaDst), 6) = "CDNXL_" Or Strings.Left(UCase(My.Settings.BazaDst), 6) = "ERPXL_" Then
B1 = Mid(My.Settings.BazaDst, 7)
Else
B1 = My.Settings.BazaDst
End If
K1 = My.Settings.SerwerKlucza
If Not Zalogowany Then listuj(" Logowanie do ERP XL - proszę czekać...")
ret = Zaloguj(B1, "", "", K1)
If ret Then
listuj(" sprawdzanie dostępności licencji...")
ret = XLSprawdzLicencje()
If ret Then
listuj(" Zalogowano pomyslnie do ERP XL")
conn = FunkcjeXL.Polaczenie() 'string połączenia wyznaczony przez API
pp = InStr(conn.ToUpper, "SERVER=")
If pp > 0 Then
conn = Mid(conn, pp)
End If
DstConn_str = conn
ret = True
Else
listuj("!! Nie udało się pobrać licencji stanowiskowej ERP XL.")
Wyloguj()
ret = False
End If
Else
listuj("!! Nie udało się zalogować. Proszę uruchomić aplikację ERP XL !!")
End If
If Not ret Then
TcZakladki.SelectedTab = TpList
TpList.Select()
End If
lbUwaga.Text = "Czekaj: pobieranie danych"
lbUwaga.Visible = False
lbUwaga.Invalidate()
Return ret
End Function
'----------------------------------------------------------
Public Sub UstawKolumny()
With KD
.cLp = DgvDokumenty.Columns.Item("colLp").Index
.cDokument = DgvDokumenty.Columns.Item("colDokument").Index
.cDokZr = DgvDokumenty.Columns.Item("colDokZr").Index
.cDZKOpis = DgvDokumenty.Columns.Item("colDZKOpis").Index
.cDataWyst = DgvDokumenty.Columns.Item("colDataWyst").Index
.cDataOper = DgvDokumenty.Columns.Item("colDataOper").Index
.cSumaCT = DgvDokumenty.Columns.Item("colSumaCT").Index
.cSumaDT = DgvDokumenty.Columns.Item("colSumaDT").Index
.cDZKDziennik = DgvDokumenty.Columns.Item("colDZKDziennik").Index
.cDekret = DgvDokumenty.Columns.Item("colDekret").Index
.cRokMiesiac = DgvDokumenty.Columns.Item("colRokMiesiac").Index
.cDataImp = DgvDokumenty.Columns.Item("colDataImportu").Index
.cMagazyn = DgvDokumenty.Columns.Item("colMagazyn").Index
.cKontrahent = DgvDokumenty.Columns.Item("colKontrahent").Index
.cOpisDok = DgvDokumenty.Columns.Item("colOpisDok").Index
.cDokKor = DgvDokumenty.Columns.Item("colDokKoryg").Index
End With
End Sub
Private Sub CbWewn_CheckedChanged(sender As Object, e As EventArgs) Handles CbWewn.CheckedChanged
If CbWewn.Checked Then
WewFlag = 1
Else
WewFlag = 0
End If
OdswiezDane()
End Sub
Private Sub BtOdswiez_Click(sender As Object, e As EventArgs) Handles BtOdswiez.Click
If SourceConnected Then OdswiezDane()
End Sub
Private Sub CbZakup_CheckedChanged(sender As Object, e As EventArgs) Handles CbZakup.CheckedChanged
If CbZakup.Checked Then
ZakFlag = 1
Else
ZakFlag = 0
End If
OdswiezDane()
End Sub
Private Sub edRok_ValueChanged(sender As Object, e As EventArgs) Handles edRok.ValueChanged
If SourceConnected And IsNumeric(edRok.Value) Then
Rok = edRok.Value
Tamy_ImpDM_Konta.Fill(Me.DsMain.Tbmy_ImpDM_Konta, Rok, Mies)
BsTbmyImpDMKonta.ResetBindings(False)
OdswiezDane()
End If
End Sub
Private Sub CbMiesiac_TextChanged(sender As Object, e As EventArgs) Handles CbMiesiac.TextChanged
If SourceConnected Then
Mies = CbMiesiac.Items.IndexOf(CbMiesiac.Text) + 1
Tamy_ImpDM_Konta.Fill(Me.DsMain.Tbmy_ImpDM_Konta, Rok, Mies)
BsTbmyImpDMKonta.ResetBindings(False)
OdswiezDane()
End If
End Sub
Private Sub DgvDokumenty_KeyPress(sender As Object, e As KeyPressEventArgs) 'Handles DgvDokumenty.KeyPress
Dim wiersz As DataGridViewRow
Dim check As Boolean
Dim colWybrany, colData, kk As Integer
Select Case e.KeyChar
Case " "
kk = 0
colWybrany = DgvDokumenty.Columns.Item("Wybrany").Index
colData = DgvDokumenty.Columns.Item("colDataImportu").Index
For Each wiersz In DgvDokumenty.SelectedRows
If wiersz.Cells(colData).Value <= "1990-01-01 00:00:00" Then
check = wiersz.Cells(colWybrany).Value
wiersz.Cells(colWybrany).Value = Not check
If (kk Mod 10) = 0 Then Application.DoEvents()
End If
kk += 1
Next
End Select
End Sub
Private Sub CbSprzedaz_CheckedChanged(sender As Object, e As EventArgs) Handles CbSprzedaz.CheckedChanged
If CbSprzedaz.Checked Then
SpFlag = 1
Else
SpFlag = 0
End If
OdswiezDane()
End Sub
Private Sub DgvDokumenty_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DgvDokumenty.RowPostPaint
If Not DgvDokumenty.Rows(e.RowIndex).Cells("colDataImportu").Value Is DBNull.Value Then
If CStr(DgvDokumenty.Rows(e.RowIndex).Cells("colDataImportu").Value) > "1990-01-01" Then DgvDokumenty.Rows(e.RowIndex).DefaultCellStyle.ForeColor = Color.Red
End If
End Sub
Private Sub BtImport_Click(sender As Object, e As EventArgs) Handles BtImport.Click
Dim DoImportu As New List(Of DataGridViewRow) 'kopia zaznaczonych do importu dokumentów
Dim Aktwiersz As DataGridViewRow
Dim AktualnyDokument As String = ""
Dim ret, Nr_ZapisuSrc As Integer
Dim sql, ss, tresc, nrdok, s1, s2 As String
If Not SourceConnected Then Return
If DgvDokumenty.Rows.Count > 0 Then
If System.Windows.Forms.MessageBox.Show("Czy zaimportować zaznaczone dokumenty ?", "", MessageBoxButtons.YesNo) = DialogResult.No Then
Return
End If
DoImportu.Clear()
UstawKolumny() 'powiązanie nazw kolumn z ich indeksem
For Each wiersz In DgvDokumenty.SelectedRows 'zrób kopię zaznaczonych na niebiesko dokumentów
Dim targetRow = CType(wiersz.Clone(), DataGridViewRow)
For Each cell As DataGridViewCell In wiersz.Cells
targetRow.Cells(cell.ColumnIndex).Value = cell.Value
Next
DoImportu.Add(targetRow)
Next
If DoImportu.Count > 0 Then
'zaloguj do XL
listuj("Start importu: " + Now)
ret = PolaczBaze()
If ret Then
DgvDokumenty.CurrentCell = DgvDokumenty(0, 0)
Aktwiersz = DgvDokumenty.CurrentRow
For Each wiersz In DoImportu
Aktwiersz = wiersz
DgvDokumenty.CurrentCell = DgvDokumenty(0, wiersz.Cells.Item(0).Value - 1) 'pokaż aktualnie przetwarzany wiersz
If (wiersz.Cells.Item(KD.cDataImp).Value <= "1990-01-01 00:00:00") And (AktualnyDokument <> wiersz.Cells.Item(KD.cDokument).Value) Then 'dekret nie zaimportowany
AktualnyDokument = wiersz.Cells.Item(KD.cDokument).Value 'Nowa nota memoriałowa - numer dokumentu w Jastrzębiu
Nr_ZapisuSrc = wiersz.Cells.Item(KD.cDekret).Value 'Dekret (DZK_GIDNumer) źródłowy
tresc = " "
s1 = AktualnyDokument.Substring(0, 2)
If s1 = "PZ" Or s1 = "WZ" Or s1 = "KK" Or s1 = "PK" Or s1 = "WK" Then
ss = IIf(IsNothing(wiersz.Cells.Item(KD.cKontrahent).Value), " ", wiersz.Cells.Item(KD.cKontrahent).Value)
If ss > " " Then tresc = ss
End If
ss = IIf(IsNothing(wiersz.Cells.Item(KD.cOpisDok).Value), " ", wiersz.Cells.Item(KD.cOpisDok).Value)
If ss > " " Then
If tresc > " " Then tresc += "; " + ss Else tresc = ss
End If
If tresc < " " Then tresc = "brak opisu"
nrdok = ""
s1 = AktualnyDokument.Substring(0, 3)
If s1 = "PZK" Or s1 = "PKI" Or s1 = "WZK" Or s1 = "WKE" Or s1 = "RWK" Or s1 = "PWK" Then
nrdok = AktualnyDokument + ", " + IIf(IsNothing(wiersz.Cells.Item(KD.cDokKor).Value), "", wiersz.Cells.Item(KD.cDokKor).Value)
Else
nrdok = AktualnyDokument
End If
System.Threading.Thread.Sleep(200) 'chwilkę poczekaj na SQL
Try
If UtworzNote(nrdok, wiersz.Cells.Item(KD.cDataWyst).Value, '"Data Wystawienia"
wiersz.Cells.Item(KD.cDataWyst).Value, 'wszystkie daty takie same
wiersz.Cells.Item(KD.cDokZr).Value, '"Dokument źródłowy"
tresc) Then '"treśc noty"
ss = IIf(IsNothing(wiersz.Cells.Item(KD.cDZKOpis).Value), " ", wiersz.Cells.Item(KD.cDZKOpis).Value)
s1 = AktualnyDokument.Substring(0, 2)
If s1 = "WZ" Or s1 = "WK" Or s1 = "RW" Or s1 = "PW" Then ss = tresc 'dla WZ/WZE/WZK/WKE, RW/RWK/PW/PWK opis pozycji taki sam jak treść noty
If DodajPozycjeNoty(Nr_ZapisuSrc, wiersz.Cells.Item(KD.cDataWyst).Value,
wiersz.Cells.Item(KD.cDataWyst).Value,
ss, nrdok) Then 'dodajpozycje noty
ZamknijNote(True) 'zamknij notę
System.Threading.Thread.Sleep(200) 'chwilkę poczekaj na SQL
'oznacz dokument jako zaimportowany
sql = "update CDN.Dekrety Set DT_DataCentrali = datediff(s,'19900101', GetDate()) where DT_GIDNUmer = " & Str(Nr_ZapisuSrc)
SqlCmd(sql, SrcConn_str)
System.Threading.Thread.Sleep(200) 'chwilkę poczekaj na SQL
'AktualnyDokument = ""
sql = "update CDN.MemNag set MEN_CechaOpis = '" + IIf(IsNothing(wiersz.Cells.Item(KD.cMagazyn).Value), "", wiersz.Cells.Item(KD.cMagazyn).Value) + "' "
sql += " where MEN_GIDNumer = " + CStr(GIDNumer)
SqlCmd(sql, DstConn_str)
System.Threading.Thread.Sleep(200) 'chwilkę poczekaj na SQL
Else
ZamknijNote(False) 'usuń utworzoną notę
AktualnyDokument = ""
End If
End If
Catch ex As System.Exception
ret = False
System.Windows.Forms.MessageBox.Show("ImportClick: " & ex.Message)
End Try
Else
listuj(CStr(Now) & "-> Dokument: " & wiersz.Cells.Item(2).Value & " już jest zaimportowany !!")
End If
Next
End If
Tylko_Listing = False
OdswiezDane()
End If
TcZakladki.SelectedTab = TpList
TpList.Select()
End If
End Sub
Private Sub BtKonfig_Click(sender As Object, e As EventArgs) Handles BtKonfig.Click
dlgKonfig.ShowDialog()
End Sub
Private Sub Timer_Tick(sender As Object, e As EventArgs) Handles Timer.Tick
Dim plik As String
Timer.Stop()
My.Settings.Reload()
Try
plik = My.Settings.FolderR_Roboczy + "\ImportDM-" + Replace(Replace(Replace(Now, ":", "."), "/", "."), " ", "_") + ".LOG"
f_out = System.IO.File.CreateText(plik)
Tylko_Listing = False
Catch
Tylko_Listing = True
End Try
Timer.Enabled = False
Application.DoEvents()
If My.Settings.SerwerSrc > "" Then
SrcConn_str = zrob_polaczenie(My.Settings.SerwerSrc, My.Settings.BazaSrc, My.Settings.MCsrc, My.Settings.Comsrc)
Tamy_ImpDM_Src.Connection.ConnectionString = SrcConn_str
Tamy_ImpDM_Dekr.Connection.ConnectionString = SrcConn_str
Tamy_ImpDM_Konta.Connection.ConnectionString = SrcConn_str
SourceConnected = True
Tamy_ImpDM_Konta.Fill(Me.DsMain.Tbmy_ImpDM_Konta, Rok, Mies)
BsTbmyImpDMKonta.ResetBindings(False)
OdswiezDane()
End If
If My.Settings.SerwerKlucza > "" And My.Settings.BazaDst > "" Then PolaczBaze()
'If Zalogowany Then OdswiezDane()
End Sub
Private Sub BtUsunFlage_Click(sender As Object, e As EventArgs) Handles BtUsunFlage.Click
If DgvDokumenty.Rows.Count > 0 Then
If System.Windows.Forms.MessageBox.Show("Czy usunąć flagę z zaznaczonych dokumentów ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes Then
Dim sql As String
Dim col As Integer
col = DgvDokumenty.Columns("colDekret").Index
For Each wiersz In DgvDokumenty.SelectedRows
sql = "update CDN.Dekrety set DT_DataCentrali = 0 where DT_GIDNUmer = " & Str(wiersz.Cells(col).Value)
SqlCmd(sql, SrcConn_str)
Next
OdswiezDane()
End If
End If
End Sub
Private Sub BtKoniec_Click(sender As Object, e As EventArgs) Handles BtKoniec.Click
Wyloguj()
If Not IsNothing(f_out) Then
f_out.Flush()
f_out.Close()
End If
Close()
End Sub
Private Sub OdswiezDane()
Dim Konto As String
Dim ImpFl, pos As Integer
If Not SourceConnected Then Return
Konto = CbKonto.Text
ImpFl = 2
If RbBlack.Checked Then ImpFl = 0 Else If RbRed.Checked Then ImpFl = 1
RM = CInt(CStr(Rok) & IIf(Mies < 10, "0", "") & CStr(Mies))
If RM < 2001 Or Mies <= 0 Then Return
Try
lbUwaga.Visible = True
Application.DoEvents()
lbUwaga.BringToFront()
Application.DoEvents()
lbUwaga.Refresh()
Application.DoEvents()
pos = BsTbmy_ImpDM_Src.Position
Tamy_ImpDM_Src.Fill(Me.DsMain.Tbmy_ImpDM_Src, SpFlag, ZakFlag, WewFlag, RM, Rok, Mies, Konto, ImpFl)
If pos < BsTbmy_ImpDM_Src.Count Then BsTbmy_ImpDM_Src.Position = pos Else BsTbmy_ImpDM_Src.Position = BsTbmy_ImpDM_Src.Count - 1
lbUwaga.Visible = False
lbUwaga.Invalidate()
Catch ex As System.Exception
lbUwaga.Visible = False
Application.DoEvents()
lbUwaga.Refresh()
Application.DoEvents()
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub MainFrm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim spr As String
SpFlag = 0
ZakFlag = 0
WewFlag = 0
Rok = Year(Now)
Mies = Month(Now)
edRok.Value = Rok
CbMiesiac.SelectedIndex = Mies - 1
CbMiesiac.Text = CbMiesiac.Items(CbMiesiac.SelectedIndex)
RbAll.Checked = True
CbKonto.Text = ""
spr = Encrypt(Environment.MachineName.ToUpper + Environment.UserName.ToUpper)
DecimalSep = NumberFormatInfo.CurrentInfo.NumberDecimalSeparator.ToString
DecimalGroupSep = NumberFormatInfo.CurrentInfo.NumberGroupSeparator.ToString
If spr <> My.Settings.check Then
MsgBox("Niezgodna konfiguracja. Ustaw od nowa")
My.Settings.SerwerSrc = ""
' My.Settings.SerwerDst = ""
My.Settings.SerwerKlucza = ""
My.Settings.BazaSrc = ""
' My.Settings.BazaDst = ""
My.Settings.FolderR_Roboczy = ""
My.Settings.MCsrc = ""
' My.Settings.MCdst = ""
My.Settings.Comsrc = ""
' My.Settings.Comdst = ""
My.Settings.check = spr
My.Settings.Save()
End If
Timer.Start()
End Sub
Public Sub listuj(ByVal linia As String)
If linia > "" Then
LstWynik.Items.Add(linia)
If Not Tylko_Listing Then
f_out.WriteLine(linia)
End If
If (LstWynik.Items.Count - 1) > 0 Then
LstWynik.TopIndex = Me.LstWynik.Items.Count - 1
Else
LstWynik.TopIndex = 0
End If
Application.DoEvents()
End If
End Sub
Public Function SqlCmd(ByVal sql As String, conn_str As String) As Boolean
Dim wynik As Boolean
wynik = False
Try
Using connection As New SqlClient.SqlConnection(conn_str)
Dim command As New SqlClient.SqlCommand(sql, connection)
connection.Open()
command.ExecuteNonQuery()
wynik = True
End Using
Catch ex As Exception
My.Forms.MainFrm.listuj(ex.Message)
End Try
Return (wynik)
End Function
Public Function GetOneVal(ByVal sql As String, conn_str As String) As String
Dim val As String
val = ""
Try
Using connection As New SqlClient.SqlConnection(conn_str)
Dim command As New SqlClient.SqlCommand(sql, connection)
connection.Open()
Dim reader As SqlClient.SqlDataReader = command.ExecuteReader()
While reader.Read()
If reader.IsDBNull(0) Then
val = ""
Else
val = CType(reader, IDataRecord)(0)
End If
End While
reader.Close()
End Using
Catch ex As Exception
My.Forms.MainFrm.listuj(ex.Message)
End Try
GetOneVal = val
End Function
End Class
+44
View File
@@ -0,0 +1,44 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Ten kod został wygenerowany przez narzędzie.
' Wersja wykonawcza:4.0.30319.42000
'
' Zmiany w tym pliku mogą spowodować nieprawidłowe zachowanie i zostaną utracone, jeśli
' kod zostanie ponownie wygenerowany.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'UWAGA: Ten plik został wygenerowany automatycznie; nie należy go bezpośrednio modyfikować. Aby wprowadzić zmiany
' lub jeśli napotkasz w tym pliku błędy kompilacji, przejdź do Projektanta projektu
' (przejdź do obszaru Właściwości projektu lub kliknij dwukrotnie węzeł Mój Projekt w
' Eksploratorze rozwiązań) i wprowadź zmiany na karcie Aplikacja.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.ImportDokMag.MainFrm
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)) As Boolean
Me.MinimumSplashScreenDisplayTime = 0
Return MyBase.OnInitialize(commandLineArgs)
End Function
End Class
End Namespace
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>MainFrm</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>
+35
View File
@@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' Ogólne informacje o zestawie są kontrolowane poprzez następujący
' zestaw atrybutów. Zmień wartości tych atrybutów, aby zmodyfikować informacje
' powiązane z zestawem.
' Sprawdź wartości atrybutów zestawu
<Assembly: AssemblyTitle("ImportDokMag")>
<Assembly: AssemblyDescription("Import księgowań WZ, PZ, PW, RW, MMW")>
<Assembly: AssemblyCompany("myCONSULT Sp. z o. o.")>
<Assembly: AssemblyProduct("ImportDokMag")>
<Assembly: AssemblyCopyright("Copyright © 2019 - 2025 Krzysztof Czapliński")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'Następujący identyfikator GUID jest identyfikatorem biblioteki typów w przypadku udostępnienia tego projektu w modelu COM
<Assembly: Guid("64ceae1f-cb15-4f1b-8e35-2cb92f6fda95")>
' Informacje o wersji zestawu zawierają następujące cztery wartości:
'
' Wersja główna
' Wersja pomocnicza
' Numer kompilacji
' Rewizja
'
' Możesz określić wszystkie wartości lub użyć domyślnych numerów kompilacji i poprawki
' przy użyciu symbolu „*”, tak jak pokazano poniżej:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.0.0.0")>
<Assembly: AssemblyFileVersion("2.0.0.0")>
+63
View File
@@ -0,0 +1,63 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Ten kod został wygenerowany przez narzędzie.
' Wersja wykonawcza:4.0.30319.42000
'
' Zmiany w tym pliku mogą spowodować nieprawidłowe zachowanie i zostaną utracone, jeśli
' kod zostanie ponownie wygenerowany.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'Ta klasa została automatycznie wygenerowana za pomocą klasy StronglyTypedResourceBuilder
'przez narzędzie, takie jak ResGen lub Visual Studio.
'Aby dodać lub usunąć składową, edytuj plik ResX, a następnie ponownie uruchom narzędzie ResGen
'z opcją /str lub ponownie utwórz projekt VS.
'''<summary>
''' Klasa zasobu wymagająca zdefiniowania typu do wyszukiwania zlokalizowanych ciągów itd.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
'''Zwraca buforowane wystąpienie ResourceManager używane przez tę klasę.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ImportDokMag.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Przesłania właściwość CurrentUICulture bieżącego wątku dla wszystkich
''' przypadków przeszukiwania zasobów za pomocą tej klasy zasobów wymagającej zdefiniowania typu.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
End Module
End Namespace
+117
View File
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+192
View File
@@ -0,0 +1,192 @@
'------------------------------------------------------------------------------
' <auto-generated>
' Ten kod został wygenerowany przez narzędzie.
' Wersja wykonawcza:4.0.30319.42000
'
' Zmiany w tym pliku mogą spowodować nieprawidłowe zachowanie i zostaną utracone, jeśli
' kod zostanie ponownie wygenerowany.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "18.10.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "Funkcje automatycznego zapisywania My.Settings"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("c:\temp")> _
Public Property FolderR_Roboczy() As String
Get
Return CType(Me("FolderR_Roboczy"),String)
End Get
Set
Me("FolderR_Roboczy") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("crispcl\erp")> _
Public Property SerwerKlucza() As String
Get
Return CType(Me("SerwerKlucza"),String)
End Get
Set
Me("SerwerKlucza") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("MAGJ")> _
Public Property Seria() As String
Get
Return CType(Me("Seria"),String)
End Get
Set
Me("Seria") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("crispcl\erp")> _
Public Property SerwerSrc() As String
Get
Return CType(Me("SerwerSrc"),String)
End Get
Set
Me("SerwerSrc") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property MCsrc() As String
Get
Return CType(Me("MCsrc"),String)
End Get
Set
Me("MCsrc") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property Comsrc() As String
Get
Return CType(Me("Comsrc"),String)
End Get
Set
Me("Comsrc") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("ERPXL_Test")> _
Public Property BazaSrc() As String
Get
Return CType(Me("BazaSrc"),String)
End Get
Set
Me("BazaSrc") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("")> _
Public Property check() As String
Get
Return CType(Me("check"),String)
End Get
Set
Me("check") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("CDNXL_GOTEC_80_20210809")> _
Public Property BazaDst() As String
Get
Return CType(Me("BazaDst"),String)
End Get
Set
Me("BazaDst") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString), _
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=crispcl\erp;Initial Catalog=ERPXL_test;Integrated Security=True;Trust"& _
"ServerCertificate=True")> _
Public ReadOnly Property CS_Src() As String
Get
Return CType(Me("CS_Src"),String)
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.ImportDokMag.My.MySettings
Get
Return Global.ImportDokMag.My.MySettings.Default
End Get
End Property
End Module
End Namespace
+41
View File
@@ -0,0 +1,41 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
<Profiles />
<Settings>
<Setting Name="FolderR_Roboczy" Type="System.String" Scope="User">
<Value Profile="(Default)">c:\temp</Value>
</Setting>
<Setting Name="SerwerKlucza" Type="System.String" Scope="User">
<Value Profile="(Default)">crispcl\erp</Value>
</Setting>
<Setting Name="Seria" Type="System.String" Scope="User">
<Value Profile="(Default)">MAGJ</Value>
</Setting>
<Setting Name="SerwerSrc" Type="System.String" Scope="User">
<Value Profile="(Default)">crispcl\erp</Value>
</Setting>
<Setting Name="MCsrc" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="Comsrc" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="BazaSrc" Type="System.String" Scope="User">
<Value Profile="(Default)">ERPXL_Test</Value>
</Setting>
<Setting Name="check" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="BazaDst" Type="System.String" Scope="User">
<Value Profile="(Default)">CDNXL_GOTEC_80_20210809</Value>
</Setting>
<Setting Name="CS_Src" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;SerializableConnectionString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
&lt;ConnectionString&gt;Data Source=crispcl\erp;Initial Catalog=ERPXL_test;Integrated Security=True;TrustServerCertificate=True&lt;/ConnectionString&gt;
&lt;ProviderName&gt;Microsoft.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=crispcl\erp;Initial Catalog=ERPXL_test;Integrated Security=True;TrustServerCertificate=True</Value>
</Setting>
</Settings>
</SettingsFile>
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

+416
View File
@@ -0,0 +1,416 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class dlgKonfig
Inherits System.Windows.Forms.Form
'Formularz przesłania metodę dispose, aby wyczyścić listę składników.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wymagane przez Projektanta formularzy systemu Windows
Private components As System.ComponentModel.IContainer
'UWAGA: następująca procedura jest wymagana przez Projektanta formularzy systemu Windows
'Możesz to modyfikować, używając Projektanta formularzy systemu Windows.
'Nie należy modyfikować za pomocą edytora kodu.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.OK_Button = New System.Windows.Forms.Button()
Me.Cancel_Button = New System.Windows.Forms.Button()
Me.TableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel()
Me.TableLayoutPanel4 = New System.Windows.Forms.TableLayoutPanel()
Me.Label6 = New System.Windows.Forms.Label()
Me.Label13 = New System.Windows.Forms.Label()
Me.EdSeria = New System.Windows.Forms.TextBox()
Me.Label7 = New System.Windows.Forms.Label()
Me.edBazaDst = New System.Windows.Forms.TextBox()
Me.TableLayoutPanel3 = New System.Windows.Forms.TableLayoutPanel()
Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label()
Me.Label5 = New System.Windows.Forms.Label()
Me.edSerwerSrc = New System.Windows.Forms.TextBox()
Me.edBazaSrc = New System.Windows.Forms.TextBox()
Me.edUserSrc = New System.Windows.Forms.TextBox()
Me.edPassSrc = New System.Windows.Forms.TextBox()
Me.TableLayoutPanel5 = New System.Windows.Forms.TableLayoutPanel()
Me.Label11 = New System.Windows.Forms.Label()
Me.Label12 = New System.Windows.Forms.Label()
Me.edHASPServer = New System.Windows.Forms.TextBox()
Me.edWorkingDir = New System.Windows.Forms.TextBox()
Me.TableLayoutPanel1.SuspendLayout()
Me.TableLayoutPanel2.SuspendLayout()
Me.TableLayoutPanel4.SuspendLayout()
Me.TableLayoutPanel3.SuspendLayout()
Me.TableLayoutPanel5.SuspendLayout()
Me.SuspendLayout()
'
'TableLayoutPanel1
'
Me.TableLayoutPanel1.ColumnCount = 2
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel1.Location = New System.Drawing.Point(288, 305)
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
Me.TableLayoutPanel1.RowCount = 1
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel1.Size = New System.Drawing.Size(144, 32)
Me.TableLayoutPanel1.TabIndex = 0
'
'OK_Button
'
Me.OK_Button.Anchor = System.Windows.Forms.AnchorStyles.None
Me.OK_Button.Location = New System.Drawing.Point(3, 4)
Me.OK_Button.Name = "OK_Button"
Me.OK_Button.Size = New System.Drawing.Size(66, 23)
Me.OK_Button.TabIndex = 0
Me.OK_Button.Text = "OK"
'
'Cancel_Button
'
Me.Cancel_Button.Anchor = System.Windows.Forms.AnchorStyles.None
Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Cancel_Button.Location = New System.Drawing.Point(75, 4)
Me.Cancel_Button.Name = "Cancel_Button"
Me.Cancel_Button.Size = New System.Drawing.Size(66, 23)
Me.Cancel_Button.TabIndex = 1
Me.Cancel_Button.Text = "Anuluj"
'
'TableLayoutPanel2
'
Me.TableLayoutPanel2.ColumnCount = 3
Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 135.0!))
Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel2.Controls.Add(Me.TableLayoutPanel4, 0, 1)
Me.TableLayoutPanel2.Controls.Add(Me.TableLayoutPanel1, 2, 3)
Me.TableLayoutPanel2.Controls.Add(Me.TableLayoutPanel3, 0, 0)
Me.TableLayoutPanel2.Controls.Add(Me.TableLayoutPanel5, 0, 2)
Me.TableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel2.Location = New System.Drawing.Point(0, 0)
Me.TableLayoutPanel2.Name = "TableLayoutPanel2"
Me.TableLayoutPanel2.RowCount = 4
Me.TableLayoutPanel2.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
Me.TableLayoutPanel2.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 93.0!))
Me.TableLayoutPanel2.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 59.0!))
Me.TableLayoutPanel2.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38.0!))
Me.TableLayoutPanel2.Size = New System.Drawing.Size(435, 340)
Me.TableLayoutPanel2.TabIndex = 1
'
'TableLayoutPanel4
'
Me.TableLayoutPanel4.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Inset
Me.TableLayoutPanel4.ColumnCount = 4
Me.TableLayoutPanel2.SetColumnSpan(Me.TableLayoutPanel4, 3)
Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 35.0!))
Me.TableLayoutPanel4.Controls.Add(Me.Label6, 0, 0)
Me.TableLayoutPanel4.Controls.Add(Me.Label13, 1, 2)
Me.TableLayoutPanel4.Controls.Add(Me.EdSeria, 2, 2)
Me.TableLayoutPanel4.Controls.Add(Me.Label7, 1, 1)
Me.TableLayoutPanel4.Controls.Add(Me.edBazaDst, 2, 1)
Me.TableLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel4.Location = New System.Drawing.Point(3, 153)
Me.TableLayoutPanel4.Name = "TableLayoutPanel4"
Me.TableLayoutPanel4.RowCount = 3
Me.TableLayoutPanel4.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333!))
Me.TableLayoutPanel4.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333!))
Me.TableLayoutPanel4.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333!))
Me.TableLayoutPanel4.Size = New System.Drawing.Size(429, 87)
Me.TableLayoutPanel4.TabIndex = 2
'
'Label6
'
Me.Label6.AutoSize = True
Me.TableLayoutPanel4.SetColumnSpan(Me.Label6, 4)
Me.Label6.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label6.Location = New System.Drawing.Point(5, 2)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(419, 26)
Me.Label6.TabIndex = 0
Me.Label6.Text = "Baza docelowa"
Me.Label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label13
'
Me.Label13.AutoSize = True
Me.Label13.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label13.Location = New System.Drawing.Point(27, 58)
Me.Label13.Name = "Label13"
Me.Label13.Size = New System.Drawing.Size(176, 27)
Me.Label13.TabIndex = 9
Me.Label13.Text = "Seria noty"
Me.Label13.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'EdSeria
'
Me.EdSeria.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.EdSeria.Location = New System.Drawing.Point(211, 61)
Me.EdSeria.Name = "EdSeria"
Me.EdSeria.Size = New System.Drawing.Size(176, 20)
Me.EdSeria.TabIndex = 10
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label7.Location = New System.Drawing.Point(27, 30)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(176, 26)
Me.Label7.TabIndex = 11
Me.Label7.Text = "Nazwa bazy"
Me.Label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'edBazaDst
'
Me.edBazaDst.Dock = System.Windows.Forms.DockStyle.Fill
Me.edBazaDst.Location = New System.Drawing.Point(211, 33)
Me.edBazaDst.Name = "edBazaDst"
Me.edBazaDst.Size = New System.Drawing.Size(176, 20)
Me.edBazaDst.TabIndex = 12
'
'TableLayoutPanel3
'
Me.TableLayoutPanel3.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Inset
Me.TableLayoutPanel3.ColumnCount = 4
Me.TableLayoutPanel2.SetColumnSpan(Me.TableLayoutPanel3, 3)
Me.TableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
Me.TableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 35.0!))
Me.TableLayoutPanel3.Controls.Add(Me.Label1, 0, 0)
Me.TableLayoutPanel3.Controls.Add(Me.Label2, 1, 1)
Me.TableLayoutPanel3.Controls.Add(Me.Label3, 1, 2)
Me.TableLayoutPanel3.Controls.Add(Me.Label4, 1, 3)
Me.TableLayoutPanel3.Controls.Add(Me.Label5, 1, 4)
Me.TableLayoutPanel3.Controls.Add(Me.edSerwerSrc, 2, 1)
Me.TableLayoutPanel3.Controls.Add(Me.edBazaSrc, 2, 2)
Me.TableLayoutPanel3.Controls.Add(Me.edUserSrc, 2, 3)
Me.TableLayoutPanel3.Controls.Add(Me.edPassSrc, 2, 4)
Me.TableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel3.Location = New System.Drawing.Point(3, 3)
Me.TableLayoutPanel3.Name = "TableLayoutPanel3"
Me.TableLayoutPanel3.RowCount = 5
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20.0!))
Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20.0!))
Me.TableLayoutPanel3.Size = New System.Drawing.Size(429, 144)
Me.TableLayoutPanel3.TabIndex = 1
'
'Label1
'
Me.Label1.AutoSize = True
Me.TableLayoutPanel3.SetColumnSpan(Me.Label1, 4)
Me.Label1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label1.Location = New System.Drawing.Point(5, 2)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(419, 26)
Me.Label1.TabIndex = 0
Me.Label1.Text = "Połączenie do bazy źródłowej"
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label2
'
Me.Label2.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label2.Location = New System.Drawing.Point(27, 30)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(176, 26)
Me.Label2.TabIndex = 1
Me.Label2.Text = "Serwer SQL"
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label3.Location = New System.Drawing.Point(27, 58)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(176, 26)
Me.Label3.TabIndex = 2
Me.Label3.Text = "baza danych"
Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label4
'
Me.Label4.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label4.Location = New System.Drawing.Point(27, 86)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(176, 26)
Me.Label4.TabIndex = 3
Me.Label4.Text = "użytkownik"
Me.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'Label5
'
Me.Label5.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label5.Location = New System.Drawing.Point(27, 114)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(176, 28)
Me.Label5.TabIndex = 4
Me.Label5.Text = "hasło"
Me.Label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
'
'edSerwerSrc
'
Me.edSerwerSrc.Dock = System.Windows.Forms.DockStyle.Fill
Me.edSerwerSrc.Location = New System.Drawing.Point(211, 33)
Me.edSerwerSrc.Name = "edSerwerSrc"
Me.edSerwerSrc.Size = New System.Drawing.Size(176, 20)
Me.edSerwerSrc.TabIndex = 5
'
'edBazaSrc
'
Me.edBazaSrc.Dock = System.Windows.Forms.DockStyle.Fill
Me.edBazaSrc.Location = New System.Drawing.Point(211, 61)
Me.edBazaSrc.Name = "edBazaSrc"
Me.edBazaSrc.Size = New System.Drawing.Size(176, 20)
Me.edBazaSrc.TabIndex = 6
'
'edUserSrc
'
Me.edUserSrc.Dock = System.Windows.Forms.DockStyle.Fill
Me.edUserSrc.Location = New System.Drawing.Point(211, 89)
Me.edUserSrc.Name = "edUserSrc"
Me.edUserSrc.Size = New System.Drawing.Size(176, 20)
Me.edUserSrc.TabIndex = 7
Me.edUserSrc.UseSystemPasswordChar = True
'
'edPassSrc
'
Me.edPassSrc.Dock = System.Windows.Forms.DockStyle.Fill
Me.edPassSrc.Location = New System.Drawing.Point(211, 117)
Me.edPassSrc.Name = "edPassSrc"
Me.edPassSrc.Size = New System.Drawing.Size(176, 20)
Me.edPassSrc.TabIndex = 8
Me.edPassSrc.UseSystemPasswordChar = True
'
'TableLayoutPanel5
'
Me.TableLayoutPanel5.ColumnCount = 2
Me.TableLayoutPanel2.SetColumnSpan(Me.TableLayoutPanel5, 2)
Me.TableLayoutPanel5.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 32.61649!))
Me.TableLayoutPanel5.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67.38351!))
Me.TableLayoutPanel5.Controls.Add(Me.Label11, 0, 0)
Me.TableLayoutPanel5.Controls.Add(Me.Label12, 0, 1)
Me.TableLayoutPanel5.Controls.Add(Me.edHASPServer, 1, 0)
Me.TableLayoutPanel5.Controls.Add(Me.edWorkingDir, 1, 1)
Me.TableLayoutPanel5.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel5.Location = New System.Drawing.Point(3, 246)
Me.TableLayoutPanel5.Name = "TableLayoutPanel5"
Me.TableLayoutPanel5.RowCount = 2
Me.TableLayoutPanel5.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel5.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel5.Size = New System.Drawing.Size(279, 53)
Me.TableLayoutPanel5.TabIndex = 3
'
'Label11
'
Me.Label11.AutoSize = True
Me.Label11.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label11.Location = New System.Drawing.Point(3, 0)
Me.Label11.Name = "Label11"
Me.Label11.Size = New System.Drawing.Size(85, 26)
Me.Label11.TabIndex = 0
Me.Label11.Text = "Serwer klucza"
Me.Label11.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'Label12
'
Me.Label12.AutoSize = True
Me.Label12.Dock = System.Windows.Forms.DockStyle.Fill
Me.Label12.Location = New System.Drawing.Point(3, 26)
Me.Label12.Name = "Label12"
Me.Label12.Size = New System.Drawing.Size(85, 27)
Me.Label12.TabIndex = 1
Me.Label12.Text = "Katalog roboczy"
Me.Label12.TextAlign = System.Drawing.ContentAlignment.MiddleRight
'
'edHASPServer
'
Me.edHASPServer.Dock = System.Windows.Forms.DockStyle.Fill
Me.edHASPServer.Location = New System.Drawing.Point(94, 3)
Me.edHASPServer.Name = "edHASPServer"
Me.edHASPServer.Size = New System.Drawing.Size(182, 20)
Me.edHASPServer.TabIndex = 2
Me.edHASPServer.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
'
'edWorkingDir
'
Me.edWorkingDir.Dock = System.Windows.Forms.DockStyle.Fill
Me.edWorkingDir.Location = New System.Drawing.Point(94, 29)
Me.edWorkingDir.Name = "edWorkingDir"
Me.edWorkingDir.Size = New System.Drawing.Size(182, 20)
Me.edWorkingDir.TabIndex = 3
Me.edWorkingDir.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
'
'dlgKonfig
'
Me.AcceptButton = Me.OK_Button
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.CancelButton = Me.Cancel_Button
Me.ClientSize = New System.Drawing.Size(435, 340)
Me.Controls.Add(Me.TableLayoutPanel2)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "dlgKonfig"
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "Konfiguracja programu"
Me.TableLayoutPanel1.ResumeLayout(False)
Me.TableLayoutPanel2.ResumeLayout(False)
Me.TableLayoutPanel4.ResumeLayout(False)
Me.TableLayoutPanel4.PerformLayout()
Me.TableLayoutPanel3.ResumeLayout(False)
Me.TableLayoutPanel3.PerformLayout()
Me.TableLayoutPanel5.ResumeLayout(False)
Me.TableLayoutPanel5.PerformLayout()
Me.ResumeLayout(False)
End Sub
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
Friend WithEvents OK_Button As System.Windows.Forms.Button
Friend WithEvents Cancel_Button As System.Windows.Forms.Button
Friend WithEvents TableLayoutPanel2 As TableLayoutPanel
Friend WithEvents TableLayoutPanel3 As TableLayoutPanel
Friend WithEvents Label1 As Label
Friend WithEvents Label2 As Label
Friend WithEvents Label3 As Label
Friend WithEvents Label4 As Label
Friend WithEvents Label5 As Label
Friend WithEvents edSerwerSrc As TextBox
Friend WithEvents edBazaSrc As TextBox
Friend WithEvents edUserSrc As TextBox
Friend WithEvents edPassSrc As TextBox
Friend WithEvents TableLayoutPanel4 As TableLayoutPanel
Friend WithEvents Label6 As Label
Friend WithEvents TableLayoutPanel5 As TableLayoutPanel
Friend WithEvents Label11 As Label
Friend WithEvents Label12 As Label
Friend WithEvents edHASPServer As TextBox
Friend WithEvents edWorkingDir As TextBox
Friend WithEvents Label13 As Label
Friend WithEvents EdSeria As TextBox
Friend WithEvents Label7 As Label
Friend WithEvents edBazaDst As TextBox
End Class
+120
View File
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+44
View File
@@ -0,0 +1,44 @@
Imports System.Windows.Forms
Public Class dlgKonfig
Public Check As String
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.OK
My.Settings.SerwerSrc = edSerwerSrc.Text
' My.Settings.SerwerDst = edServerDst.Text
My.Settings.SerwerKlucza = edHASPServer.Text
My.Settings.BazaSrc = edBazaSrc.Text
My.Settings.BazaDst = edBazaDst.Text
My.Settings.Seria = EdSeria.Text
My.Settings.FolderR_Roboczy = edWorkingDir.Text
My.Settings.MCsrc = MainFrm.Encrypt(edUserSrc.Text)
' My.Settings.MCdst = MainFrm.Encrypt(edUserDst.Text)
My.Settings.Comsrc = MainFrm.Encrypt(edPassSrc.Text)
' My.Settings.Comdst = MainFrm.Encrypt(edPassDst.Text)
My.Settings.check = MainFrm.Encrypt(Environment.MachineName.ToUpper + Environment.UserName.ToUpper)
My.Settings.Save()
MsgBox("Zakończ program i uruchom ponownie.")
Me.Close()
End Sub
Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub
Private Sub dlgKonfig_Load(sender As Object, e As EventArgs) Handles MyBase.Load
edSerwerSrc.Text = My.Settings.SerwerSrc
' edServerDst.Text = My.Settings.SerwerDst
edHASPServer.Text = My.Settings.SerwerKlucza
edBazaSrc.Text = My.Settings.BazaSrc
edBazaDst.Text = My.Settings.BazaDst
EdSeria.Text = My.Settings.Seria
edWorkingDir.Text = My.Settings.FolderR_Roboczy
edUserSrc.Text = MainFrm.Decrypt(My.Settings.MCsrc)
' edUserDst.Text = MainFrm.Decrypt(My.Settings.MCdst)
edPassSrc.Text = MainFrm.Decrypt(My.Settings.Comsrc)
' edPassDst.Text = MainFrm.Decrypt(My.Settings.Comdst)
End Sub
End Class
File diff suppressed because it is too large. Load diff
+17
View File
@@ -0,0 +1,17 @@
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'my_ImpDM_Konta' AND user_name(uid) = 'CDN')
DROP PROCEDURE [CDN].my_ImpDM_Konta
GO
CREATE PROCEDURE [CDN].my_ImpDM_Konta
(
@Rok smallint,
@Miesiac smallint
)
AS
SET NOCOUNT ON;
select distinct DT_Konto as Konto
from CDN.Dziennik inner join CDN.DziennikElem on DZK_GIDNumer = DEL_GIDNumer
inner join CDN.Dekrety on DT_GIDNumer = DEL_GIDNumer
where DZK_Rok = @Rok and DZK_Miesiac = @Miesiac
order by 1
GO
+1
View File
@@ -0,0 +1 @@
# ImportDokMag