Skip to content

Commit

Permalink
Version 12.1.4
Browse files Browse the repository at this point in the history
  • Loading branch information
papyrussolution committed Sep 29, 2024
1 parent 921cccf commit f887fda
Show file tree
Hide file tree
Showing 36 changed files with 1,438 additions and 690 deletions.
11 changes: 10 additions & 1 deletion Src/Include/PPDEFS.H
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,7 @@
// без посредничества главной организации.
#define PPOPT_DRAFTQUOTREQ 22L // @v10.5.7 Запрос котировок (запрос на возможность, сроки и стоимость поставки товаров)
#define PPOBJ_OPRKIND 12L // $ Виды операций
#define PPOPK_GENERICACCTURN 1L // Общая бух. проводка
#define PPOPK_GENERICACCTURN 1L // Общая бухгалтерская проводка
#define PPOPK_RECEIPT 2L // Прием товара от поставщика
#define PPOPK_SELL 3L // Продажа товара именованному клиенту
#define PPOPK_RETAIL 4L // Продажа в розницу неименованному клиенту
Expand All @@ -529,6 +529,7 @@
#define PPOPK_EDI_ORDERRSP 18L // Драфт-операция подтверждения заказа, переденного в EDI
#define PPOPK_EDI_WROFFWITHMARKS 19L // Драфт-операция списание с остатков ЕГАИС акцизных марок
#define PPOPK_EDI_CHARGEONWITHMARKS 20L // Драфт-операция постановки на баланс маркированной продукции
#define PPOPK_GENERICREGACCTURN 21L // Общая регистровая бухгалтерская проводка
#define PPOPK_UNASSIGNED 1000L // Специальный идентификатор
//
// Extra records of PPOBJ_OPRKIND
Expand Down Expand Up @@ -587,6 +588,10 @@
#define PPAMT_CS_CASH 24L // Сумма кассовой сессии, оплаченная наличными
#define PPAMT_CS_BANK 25L // Сумма кассовой сессии, оплаченная безналично
#define PPAMT_CS_CSCARD 26L // Сумма кассовой сессии, оплаченная корпоративными кредитными картами
#define PPAMT_MP_ACCEPTANCE 27L // @v12.1.4 Стоимость приемки товара на складе маркетплейса
#define PPAMT_MP_STORAGE 28L // @v12.1.4 Стоимость хранения товара на складе маркетплейса
#define PPAMT_MP_COMMISSION 29L // @v12.1.4 Сумма комиссионного вознаграждения маркетплейса
#define PPAMT_MP_SELLERPART 30L // @v12.1.4 Сумма, перечисляемая маркетплейсом продавцу за проданный товар
// Набор сумм по строкам расширения бухгалтерских документов
#define PPAMT_ADLN_MAIN 41L // Номинальная сумма строки расширения //
#define PPOBJ_CASHNODE 17L // $ Расчетные кассовые узлы
Expand Down Expand Up @@ -1100,6 +1105,7 @@
#define ARTN_MRKTPLCACC_STORAGE 3 // Стоимость хранения
#define ARTN_MRKTPLCACC_ACCEPTANCE 4 // Стоимость приемки на склад хранения
#define ARTN_MRKTPLCACC_CORRECTION 5 // Коррекция баланса
#define ARTN_MRKTPLCACC_DEDUCTION 6 // Удержания //
#define PPOBJ_ACCOUNT_PRE9004 1007L // Бухгалтерские счета (балансовые) // @v9.0.4 Заменен на PPOBJ_ACCOUNT2
//
// Extra records of PPOBJ_ACCOUNT
Expand Down Expand Up @@ -1444,6 +1450,7 @@
// Кейс следующий: если глобальная учетная запись ассоциирована с каким-то внешним сервисом, который открывает для нас счет, по которому
// осуществляется движение и существует возможность вывести наши средства, то мы заводим некоторый счет (возможно, регистровый) и отображаем
// на нем движение средств.
#define PPTAG_LOT_ORGORDERIDENT 118L // @v12.1.4 Оригинальный идентификатор заказа. Обычно импортируемый идентификатор строки заказа.
//
// Зарезервированные идентификаторы глобальных учетных записей
//
Expand Down Expand Up @@ -2714,6 +2721,8 @@
#define CTL_LOT_VETISIND (73 + WINDOWS_ID_BIAS)
#define CTL_LOT_VETISMATCHBUTTON (74 + WINDOWS_ID_BIAS)
#define CTL_LOT_SEQQRACK (75 + WINDOWS_ID_BIAS)
#define CTL_LOT_PCFORWTQTY (76 + WINDOWS_ID_BIAS) // @v12.1.4 Очень специфичное поле ввода: количество мест для весового маркируемого товара.
// Отображается в тег строки документа PPTAG_LOT_CHZNINTQTTY

