Создан единый источник истины rules-complete.md v9.1 с полной интеграцией всех правил системы. Консолидированы правила создания предметов по ролям, уточнен статус брака (НЕ РЕАЛИЗОВАНО), обновлен механизм учета ПЛАН/ФАКТ с заменой брака на потери при пересчете. Добавлен экономический учет расходников фулфилмента для селлера через рецептуру. Удалены дублирующие файлы правил (CLAUDE.md, development-checklist.md, work-protocols.md, violation-prevention-protocol.md, self-validation.md, description.md). Интегрированы UI структуры создания поставок и концепция многоуровневых таблиц.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Veronika Smirnova
2025-08-05 15:29:41 +03:00
parent ee72a9488b
commit d30e3f9666
23 changed files with 2038 additions and 6162 deletions

View File

@ -25,7 +25,7 @@ import {
} from "lucide-react";
import {
GET_MY_COUNTERPARTIES,
GET_ALL_PRODUCTS,
GET_ORGANIZATION_PRODUCTS,
GET_SUPPLY_ORDERS,
GET_MY_SUPPLIES,
} from "@/graphql/queries";
@ -91,12 +91,17 @@ export function MaterialsOrderForm() {
GET_MY_COUNTERPARTIES
);
// Загружаем товары для выбранного партнера
// Загружаем товары для выбранного партнера с фильтрацией по типу CONSUMABLE
const { data: productsData, loading: productsLoading } = useQuery(
GET_ALL_PRODUCTS,
GET_ORGANIZATION_PRODUCTS,
{
skip: !selectedPartner,
variables: { search: null, category: null },
variables: {
organizationId: selectedPartner.id,
search: null,
category: null,
type: "CONSUMABLE" // Фильтруем только расходники согласно rules2.md
},
}
);
@ -117,12 +122,8 @@ export function MaterialsOrderForm() {
partner.inn?.toLowerCase().includes(searchQuery.toLowerCase())
);
// Фильтруем товары по выбранному партнеру
const partnerProducts = selectedPartner
? (productsData?.allProducts || []).filter(
(product: Product) => product.organization.id === selectedPartner.id
)
: [];
// Получаем товары партнера (уже отфильтрованы в GraphQL запросе)
const partnerProducts = productsData?.organizationProducts || [];
const formatCurrency = (amount: number) => {
return new Intl.NumberFormat("ru-RU", {