6.6 KiB
6.6 KiB
Changelog
[2025-11-06] - Исправление: GUID договора и выбор счетов 62.xx в 1С
Fixed
- 🐛 Критическое исправление: GUID договора теперь формируется с учётом валюты и признака у.е.
- 📊 Выбор счетов в 1С: Рублёвые документы теперь корректно попадают на счета 62.01/62.02 вместо 62.21/62.22
- 🔍 Добавлено диагностическое логирование для выявления проблем с валютой и счетами
Technical Details
- Проблема: Генератор создавал один GUID договора для всех валют → при наличии старого валютного договора рублёвые документы попадали на валютные счета 62.21/62.22
- Решение: GUID договора теперь включает валюту и признак у.е.:
contract-{cp_id}-{org_id}-CUR-{currency_code}-UE-{is_ue} - Результат:
- RUB + не у.е. → отдельный договор → счета 62.01 (задолженность) / 62.02 (авансы)
- Иностранная валюта → отдельный договор → счета 62.21 / 62.22
- Условные единицы → отдельный договор → счета 62.31 / 62.32
Documentation
- 📖 Создана подробная документация:
docs/CONTRACT_UUID_FIX.md - ✅ Инструкции по проверке и исправлению существующих данных
- 🔗 Ссылки на типовую документацию 1С
[2025-11-05] - Формат 1С EnterpriseData 1.20
Added
- 🆕 Формат 1С EnterpriseData 1.20 - новый генератор XML для прямой загрузки документов реализации в конфигурации 1С
- 📄 Класс
XML1CGeneratorвmodules/xml_generator.pyдля генерации документов в формате обмена 1С - 📖 Документация по формату 1С:
docs/XML_1C_FORMAT.md - ✨ Поддержка UUID, ISO 8601 дат, сумм в рублях (без копеек)
- 🏢 Корректная обработка ИП и юридических лиц в формате 1С
- 💼 Экспорт банковских реквизитов организации
- 📦 Детализация товарных позиций с кодами ОКЕИ
- 🔄 Полная структура документа "Реализация товаров и услуг" для 1С
Changed
- 📝 Обновлен README с информацией о новом формате
- 🔄 Сохранены оба формата: ВерсФорм 5.03 (для ФНС) и 1С EnterpriseData 1.20 (для 1С)
Technical Details
- Namespace:
http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.20 - Формат даты: ISO 8601 (YYYY-MM-DDTHH:MM:SS)
- Денежные суммы: рубли (целое число)
- UUID для всех ссылок на объекты
- Полная интеграция с API МойСклад
Обновление бота - Поиск заказов
✅ Исправлено
- Проблема с командой /orders - добавлено детальное логирование и обработка ошибок
- Глобальный обработчик ошибок - все ошибки теперь логируются и пользователь получает понятное сообщение
🆕 Новые возможности
Команда поиска заказа по номеру
Теперь вы можете искать заказы по номеру командой /search
Использование:
/search 00001
/search СЧ-123
/search Заказ
Как работает:
- Отправьте команду
/searchс номером заказа - Бот найдет все подходящие заказы в МойСклад
- Выберите нужный заказ из списка результатов
- Далее работа идет как обычно: выбор типа документа и формата
📋 Обновленные команды
/start- Приветствие и описание бота/orders- Показать последние 10 заказов/search <номер>- НОВОЕ! Найти заказ по номеру/help- Справка по командам
🔍 Примеры использования
Просмотр последних заказов:
/orders
Поиск конкретного заказа:
/search 00042
Поиск по части номера:
/search СЧ-2024
🛠️ Технические улучшения
- Детальное логирование - теперь все действия логируются для отладки
- Обработка исключений - добавлены try-catch блоки для всех критических операций
- Глобальный error_handler - перехватывает все необработанные ошибки
- Информативные сообщения - пользователь получает понятные сообщения об ошибках
🚀 Запуск
После обновления просто перезапустите бота:
python main.py
Бот автоматически:
- Проверит подключение к МойСклад
- Проверит токен Telegram
- Запустит все обработчики
📝 Логи
Теперь в логах вы увидите:
- Какой пользователь отправил команду
- Сколько заказов найдено
- Детали всех ошибок с трассировкой
Пример лога:
INFO - Команда /orders от пользователя 123456789
INFO - Запрос к API МойСклад...
INFO - Получено заказов: 10
⚠️ Примечания
- Поиск работает по частичному совпадению (можно искать часть номера)
- Максимум показывается 10 результатов поиска
- Если заказ не найден, бот предложит использовать /orders