Files
Dianaka123 059895d1c3 feat: WPF-приложение для автоматизации оформления деклараций
- Чтение СПРАВКИ из Excel (ClosedXML), поддержка нескольких файлов
- Группировка по ТН ВЭД: схлопывание строк с суммированием кол-ва/веса/суммы
- Автоназначение кодов деклараций по справочнику ТН ВЭД (87 пар)
- Цветовая маркировка: зелёный/жёлтый/красный по уровню уверенности
- Самообучение: ручной выбор кода сохраняется в tnved_codes.json
- Формирование Лист3 с разворачиванием строк по рег. номерам (ключевая функция)
- Экспорт Лист2 + Лист3 в Excel
2026-04-05 23:19:58 +03:00

41 lines
1.2 KiB
C#

using System.Windows;
using System.Windows.Controls;
using DeclarationAutomatization.Models;
using DeclarationAutomatization.ViewModels;
namespace DeclarationAutomatization.Views;
public partial class MainWindow : Window
{
private readonly MainViewModel _viewModel;
public MainWindow(MainViewModel viewModel)
{
InitializeComponent();
_viewModel = viewModel;
DataContext = viewModel;
// Обрабатываем завершение редактирования кода в таблице
ItemsGrid.CellEditEnding += OnCellEditEnding;
}
private void OnCellEditEnding(object? sender, DataGridCellEditEndingEventArgs e)
{
if (e.EditAction != DataGridEditAction.Commit) return;
if (e.Row.Item is not DeclarationItem item) return;
// Колонка "Код декларации" (индекс 8)
if (e.Column.DisplayIndex != 8) return;
string? newCode = null;
if (e.EditingElement is ComboBox combo)
newCode = combo.Text?.Trim();
else if (e.EditingElement is TextBox tb)
newCode = tb.Text?.Trim();
if (!string.IsNullOrEmpty(newCode))
_viewModel.OnCodeManuallyChanged(item, newCode);
}
}