středa 12. prosince 2018

Povolení vytvářet službu bez nutnosti spouštět Visual Studio jako Admin

Při chybě:
HTTP could not register URL http://+:8080/adr/Server/service.svc/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details).'
je možné v příkazovém řádku spustit

netsh http add urlacl url=http://+:{port}/{url} user={domain}\{user}
např:
netsh http add urlacl url=http://+:8080/adr/Server/service.svc/ user=work\karel.novak

pondělí 10. prosince 2018

Jak se chová funkce NULLIF

SQL:
declare @asdasd  nvarchar(50) -- NULL
select NULLIF(@asdasd, 'asdasd')
select NULLIF( 'asdasd', @asdasd)
select NULLIF( 'asdasd', 'asdasd')
Výsledek:
NULL
asdasd
NULL 

úterý 9. října 2018

Změna pozadí plochy Windows 10

Kde se ukládají obrázky nastavené na plochu a přihlašovací stránku?

Obrázky nastavené jako pozadí pracovní plochy se ukládaji do složky
c:\users\{userName}\appdata\local\packages\microsoft.windows.photos_8wekyb3d8bbwe\localstate\photosappbackground\{fileName.ext}
 Obrázky nastavené na přihlašovací obrazovku jsou ve vedlejší složce PhotosAppLockscreen

Historii obrázků, které byly nastaveny naposledy najdete v registrech windowsů na adrese
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Wallpapers 

Jak zabránit změně obrázku na pozadí plochy

  1. gpedit.msc
  2. User Configuration > Administrative Templates > Control Panel > Personalization
  3. Prevent changing desktop background = Enable

Jak zabránit změně obrázku na přihlašovací stránce

  1. gpedit.msc
  2. Computer Configuration > Administrative Templates > Control Panel > Personalization
  3. Prevent changing lock screen and logon image = Enable


Zdroj:
https://www.tenforums.com/tutorials/90172-enable-disable-changing-lock-screen-background-windows-10-a.html
https://www.windowscentral.com/how-restrict-users-changing-desktop-background-windows-10


pátek 24. srpna 2018

Problém s referencemi knihoven

FileLoadException: Could not load file or assembly 'protobuf-net, Version=2.3.4.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Do App.configu nebo Web.configu (podle toho jaký je spouštěný projekt typu) je potřeba přidat redirect referencované knihovny. Definuje se interval, ve kterém se budou knihovny těchto verzí přesměrovávat na novou verzi. Problém s tímto zápisem je v tom že pokud hledáte kde se referencuje verze 2.3.4.0 tak ji v životě fulltextem nenajdete, protože v nikde uvedená není.  

    <dependentAssembly>
        <assemblyIdentity name="protobuf-net" publicKeyToken="257b51d87d2e4d67" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.3.7.0" newVersion="2.3.7.0" />
      </dependentAssembly>

Tento problém vznikde tak že hlavní projek referencuje jiný projekt do kterého jste přidali nejspíš nějaký NuGet balíček který si toto přesměrování nastavil bez vašeho vědomí. 

neděle 19. srpna 2018

Chyba při XSLT transformaci vstupních dat pro import do pohody

Pokud Vám pohoda tvrdí, že je element prázdný tak má pravdu, i když to tak na první pohled nemusí vypadat.
Pokud při Importu dat používáte transformační šablonu a transformujete vstupní data, zkontrolujte si vstupní soubor jestli náhodou Pohodě nedáváte již jednou transformovaná dat. Protože transformace v takovém případě se už nejspíš nemá na co chytit (root vstupního souboru dat) a transformace vrátí prázdný dataPack.

Obálku dokumentu se nepodarilo overit podle schématu.
Reason: Element '{http://www.stormware.cz/schema/version_2/data.xsd}dataPack' cannot be empty according to the DTD/Schema.
Line: 2, Pos.: 645,
SrcText: <dat:dataPack id="Update" ico="49761540" application="POHODA-ZASOBY-UPDATE" version="2.0" note="Aktualizace skladových zásob" xmlns:dat="http://www.stormware.cz/schema/version_2/data.xsd" xmlns:stk="http://www.stormware.cz/schema/version_2/stock.xsd" xmlns:typ="http://www.stormware.cz/schema/version_2/type.xsd" xmlns:ftr="http://www.stormware.cz/schema/version_2/filter.xsd" ></dat:dataPack>,
Error code: -1072898031 