// Однотипные диалоги заполнения документов
#define DLG_BILL 101
Expand Down
25 changes: 20 additions & 5 deletions Src/Include/Pp.h
Original file line number Diff line number Diff line change
Expand Up @@ -10036,7 +10036,7 @@ struct CCheckItem { // @transient
double GetAmount() const;
int SetupGiftQuot(double quot, int forceZero);
int ResetGiftQuot();
int CanMerge(const CCheckPacket * pPack, const CCheckItem & rItem) const;
bool CanMerge(const CCheckPacket * pPack, const CCheckItem & rItem) const;

PPID GoodsID; //
double Quantity; //
Expand Down Expand Up @@ -11401,7 +11401,7 @@ class PPLotTagContainer : private SArray {
ObjTagList * FASTCALL Get(int rowIdx /*0..*/) const;
int Set(int rowIdx /*0..*/, const ObjTagList *);
const ObjTagItem * GetTag(int rowIdx, PPID tagID) const;
int SearchString(const char * pPattern, PPID tagID, long flags, LongArray & rRowIdxList) const;
bool SearchString(const char * pPattern, PPID tagID, long flags, LongArray & rRowIdxList) const;
int GetTagStr(int rowIdx, PPID tagID, SString & rBuf) const;
void RemovePosition(int rowIdx);
int ReplacePosition(int rowIdx, int newRowIdx);
Expand Down Expand Up @@ -19766,14 +19766,20 @@ class PPObjOprKind : public PPObjReference {
int GetEdiShopChargeOnOp(PPID * pID, int use_ta);
int GetEdiWrOffShopOp(PPID * pID, int use_ta);
int GetEdiWrOffWithMarksOp(PPID * pID, int use_ta);
int GetEdiChargeOnWithMarksOp(PPID * pID, int use_ta); // @v10.9.0
int GetEdiChargeOnWithMarksOp(PPID * pID, int use_ta);
//
// Descr: Возвращает идентификатор зарезервированного вида операции общей бух проводки для регистрового счета.
// Если операция не существует, то будет создана.
//
int GetGenericAccTurnForRegisterOp(PPID * pID, int use_ta);
private:
struct ReservedOpCreateBlock {
ReservedOpCreateBlock();
PPID OpID;
PPID OpTypeID;
uint NameTxtId;
PPID AccSheetID;
int SubType; // @v12.1.4
long Flags;
const char * P_Symb;
const char * P_CodeTempl;
Expand Down Expand Up @@ -21636,7 +21642,7 @@ class PPObjLocPrinter : public PPObjReference {
int IsPrinter();
};
//
//
// Флаги бухгалтерских счетов
//
#define ACF_FREEREST 0x0001L // Даже имея субсчета и (или) статьи, счет допускает прямые проводки
#define ACF_HASBRANCH 0x0002L // Счет имеет субсчет(а)
Expand Down Expand Up @@ -30207,6 +30213,15 @@ class PPObjGoods : public PPObject {
int FetchGoodsType(PPID goodsTypeID, PPGoodsType * pGtRec);
bool IsZeroPriceAllowed(PPID goodsID);
//
// Descr: Функция выясняет является ли товар goodsID маркируемой развесной молочной продукцией, для которой
// дополнительно необходимо количественное значение числа отгружаемых мест.
// Note: Если кратко, то суть проблемы в том, что ебаный честный знак требует от оптовиков что бы сыры, сметана и прочая
// молочная хуйня, отгружаемая литрами или килограммами содержала какую-то целочисленную величину, сопоставляемую
// с суррогатной маркой, отправляемой вместе с накладной. В общем, в этом лучше на разбираться - это все следствие
// того, что вся рашка ебнулась окончательно и бесповоротно.
//
bool IsChZnCtWtGoods(PPID goodsID); // @v12.1.4
//
// Descr: Извлекает запись единицы измерения unitID из кэша.
//
int FetchUnit(PPID unitID, PPUnit * pUnitRec); // @>>PPObjUnit::Fetch
Expand Down Expand Up @@ -34191,7 +34206,7 @@ class PPObjBill : public PPObject {
// В результате конвертации документ srcID удаляется, и создается документ с ид *pDestID.
//
int ConvertGenAccturnToExtAccBill(PPID srcID, PPID * pDestID, const CvtAt2Ab_Param * pParam, int use_ta);
int GetShipmByOrder(PPID orderID, const DateRange *, PPIDArray *);
int GetShipmByOrder(PPID orderID, const DateRange *, PPIDArray & rList);
int EnumMembersOfPool(PPID poolType, PPID poolOwnerID, PPID * pMemberID, BillTbl::Rec * pRec = 0);
int IsMemberOfPool(PPID billID, PPID poolType, PPID * pPullOwnerID);
// @>>P_Tbl->IsMemberOfPool(PPID billID, PPID poolType, PPID * pPullOwnerID)
Expand Down
8 changes: 8 additions & 0 deletions Src/Include/SLIB.H
Original file line number Diff line number Diff line change
Expand Up @@ -8124,6 +8124,14 @@ public:
// либо (dir != 0 && pos == 0).
//
int moveItem(uint pos, int dir, uint * pNewPos); // @>>SArray::swap
//
// Descr: перемещает элемент, находящийся в позиции srcPos, в позицию destPos.
// Returns:
// >0 - перемещение осуществлено успешно.
// <0 - ничего не произошло поскольку srcPos == destPos
// 0 - ошибка позиционирования: либо srcPos >= getCount() либо destPos >= getCount();
//
int moveItemTo(uint srcPos, uint destPos);
int ordInsert(const void *, uint *, CompFunc, void * pExtraData = 0);
//
// Descr: осуществляет бинарный поиск по всем записям массива.
Expand Down
8 changes: 4 additions & 4 deletions Src/Include/ued-id.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// UED-ID.H
// UED-ID-TEMP.H
// version: 35
// sha256: e4e857834b6a904bfacd0093364da64d517c02b0fc328f66a10c9de429661911
//
#ifndef __UED_ID_H
#define __UED_ID_H
#ifndef __UED_ID_TEMP_H
#define __UED_ID_TEMP_H

#define UED_META_META 0x100000001ULL
#define UED_META_PREDEFVALUE 0x100000002ULL
Expand Down Expand Up @@ -3692,4 +3692,4 @@
#define UED_META_INTEGER 0x197000000ULL
#define UED_META_DECIMAL 0x198000000ULL

#endif // __UED_ID_H
#endif // __UED_ID_TEMP_H
5 changes: 4 additions & 1 deletion Src/Include/ued.h
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,9 @@ class SrUedContainer_Base : public SStrGroup {
// Descr: ����� ������� ReadSource
//
enum {
rfDebug = 0x0001
rsfDebug = 0x0001,
rsfCompileTime = 0x0002 // ����������� �������� ������ � ������ ��������������� ����������. ���� �� ����������, ��
// ���������� �������������� � run-time-������.
};

int ReadSource(const char * pFileName, uint flags, PPLogger * pLogger);
Expand Down Expand Up @@ -300,6 +302,7 @@ class SrUedContainer_Base : public SStrGroup {
int ReplaceSurrogateLocaleIds(const SymbHashTable & rT, PPLogger * pLogger);
int RegisterProtoPropList(const ProtoPropList_SingleUed & rList);
int ProcessProperties();
int Helper_PutProperties(const UedLocaleEntry & rUedEntry, const TSVector <uint64> & rRawPropList);
//
// Descr: ������, ����������� ���� �������� �� ����� standalone-�������� �������
//
Expand Down
3 changes: 1 addition & 2 deletions Src/PPLib/Accturn.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -946,8 +946,7 @@ int AccTurnCore::_ProcessAcct(int side, PPID curID, const AcctID & rAcctId, PPID
acct.ar = 0;
SetupAccTurnParam(p, side, kind);
//
// Ищем ссылку на соответствие {счет, статья} в AcctRel
// и если ссылки нет, то открываем новую
// Ищем ссылку на соответствие {счет, статья} в AcctRel и если ссылки нет, то открываем новую
//
THROW(r = AcctIDToRel(&rAcctId, pAccRelID));
if(r > 0) {
Expand Down
3 changes: 2 additions & 1 deletion Src/PPLib/Billdlg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -199,9 +199,10 @@ IMPL_HANDLE_EVENT(AccTurnDialog)
if(P_Pack) {
// @v11.6.6 {
double nominal_amount = 0.0;
AmtList al;
getDTS(0);
P_Pack->InitAmounts(0);
P_Pack->SumAmounts(0, 0);
P_Pack->SumAmounts(&al, 0); // @v12.1.4 @fix 0-->&al
// } @v11.6.6
EditBillTaxes(&P_Pack->Amounts, getCtrlReal(CTL_ATURN_AMOUNT));
}
Expand Down
9 changes: 5 additions & 4 deletions Src/PPLib/Bpakcore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -944,9 +944,9 @@ const ObjTagItem * PPLotTagContainer::GetTag(int rowIdx, PPID tagID) const
return (lsearch(&key, &pos, CMPF_LONG)) ? static_cast<const Item *>(at(pos))->List.GetItem(tagID) : 0;
}

int PPLotTagContainer::SearchString(const char * pPattern, PPID tagID, long flags, LongArray & rRowIdxList) const
bool PPLotTagContainer::SearchString(const char * pPattern, PPID tagID, long flags, LongArray & rRowIdxList) const
{
int ok = 0;
bool ok = false;
rRowIdxList.clear();
if(!isempty(pPattern)) {
SString temp_buf;
Expand All @@ -957,7 +957,7 @@ int PPLotTagContainer::SearchString(const char * pPattern, PPID tagID, long flag
p_tag->GetStr(temp_buf);
if(temp_buf.CmpNC(pPattern) == 0) {
rRowIdxList.add(p_item->RowIdx);
ok = 1;
ok = true;
}
}
}
Expand Down Expand Up @@ -3043,11 +3043,12 @@ void PPBillPacket::CreateAccTurn(PPAccTurn & rAt) const
rAt.BillID = Rec.ID;
rAt.Opr = Rec.OpID;
PPOprKind op_rec;
if(GetOpData(Rec.OpID, &op_rec) > 0)
if(GetOpData(Rec.OpID, &op_rec) > 0) {
if(op_rec.SubType == OPSUBT_REGISTER)
rAt.Flags |= PPAF_REGISTER;
else
SETFLAG(rAt.Flags, PPAF_OUTBAL, CheckOpFlags(Rec.OpID, OPKF_OUTBALACCTURN));
}
}

int PPBillPacket::SetCurTransit(const PPCurTransit * pTrans)
Expand Down
4 changes: 2 additions & 2 deletions Src/PPLib/CCHECK.CPP
Original file line number Diff line number Diff line change
Expand Up @@ -551,9 +551,9 @@ int CCheckItem::ResetGiftQuot()
return ok;
}

int CCheckItem::CanMerge(const CCheckPacket * pPack, const CCheckItem & rItem) const
bool CCheckItem::CanMerge(const CCheckPacket * pPack, const CCheckItem & rItem) const
{
return BIN(rItem.Price == Price && rItem.Discount == Discount && !(rItem.Flags & cifGiftDiscount) &&
return (rItem.Price == Price && rItem.Discount == Discount && !(rItem.Flags & cifGiftDiscount) &&
!(rItem.Flags & cifModifier) && !(Flags & cifModifier) &&
(!(pPack->Rec.Flags & CCHKF_SUSPENDED) || (rItem.Flags & cifIsPrinted) == (Flags & cifIsPrinted)) &&
rItem.Division == Division && rItem.Queue == Queue && sstreq(rItem.Serial, Serial) &&
Expand Down
Loading

0 comments on commit f887fda

Please sign in to comment.