UNPKG

moysklad-api-model

Version:

Объектная модель API МойСклад для TypeScript проектов

36 lines (35 loc) 1.81 kB
import type { OptionalNullablePartial } from '../tools'; import type { Entity } from './Entity'; import type { EntityPatchRef, EntityRef } from './EntityRef'; export type PositionMetaType = 'commissionreportinposition' | 'commissionreportoutposition' | 'customerorderposition' | 'demandposition' | 'enterposition' | 'internalorderposition' | 'inventoryposition' | 'invoiceposition' | 'lossposition' | 'moveposition' | 'processingorderposition' | 'purchaseorderposition' | 'purchasereturnposition' | 'salesreturnposition' | 'supplyposition'; export type DocumentPositionType = { commissionreportin: 'commissionreportinposition'; commissionreportout: 'commissionreportoutposition'; customerorder: 'customerorderposition'; demand: 'demandposition'; enter: 'enterposition'; internalorder: 'internalorderposition'; inventory: 'inventoryposition'; invoicein: 'invoiceposition'; invoiceout: 'invoiceposition'; loss: 'lossposition'; move: 'moveposition'; processingorder: 'processingorderposition'; purchaseorder: 'purchaseorderposition'; purchasereturn: 'purchasereturnposition'; retaildemand: 'demandposition'; salesreturn: 'salesreturnposition'; retailsalesreturn: 'salesreturnposition'; supply: 'supplyposition'; }; export interface Position<T extends PositionMetaType> extends Entity<T> { /** Кол-во */ quantity: number; /** Цена */ price: number; /** Скидка */ discount: number; /** Ассортимент */ assortment: EntityRef<'product' | 'service' | 'bundle' | 'consignment' | 'variant'>; } export type PositionPatch<T extends PositionMetaType> = Partial<EntityPatchRef<T> & Pick<Position<T>, 'quantity' | 'price'>> & OptionalNullablePartial<Pick<Position<T>, 'assortment' | 'discount'>>;