středa 27. června 2018

Import obrázků do ERP Pohoda pomocí XSLT a XML


Pro použití obrázku ve skladových zásobách je potřeba nastavit firemní složku.
To je možné nastavit v [Nastavení] / [Globální nastavení] / [dokumenty] 
zaškertnutím pole  Používat složku dokumentl firmy [x]
a vyplněním názvu adresáře
Složka dokumentů firmy [frmaDta_______]

Obrázky pak budou uloženy v podadresáři Obrázky (složku obrázky si vytváří Pohoda sama)
např: C:\ProgramData\STORMWARE\POHODA01\Dokumenty\frmaDta\Obrázky
Cesta k obrázku je v DB uložena v tabulce SkRefObraz
Z obrázku se ukládají pouze jejich názvy (neukládá se kompletní cesta)


Zdroj:
http://morg.nl/2012/02/get-file-extention-in-xslt/


sobota 23. června 2018

Raiffaisen Bank XML

Pokud nemáte podnikatelský účet, tak máte možnost exportovat bankovní výpisi u Raiffaisen Bank pouze do PDF nebo XML. XML soubor, ale nelze načíst do ekonomického systému jako je např. Money S3 nebo Stormware Pohoda.
Raiffaisen bank tímto nutí majitele účtů aby platili za možnost integrace s ERP systémy cca 150,-Kč / mes za podnikatelský účet. 
Řešením je transformace XML souboru do formátu ABO, který umí načíst asi každý účetní systém. Bohužel ke XML formátu Raifka neposkytuje dokumentaci. Tak nezbývá nic jiného než si na význam jednotlivých informací ve výpise přijít sám. Aby jste nemuseli absoluovat stejný výzkum jako já, tak tady uvádím výsledek mého zkoumání.

Struktura souboru

<?xml version='1.0' encoding='ISO-8859-1'?>
<OFX>
<STMTRS>
<BANKACCTFROM>
<BANKID>5500</BANKID>
<ACCTID>000000 1578954234</ACCTID>
</BANKACCTFROM>
<BANKTRANLIST>
<DTSTART>31.03.2015</DTSTART>
<DTEND>30.04.2015</DTEND>
<BALOPEN>15.65</BALOPEN>
<BALCLOSE>112.8</BALCLOSE>
...
<STMTTRN>
<TRNTYPE>CREDIT</TRNTYPE>
<DTPOSTED>20140330</DTPOSTED>
<DTAVAIL>20140330</DTAVAIL>
<TRNAMT>49980</TRNAMT>
<TRNSPSYM>0000000000</TRNSPSYM>
<TRNVASYM>0143459756</TRNVASYM>
<TRNCOSYM>0000000308</TRNCOSYM>
<NAME>P&#345;&#237;choz&#237; platba</NAME>
<BANKACCTO>
<BANKID>0100</BANKID>
<ACCTID>9446534895</ACCTID>
<ACCTKEY>000000</ACCTKEY>
</BANKACCTO>
<MEMO/>
<CURRENCY>CZK</CURRENCY>
</STMTTRN>
...
</BANKTRANLIST>
</STMTRS>
</OFX>

Popis hlavičky souboru

BANKID = kód banky
ACCTID = číslo účtu včetně předčíslí oddělené mezerou

Popis Bonkovního výpisu

DTSTART = Datum začátku výpisu ve forátu 28.01.2013
DTEND  = Datum začátku výpisu ve forátu 31.02.2013
BALOPEN = počáteční stav účtu ve formátu 170.95
BALCLOSE = konečný stav účtu ve formátu 268.79

Popis položek výpisu

DTPOSTED = Den účtování (dříve) (20130230 = 30.02.2013)
DTAVAIL = Den valuty (později ) (20130230 = 30.02.2013)

TRNAMT = Objem transakce * 1/100 (216 = 2,16)
CURRENCY = Měna transakce - nevypovídá o tom jestli se jedná o zahraniční nebo tuzemskou platbu a zda kód banky a bankovní účet obsahuje IBAN a BIC nebo numerické číslo tuzemského účtu

TRNSPSYM = Specifický symbol (nepovinný)
TRNVASYM = Variabilní symbol (nepovinný)
TRNCOSYM = Constantní symbol (nepovinný)
TRNTYPE = DEBIT / CREDIT

