====== Byznys VR ======
Systém od firmy JKR.
===== Aktualizace - upgrade =====
Na adrese www.jkr.cz. Je nutné se zalogovat a pak je možné stáhnout aktualizační soubor.
===== Instalace server =====
**Na serveru:**\\
- nainstalovat SQL server
- nainstavat
===== Založení nové účetní jednotky - firmy =====
Spusťte program ''byznys50.exe'' s parametrem ''UVOD''
C:\BYZNYSVR\Exe\byznys50.exe uvod
V menu ''BYZNYS - Úvodní nastavení - Definice multiverze'' nejprve založte novou databázi, dále pak založte novou firmu. Zkopírujte z funkční firmy nastavení DSN pro připojení dat, změňte jméno databáze a uložte.
DSN může vypadat následovně:\\
DRIVER=SQL Server;SERVER=SERVERNAME\SQLEXPRESS;DATABASE=BVR_DEMO;UID=sa;PWD=heslo
Pro novou firmu je potřeba založit nulová data.\\
Tento postup se opět provádí v programu ''byznys50.exe'' s parametrem ''UVOD''\\
V menu ''BYZNYS - Úvodní nastavení - Založení nulových dat''\\
Po kliknutí na položku ''Založení nulových dat'' se objeví okno kde se systém ptá: **Mám provést celkovou inicializaci včetně smazání dat?** Tato informace vypadá strašidelně, ale potvrďte jí tlačítkem **Ano**.\\
Následně budete dotázáni pro jakou firmu se má Založení nulových dat provést. **Vyberte správnou firmu a potvrďte.**\\
Tato operace trvá poměrně dlouho.\\
Po přidání nové firmy do systému Byznys VR **nezapomeňte přidat firmu do pravidelných záloh.**\\
===== Zálohování =====
Na původním serveru byly zálohy řešeny bat dávkou ve které se volal osql klient.
Toto řešení mělo nevýhodu, že se musely dopředu definovat zálohované databáze.
Na novém serveru je použitý T SQL script, který na základě dotazu zálohuje vybrané databáze.
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set datetime=%%I
set datetime=%datetime:~0,8%-%datetime:~8,6%
::echo %datetime%
for /f %%a in ('wmic path win32_localtime get dayofweek /format:list ^| findstr "="') do (set %%a)
::echo %DayOfWeek%
:: Del Old Files
forfiles /p C:\Data\Zalohy\BW_server\nocni_zaloha /m bw_*.7z /d -3 /c "cmd /c del @FILE"
:: Backup All BW_* databases
sqlcmd -S srv01\sqlexpress -i C:\Data\Scripts\SQLBackup.sql
:: Compress all files to one
C:\Data\utils\7z.exe a C:\Data\Zalohy\BW_server\nocni_zaloha\BW_%datetime%.7z C:\Data\Zalohy\BW_server\nocni_zaloha\*.bak
:: Delete *.bak files
del \data\Zalohy\BW_server\nocni_zaloha\*.bak
:: Copy to remote backup store
::copy C:\Data\Zalohy\BW_server\nocni_zaloha\BW_20160920-225236.7z \\192.168.0.254\data\db\db_backup_%DayOfWeek%.7z /Y
copy C:\Data\Zalohy\BW_server\nocni_zaloha\BW_%datetime%.7z \\192.168.0.254\data\db\db_backup_%DayOfWeek%.7z /Y
:: Taxedit backup to remote store
C:\Data\Utils\Process.exe -k FastCopy.exe
C:\Data\Utils\FastCopy\fastcopy.exe /force_close /error_stop=FALSE /log /logfile="c:\data\logs\sync_taxedit.log" C:\Data\taxedit /to="\\192.168.0.254\data\taxedit"
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name
--Provide the path where all the databases needs to be backed up
SET @path = 'C:\TMP\SQLBCK\'
--used to suffix the current date at the end of backup filename
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR FOR
--Use this for all database except the system databases and any exclusion you can make
SELECT name
FROM master.dbo.sysdatabases
WHERE name LIKE 'BW_%'
--WHERE name NOT IN ('master','model','msdb','tempdb','ReportServer','ReportServerTempDB')
--Uncomment and use this for only specific databases.
--Those database names you can provide under IN clause
--SELECT name
--FROM master.dbo.sysdatabases
--WHERE name IN ('MyDB1','MyDB2')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName WITH STATS = 1
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
===== Problém se spuštěním BW a posíláním PDF přes Outlook =====
Řešil jsem s p. Kačírkem za Solitea
Na NB u Trojanové se vyskytlo několik problémů týkajících se BW.
* Při práci z domova a připojení do VPN nešlo spustit BW, ale přístup na sdílené disky fungoval, včetně přístupu do složky BW na serveru. Pokud se v rámci správy přihlašovacích údajů zrušila položka ***Session**, tak přístup byl funkční. Problém byl v tom, že se BW spouštěl s oprávněním administratora(ve vlastnostech odkazu to nebylo vidět). Stačil vytvořit nový odkaz.
{{:private:poznamky:pasted:20221107-185927.png}}
* Další problém byl při odesílání PDF z BW přes email(Outlook). Pokud nebyl Outluk spuštěný, tak odeslání proběhlo v pořádku, ale pokud byl Outlook spuštěný, tak BW "zamrzl" a PDF soubor se neodeslal. Problém byl opět , že se Outlook spouštěl s právy administrátora(MS Office musí být nainstalovaný jako 32bit verze).
===== Migrace =====
==== Postup migrace 2023 z Win SBS 2010 na Win Srv 2022 - Flexible ====
Na SBS serveru byla instalována DB **MS SQL 2008 R2 - SQLEXPRESS**. Na novém je verze MS SQL 2022(16.0.1000.6) - SQLEXPRESS
Verze Windows Srv OS a MS SQL\\
{{:private:poznamky:pasted:20230817-072525.png}}
==== Problém s přihlášením uživatele ====
Po migraci se nebylo možné přihlásit do některých DB pod uživatelem **ivana**
Ve vlastnostech uživatele byla informace. že uživatel nemá login.\\
{{:private:poznamky:pasted:20230817-072605.png}}
{{:private:poznamky:pasted:20230817-072625.png}}
{{:private:poznamky:pasted:20230817-072706.png}}
Při pokusu smazat uživatele se objevila následující chyba\\
{{:private:poznamky:pasted:20230817-072758.png}}
Problém byl v tom, že uživatel **ivana** byl vlastníkem některých rolí. Po změně vlastníka na **dbo** bylo možné uživatele smazat a v rámci BW - konkrétní firmy(databáze) nastavit znovu oprávnění pro uživatele. Pak již fungovalo přihlášení konkrítního uživatele.
https://www.mssqltips.com/sqlservertip/2620/steps-to-drop-an-orphan-sql-server-user-when-it-owns-a-schema-or-role/
use BVR_SAP
select DBPrincipal_2.name as role, DBPrincipal_1.name as owner
from sys.database_principals as DBPrincipal_1 inner join sys.database_principals as DBPrincipal_2
on DBPrincipal_1.principal_id = DBPrincipal_2.owning_principal_id
where DBPrincipal_1.name = 'ivana'
-- Query to get the user associated schema
select * from information_schema.schemata
where schema_owner = 'ivana'
Výpis vlastnictví rolí pro účet **ivana**
{{:private:poznamky:pasted:20230817-073250.png}}
{{:private:poznamky:pasted:20230817-073356.png}}
{{:private:poznamky:pasted:20230817-073418.png}}
{{:private:poznamky:pasted:20230817-074852.png}}
==== Zákaz uživatelských účtů v rámci konkrétní firmy ====
Povolené účty by měly odpovídat zakoupené licenci
{{:private:poznamky:pasted:20230817-074945.png}}
===== Chyba - Nebyla nalezena složka s indexem =====
Chyba se objevila u Rešlové na lokálním NB, na serveru vše fungovalo.
{{:private:poznamky:pasted:20231004-142149.png}}
Stačilo smazat soubor ''verze.b50'' ve složce **Hlavni**.
===== Tisk QR kódu na fakturách =====
V BW je potřeba povolit "nové tiskové sestavy".\\
Dále je nutné nastavit k číslům účtů IBAN a SWIFT kód
https://www.cnb.cz/cs/platebni-styk/iban/kalkulator-iban-ceska-republika/
{{:private:poznamky:pasted:20231016-092719.png}}
{{:private:poznamky:pasted:20231016-093019.png}}
{{:private:poznamky:pasted:20231016-093035.png}}
**Nastavení -> Systémové nastavení a údaje o firmě -> Nastavení chování -> Tiskové sestavy**\\
Zde vybrat možnost "Staré i nové"
{{:private:poznamky:pasted:20231016-092432.png}}
{{:private:poznamky:pasted:20231016-092041.png}}
{{:private:poznamky:pasted:20231016-091749.png}}