Změny customizací
Změna ve skriptech a sestavách
ExposeToScript pro property
TUserBooks.GetItems() je třeba ve skriptu přepsat na TUserBooks.Items[]
Rozdělení na vlastní firmy (Zboží a pole Celní sazebník)
V unitě Am_StandardDoc.pas se mění následující:
- za původní f-ci Get_NameOfGoods137 (která již nebude ve standardu používána) je f-ce Get_NameOfGoods141 (Důvodem je změna parametru pro "Neuvádět název zboží" z flagu na nové pole typu Boolean) - Je potřeba původní f-ce ve speciálních sestavách dokladů nákupu a prodeje nahradit novou funkcí včetně změny parametru.
Nový kód v sestavách (tučně zvýrazněné změny):
Result:= Get_NameOfGoods141 (sc.NumberOfItem,
sc.OneLineItem,
Data.SaleItemsChild_OrigItemZ,
Data.SaleItemsChild_OrigItemO,
Data.SaleItemsChild_Naz_Abbr,
Data.SaleItemsChild_CFNazC,
Data.SaleItemsChild_C_Zbo_NoArticleName,
1)
- za původní f-ci SuppressDetWithDescOfItem je f-ce SuppressDetWithDescOfItem141 (mění se typ parametru String na Boolean… Zbo;Flagy)
Nový kód (tučně zvýrazněné změny):
Result:= SuppressDetWithDescOfItem141 (Data.SaleItemsChild_Naz_Abbr,
Data.SaleItemsChild_CFNazC,
Data.SaleItemsChild_C_Zbo_NoArticleName,
Data._TypeRec
)
- zároveň došlo ke změnám v celním sazebníku. Protože je pole možné nyní používat pro vlastní firmy, bylo pole TarDuty upraveno na TarDutyCalc. Je tedy nutné ve výběru polí toto upravit včetně výskytu tohoto pole v kódu sestav.
Odstranění závislosti na poznámkách - skripty Export faktur do XML a Export faktur do XML
Ve skriptu Export faktur do XML (ISDOC) a Export faktur do XML (ISDOC 6.0) byly provedeny následující změny:
1) plnění elementů v uzlu AccountingCustomerParty.Party.Contact již není závislé na poznámce KO na faktuře, plní se z pole Kontaktní osoba z nadřízeného dokladu,
2) parametr AddNoteToDoc již nepřidá poznámku I1 na fakturu, ale přidá komentář typu ISDOC,
3) ze skriptu byly odstraněny části skriptu, které se týkají záloh, které byly řešeny dnes již standardně nepodporovanými položkami prodeje "zboží typu záloha".
Nová grupa - VF_DOK01.AM
Do sestavy VF_DOK01.AM byla po opakovaných požadavcích přidána nová grupa pro grupování položek dokladu, která bude sloužit výhradně pro speciály. Tato grupa ale může ovlivnit stávající speciály odvozené ze sestavy VF_DOK01.AM. implicitně je grupa prázdná.
Je třeba prověřit hlavně sumační pole. Ta se vyčíslují podle čísla grupy a nová grupa toto mění.
Standardní doklady nákupu a prodeje (sestavy *.DOK01.AM)
V sestavách standardních dokladů nákupu a prodeje (např. VF_DOK01, ZAK_DOK01, OBV_DOK01 apod.) Došlo k úpravě zobrazování dodatků položek, dodatků ze zboží, dodatků zákazníka a dodatků z hlavičky dokladu. V těchto sestavách již dále nejsou podporovány dodatky zadávané v poznámkách (např. poznámku typu DZ na zákazníkovi). Podporovány jsou již jen komentáře. (pozn.: existuje standardní konverzní skript pro konverzi vybraných poznámek na komentáře).
V případě dodatků DO, které se zobrazovaly vždy bez ohledu na parametr byla provedena změna. Vznikl nový parametr Notes, do kterého lze vložit typy komentářů (jednotlivé typy oddělit středníkem), které se mají zobrazit.
Cestovní příkazy - rozdělení na vlastní firmy
Cestovní příkazy – číselníky - rozdělení na vlastní firmy způsobem, že každá vlastní firma má svoje číselníky.
Jsou to tyto datové moduly:
TD_CPC_SCZ - domácí stravné |
TD_CPC_SZH - zahraniční stravné |
TD_CPC_PCZ - Ceny PHM - tuzemsko |
TD_CPC_SKM - Sazebník za km jízdy |
TD_CPC_KCZ - Krácení tuzemského stravného |
TD_CPC_KZH - Krácení zahraničního stravného |
TD_CPC_KAP - Zákonné kapesné |
Bylo přidáno pole CompanyId i do obou klíčů.
Pokud se přistupuje k datovém modulu způsobem SetKey, DoNext nebo DoPrior, musí se CompanyId vyplnit, nelze spoléhat na to, že se sama doplní z kontextu dm.
Př.:
DmFoodFor := Dict.GetDataModule (cD_CPC_SZH) as TD_CPC_SZH;
1. Mám odkud přebrat DataMContext
DmFoodFor.UseDataMContext(Self, procedure
DmFoodFor [CP_Cis_CompanyId].AsLong := DmFoodFor.CompanyFilter;
…..
end);
nebo
2. následovně
var
LCompanyDivide: ICompanyDivide;
begin
if Supports(DmFoodFor, ICompanyDivide, LCompanyDivide)
then DataField[CP_Cis_CompanyId].AsLong := LCompanyDivide.CompanyFilter
…..
Odstranění závislosti na poznámkách - std skripty a sestavy
Ze standardu byly vyřazeny tyto skripty:
Doplnění oslovení u kontaktních osob - Kos_DoplOsl1.pas
Vlož dodatek do dokladu – DODDOKL.pas
skripty v modulech JCD (JSD_FORM1.pas, JSD_FORM2.pas, JSD_FORM3.pas, JSD_FORM4.pas a JSD_FORM54.pas)
Připojování komentářů k položkám nákupu/prodeje/převodek
Historicky se komentáře připojovaly přes tabulku E_SerNumItems. Do verze K2 luna byla provedena úprava a komentáře jsou nyní připojeny přes příslušnou tabulku položek (tedy buď prodeje, nákupu, převodek). Součástí verze je i inicializace.
Došlo ke zrušení metody na komentářích CommonStringList a tato metoda byla nahrazena metodou GetCommnetStrigList se vstupními parametry Typ komentáře a Jazyk.
Příklad volání:
TDataM.CommentChild.GetCommentStringList
Zrušení parametru NoteTypeForAccName v sestavách Hlavní knihy
Od verze K2 luna.02 je zrušen parametr NoteTypeForAccName, který zobrazoval alternativní název účtu. Parametr je již nějakou dobu neaktivní, protože alternativní (většinou tedy jazykový název účtu) je řešen systémově polem LangTxtCalc.
Zrušený parametr mohl být zákazníky vytažen do zařazení v knize F9.
Týká se sestav: UCT_OBZ.AM, UCT_OBZP.AM, UCT_OBZR.AM, UCT_OBZRX.AM
funkce AppendixText v unitách Am_Prodej a AM_Nakup
Byla smazána historická funkce AppendixText v unitách Am_Prodej.pas a Am_Nakup.pas.
Mapování příznaků (flagů) na nová bool pole
Seznam databázových změn pole Flagy na pole Bool v K2.luna.
1. Kind
Číslo bitu v poli KIND_Flags |
Nové pole (progname) |
ZBO_Druh_NeevSkut = 1 |
NoRecordActualQuantity |
ZBO_Druh_BanJobCard = 3 |
BanJobCard |
ZBO_Druh_NezavVyt = 4 |
IndependentOnProducedQuantity |
ZBO_Druh_NastavVyd = 6 |
PresetReleaseFlags |
ZBO_Druh_BOMItem = 7 |
BOMItem |
ZBO_Druh_NastavRez = 8 |
PresetReservationFlags |
ZBO_Druh_EvidPrev = 9 |
LinkTransfNotesAndJobCards |
ZBO_Druh_MultiplyTime= 10 |
MultiplyTime |
ZBO_Druh_Vyrobek = 11 |
ProductOrSubassembly |
ZBO_Druh_SuppressJC = 13 |
SuppressJobCard |
ZBO_Druh_NoAddToPlan = 14 |
NoAddToPlanJC |
ZBO_Druh_NoPhysRecal = 16 |
NoPhysicalRecalc |
ZBO_Druh_PeriodRecal = 17 |
PeriodRecalc |
ZBO_Druh_BanDeliveryConf = 19 |
BanDeliveryConf |
ZBO_Druh_BanReceiptCard = 20 |
BanReceiptCard |
ZBO_Druh_BanInvoiceIn = 21 |
BanInvoiceIn |
ZBO_Druh_BanOrderIn = 22 |
BanOrderIn |
ZBO_Druh_BanReservingCard = 23 |
BanReservingCard |
ZBO_Druh_BanReleaseNote = 24 |
BanReleaseNote |
ZBO_Druh_BanDeliveryNote = 25 |
BanDeliveryNote |
ZBO_Druh_BanInvoiceOut = 26 |
BanInvoiceOut |
ZBO_Druh_BanTransferNote = 27 |
BanTransferNote |
ZBO_Druh_DivideInReports = 28 |
DivideInReports |
ZBO_Druh_NoAccRecal = 29 |
NoAccountRecalc |
ZBO_Druh_IncidentalCost = 30 |
IncidentalCost |
2. Patterns
Číslo bitu v poli PATT_Flags |
Nové pole (progname) |
PATT_Flags_ProdSurcharge = 0 |
ProductSurcharge |
3. PatItems
Číslo bitu v poli PATI_Flags |
Nové pole (progname) |
PATI_Flags_Overheads = 0 |
AddOverhead |
4. ProductionOperation
Číslo bitu v poli OPE_Flags |
Nové pole (progname) |
OPE_Flags_Cooper = 0 |
Cooperation |
OPE_Flags_Invalid = 1 |
InvalidRecord |
OPE_Flags_ShowOpText= 2 |
ShowOpText |
OPE_Flags_HtmlFormat= 3 |
OpTextFormat |
OPE_Flags_CopyItems = 4 |
CopyItems |
OPE_Flags_PlanScrap = 5 |
PlanScrap |
OPE_Flags_DoNotInterrupt = 6 |
DoNotInterrupt |
5. TPOperation
Číslo bitu v poli TPOP_Flags |
Nové pole (progname) |
TPOP_Flags_Cooperation = 0 |
Cooperation |
TPOP_Flags_Completion = 1 |
Completion |
TPOP_Flags_Supplement = 2 |
Supplement |
TPOP_Flags_HtmlFormat = 3 |
OpTextFormat |
TPOP_Flags_PlanScrap = 4 |
PlanScrap |
6. Zbozi
Číslo bitu v poli ZBO_Flagy |
Nové pole (progname) |
CF OneBitField (bylo zrušeno) |
ZBO_Flagy_Min_Poc = 0 |
MinQtyRec |
ZBO_MinQtyRecCalc |
ZBO_Flagy_Max_Poc = 1 |
MaxQtyRec |
ZBO_MaxQtyRecCalc |
ZBO_Flagy_Lez_Dny = 2 |
DeadStockRec |
ZBO_DeadStockRecCalc |
ZBO_Flagy_EvidSC = 4 |
SNRecord |
ZBO_SNRecCalc |
ZBO_Flagy_EvidSar = 5 |
BatchRecord |
ZBO_BatchRecCalc |
ZBO_Flagy_MenaPro = 6 |
CurrencySale |
ZBO_CurrSaleCalc |
ZBO_Flagy_NeuvNaz = 7 |
NoArticleName |
ZBO_NoArtNameCalc |
ZBO_Flagy_ProcPoN = 8 |
PurchaseCostPercent |
ZBO_PurchCostPercCalc |
ZBO_Flagy_GenerSC = 9 |
AutoGenSN |
ZBO_AutoSNCalc |
ZBO_Flagy_ElVaha = 10 |
ElectronicWeight |
ZBO_ElecWeightCalc |
ZBO_Flagy_ZapStav = 16 |
NegativeLevel |
ZBO_NegLevelCalc |
ZBO_Flagy_RabOdbC = 17 |
CustPriceProdGroup |
ZBO_CustPrProdGrCalc |
ZBO_Flagy_MenaNak = 19 |
CurrencyPurchase |
ZBO_CurrPurchCalc |
ZBO_Flagy_EvidMist = 20 |
LocateRecord |
ZBO_LocatRecCalc |
ZBO_Flagy_EvidKodZ = 21 |
ContractCodeRecord |
ZBO_ContrCodeRecCalc |
ZBO_Flagy_NegenJCD = 23 |
NoSAD |
ZBO_NoSADCalc |
ZBO_Flagy_GenSarzi = 24 |
AutoGenBatch |
ZBO_AutoBatchCalc |
ZBO_Flagy_ProcRez = 25 |
PercentForOverHead |
ZBO_PercForOverHeadCalc |
ZBO_Flagy_Zneplat = 26 |
InvalidRecord |
ZBO_InvalidateBitCalc |
ZBO_Flagy_PrCeSar = 27 |
SalePriceBatch |
ZBO_SalePrBatchCalc |
ZBO_Flagy_NotIntrastat = 29 |
NotIntrastat |
ZBO_NotIntrastatCalc |
ZBO_Flagy_RedefineABC = 30 |
RedefineABC |
ZBO_RedefineAbcBitCalc |
ZBO_Flagy_CheckAmountForPDP = 31 |
CheckAmountForPDP |
ZBO_CheckAmountForPDPCalc |
ZBO_Flagy_AutLocation = 32 |
AutoRecordLocation |
ZBO_AutLocationCalc |
ZBO_Flagy_esTransport = 53 |
esTransport |
ZBO_esTransportCalc |
ZBO_Flagy_esPayment = 54 |
esPayment |
ZBO_esPaymentCalc |
7. VYR_SKL
Číslo bitu v poli VYR_Flagy |
Nové pole (progname) |
CF OneBitField (bylo zrušeno) |
Flagy_Spotreba = 0 |
Product (byl proveden invert) |
VYR_CFVyrobek |
Flagy_NeuplTP = 1 |
IncompleteRouting |
VYR_CFNeuplTP |
Flagy_Storno = 4 |
RecordCanceled |
|
Flagy_ExiRez = 5 |
ExistsReservation |
|
Flagy_VseRez = 6 |
AllReserved |
|
Flagy_SerCNe = 7 |
MismatchSerialNumbers |
|
Flagy_Pohyb = 8 |
ItemsMovement |
|
Flagy_Lik = 9 |
CorrectAcAssignment |
|
Flagy_Zau = 10 |
CorrectPosting |
|
Flagy_PotvSku = 11 |
ConfirmedGroup |
|
Flagy_ExiVyd = 13 |
ExistsRelease |
|
Flagy_VseVyd = 14 |
AllReleased |
|
Flagy_IgnCeny = 15 |
IgnoreReceiptPrice |
VYR_CBFIgnCenPr |
Flagy_FollowUpBatch = 16 |
FollowUpBatch |
|
Flagy_NullRealAm = 17 |
NoRecordActualQuantity |
|
Flagy_NulAmount = 19 |
ZeroAmount |
|
Flagy_SNNotUpdated = 20 |
SNNotUpdated |
|
Flagy_ScheduledWithoutCoverage = 21 |
ScheduledWithoutCoverage |
VYR_ScheduledWithoutCoverageImg |
8. VYR_POL
Číslo bitu v poli VRP_Flagy |
Nové pole (progname) |
Flagy_Rezerv = 0 |
Reserved |
Flagy_NeevSkut = 1 |
NoRecordActualQuantity |
Flagy_Available = 2 |
AvailableDisposition |
Flagy_SuppressJC = 3 |
SuppressJobCard |
Flagy_DataEntry = 5 |
DataEntry |
Flagy_IC = 6 |
IgnorePrice |
Flagy_PlanJobCard = 7 |
PlanJobCard |
Flagy_Multiply = 8 |
MultiplyQuantity |
Flagy_Supplement = 9 |
Supplement |
Flagy_Substitution = 10 |
Substitution |
Flagy_Inserted = 11 |
InsertedLater |
Flagy_PriceRedef = 12 |
PriceRedef |
Flagy_InvTranFormula = 13 |
InverseTranFormula |
9. JCOperation
Číslo bitu v poli JCOP_Flags |
Nové pole (progname) |
JCOP_Flags_Cooperation = 0 |
Cooperation |
JCOP_Flags_Completion = 1 |
Completion |
JCOP_Flags_HtmlFormat = 2 |
OpTextFormat |
JCOP_Flags_PlanScrap = 5 |
PlanScrap |
JCOP_Flags_SoftSplitting = 6 |
SoftSplitting |
10. Zbo_Tpo
Číslo bitu v poli ZBTP_Flagy |
Nové pole (progname) |
ZBTP_Flagy_NeuplTP = 0 |
IncompleteRouting |
ZBTP_Flagy_Invalid = 1 |
InvalidRecord |
ZBTP_Flagy_Blocked = 2 |
BlockedJobCard |
11. TPostup
Číslo bitu v poli TPO_Flagy |
Nové pole (progname) |
CF OneBitField (bylo zrušeno) |
TPO_Flagy_PredCenu = 0 |
PriceRedef |
TPO_PredCenuCalc |
TPO_Flagy_Multiply = 4 |
MultiplyQuantity |
TPO_MultiplyCalc |
TPO_Flagy_Supplement = 5 |
Supplement |
TPO_SupplementBitCalc a TPO_SupplCalc[/code] |
Změna identifikátorů commandů
Od verze 2020.01.88992 jsou názvy commandů z návrháře objektů rozšířeny o postfix názvu třídy modulu.
Pokud je tedy identifikátor commandu "MyCommand1" a identifikátor třídy je "TMyModule1" pak úplný identifikátor commandu je "MyCommand1_TMyModule1". Tímto úplným identifikátorem je command prezentován i do fragmentů. Musí tedy být uveden v CommandId u akcí tlačítek a podobně. Tohle unikátní rozšíření zajistí, že identifikace commandů bude jednoznačná i v případě sehrání více návrhářových projektů do jedné K2.
Obr.: MyCommand1
Pro přechod na tuto verzi je potřeba přepsat názvy commandů ve fragmentech. Pro ulehčení přechodu je v "Nastavení" návrhářového projektu implementován přepínač zpětné kompatibility "Jednoduché identifikátory příkazů". Pokud je zapnut, pak je úplný identifikátor commandu shodný s jeho identifikátorem - tedy stejně jak tomu bylo v předchozích verzích K2.
Obr.: Jednoduché identifikátory příkazů
Použití tohoto přepínače je ale jen dočasné řešení, které může v budoucnu přinést problémy s jednoznačností commandu. Proto doporučujeme ve fragmentech identifikaci commandů opravit.
Číselník "Způsob platby"
- Záznamy číselníku již nejsou v tabulce SpeStr (SPS_Typ_Zpusob_Plat = 11). Při reinstalaci se záznamy přenesou do nové tabulky a z tabulky SpeStr jsou vymazány.
- Název datového modulu zůstává stejný (TD_PaymentMethod)
- Konstanty pro vazby zůstávají zachovány (tvPaymentMethod, tvPaymentMethodByNo)
- Přemapování důležitých polí je následující:
- SpeStr.Cis -> PaymentMethod.Id
- SpeStr.Zkr1 -> PaymentMethod.Abbr
- SpeStr.Txt -> PaymentMethod.Name
- SpeStr.Descr -> PaymentMethod.Description
- Následují CF (původně uloženo v tabulce DoplnPol) jsou rovněž přeneseny do nové tabulky:
- CFRoundingConst, CFRoundingOrderF -> PaymentMethod.RoundingConst
- CFRoundingOrder, CFRoundingOrderF -> PaymentMethod.RoundingOrder
- Původně použité bity v poli Flagy jsou nově převedeny na databázové pole:
- SPS_Flagy_Blok = 0 -> PaymentMethod.Blocked
- SPS_Flagy_CashPayment = 1 -> PaymentMethod.CashPayment
- SPS_Flagy_PMCoD = 3 -> PaymentMethod.CashOnDelivery
- SPS_Flagy_PMByAdv = 4 -> PaymentMethod.AdvancePayment
- SPS_Flagy_NotDissolveRounding = 6 -> PaymentMethod.NotDissolveRounding
Index VYR_By_Zbo
Do Indexu VYR_By_Zbo (C_Zbo,RID), byl doplněn segment RID. Index je nyní unikátní a plně využitelný.
Zrušení příznaku woCacheData
Změny příznaku pamatovat filtry v univerzálních formulářích:
- Z nabídky Main menu ® Upravit filtr ® Filtr, byly odstraněny volby ukládání a načítání filtru ze souboru.
- Z parametrů uživatele ® Další možnosti ® Okna, byla odstraněna volba Pamatovat filtry z knih a lookupů.
Zpětná nekompatibilita
Z rozhraní pro skript byly odstraněny následující tři metody třídy TDataM:
procedure SaveMemorySet(const AFileName: string; AProtection: TxDataProtection = FullDataProtection);
function LoadMemorySet(const AFileName: string): Boolean;
function LoadUserMemorySet: Boolean;
Zrušení sekce "Strana BI"
Dále již není podporované zobrazení dashboardů z produktů třetích stran MS PerformacePoint Server a Oracle BI Server v K2, kde tyto dashboardy byly načítany v modulu jako záložka "Strana BI".
Změny v sekci Platební brány na e-shopu
Změny v sekci Platební brány
- Byly přidány volby Po platbě vytvořit fakturu vydanou a Po platbě vytvořit zálohu přijatou. Výchozí stav je nastaven na Po platbě vytvořit fakturu vydanou.
- Ke každé platební bráně byly přidány volby Platit pokladním dokladem a Platit interním dokladem. Výchozí stav je nastaven na Platit pokladním dokladem.
Změna v podřízených modulech TD_OrgTreePerson a TD_OrgTreeRole
Byly nahrazeny podřízené moduly TD_OrgTreePerson a TD_OrgTreeRole novým modulem TD_PersonRoleWkfOrgTree.
Při náhradě došlo i ke změně názvu polí:
- "PersonId" je nahrazeno názvem "ContPerson"
- "OrgUnitId" je nahrazeno názvem "OrgUnit"
- "CostCentreId" je nahrazeno názvem "Centre".
Změna názvu identifikátoru property TDataM.ActNum
Property ActNum datového modulu (TDataM.ActNum), která slouží k explicitnímu číslování záznamů, byla přejmenována na ActualNumber.
Důvodem je duplicita identifikátorů.