ACCTKEY = Předčíslí bankovního účtu (nepovinný)
ACCTID = Číslo bankovního účtu nebo IBAN (nepovinný)
BANKID = Kód banky nebo BIC (nepovinný)

MEMO = Detail transakce (nepovinný)
<MEMO>DA&#327; Z &#218;ROK&#366;</MEMO>
NAME = Typ transakce
<NAME>Provoz &#250;&#269;tu</NAME>
<NAME>P&#345;&#237;choz&#237; platba</NAME>
<NAME>Odchoz&#237; platba</NAME>

Platba kartou

Nemá nastaveny symboly ani informace o protiúčtu<TRNSPSYM/>
<TRNVASYM/>
<TRNCOSYM/>
<NAME>Platba PK u obchodn&#237;ka</NAME>
<BANKACCTO>
<BANKID/>
<ACCTID/>
<ACCTKEY/>
</BANKACCTO>

BIC

ISO 9362

Např. 
Fio banka - FIOZSKBA
mBank - BREXSKBX

SWIFT

https://cs.wikipedia.org/wiki/SWIFT

Závěrem

Pokud Vám tento článek v něčem pomohl, budu rád pokud mi to napíšete do komentáře. Pokud najdete nějakou chybu nebo máte připomínku tak mi napište a já článek opravím aby se se stejnou chybou nemuseli mordovat ostatní co si ho přečtou. 

pátek 9. března 2018

Nic neříkající chybová hláška při chybě v migračním scriptu

Chybová hláška
Either the parameter@objname is ambiguous or the claimed @objtype (COLUMN) is wrong.
je důsledkem neúspěšné migrace na základě instrukce:
RenameColumn(table: "dbo.CompanyTextTemplate", name: "CompanyId", newName: "AgendaId");
Která je přeložena na SQL dotaz:
EXECUTE sp_rename @objname = N'dbo.CompanyTextTemplate.CompanyId', @newname = N'AgendaId', @objtype = N'COLUMN'

Který se neprovede protože neexistuje sloupec  CompanyId jelikož již byl přejmenován.

Zdroj:
https://stackoverflow.com/questions/3091609/how-can-i-solve-either-the-parameter-objname-is-ambiguous-or-the-claimed-objt

čtvrtek 8. března 2018

Globalizace MVC aplikace

Nastavení ve WebConfigu

<system.web>
<globalization uiCulture="en" culture="en-AU" />
</system.web>

Přebije  výchozí nastavení systému. Pokud OS má výchozí jazyk EN pak IIS spouští aplikace jako anglické pokud není uvedeno ve WebConfigu explicitně jinak nebo nedojde k přepnutí během běhu programu.

např. v Global.asax  v metodě Application_BeginRequest
protected void Application_BeginRequest()
        {
           // nastavení jiné Culture
        }

úterý 6. března 2018

Jak vyhledat záznam podle počátečního písmene bez ohledu na diakritiku nebo velikost písmene?

Řetězce v požadovaném sloupci např. Title je potřeba porovnávat CI (Case Insensitive) - bez ohledu na velikost, AI (Accent Insensitive) - bez ohledu na diakritiku.


SELECT *
FROM [dbo].[Company]
WHERE [Title] COLLATE Latin1_General_CI_AI LIKE 'c%'

Zdroj:
https://stackoverflow.com/questions/3578582/how-can-i-remove-accents-on-a-string
https://stackoverflow.com/questions/14400856/entity-framework-case-insensitive-contains

středa 31. ledna 2018

Jak zjistím jak dlouho se to bude tisknout a kolik mě to bude stát?


Cura

Cura Vám umožní měnit nastavení tisku a sledovat jak se mění doba tisku a spotřeba materiálu.
Model na obrázku se bude například tisknout 6 hodin a 15 minu. To ale jen díky tomu že infill (výplň modelu) máme nastavenou na 10%.

Při jeho tisku se spotřebuje 78g materiálu.
Pokud tiskneme z PLA kde 750g stojí 550,- pak nás jeden gram stojí 0,74 Kč z toho pak spočítáme cenu materiálu na vytisknutí modelu 57,72 Kč

Pokud by jsem chtěli plnou výplň (infill 100%) tak se model bude tisknout celý den a spotřebujeme polovinu špulky (cca 350g) tisk by nás potom přišel na 260.- Kč

https://ultimaker.com/en/products/ultimaker-cura-software