TGViewer
Журнал инженера-программиста Журнал инженера-программиста @software_engineer_notes · 249 subscribers
Post #185 184
Журнал инженера-программиста Я был хейтером использования EDT для 1С-разработки со дня, когда она только появилась больше десяти лет назад. Ключевой причиной моей нелюбви было то, что с появлением "сырого" EDT развитие 1С:Конфигуратора было остановлено. И я остаюсь хейтером, так как EDT…
Разнообразных "расследований" в моей 1С-практике очень много. Иногда чувствую себя Шерлоком Холмсом 🕵️‍♂️

Вот буквально в прошедшую пятницу меня попросили разобраться в странной ситуации из базы нашего турецкого клиента:

При установке пометки удаления Контрагенту, эта пометка через минуту сама снимается.

1. Для начала - кто эту пометку снимает? Делаю отбор по клиенту в журнале регистрации и вижу, что пометку снимает фоновое задание. Делаю отбор по номеру сеанса и вижу название регламентного задания, которое запустило фоновое.

2. Читать код в этой базе очень сложно - там ядреная смесь английского, русского и турецкого (кстати, если в Конфигураторе делать поиск по турецким метаданным, то он закрывается). Понимаю, что тут происходит обмен с другой базой по правилам "Конвертации данных 2.0"

3. Выгружаю правила и внимательно изучаю все ПВД, ПКО и ПКС - ничего подозрительного.

4. Пишу расширение, которое снимает исходящий и входящий пакеты данных - смотрю их и сравниваю с событиями журнала регистрации: после пометки удаления в пакете на отправку появляется нужные контрагент с установленной пометкой (а так же его договор и банковский счет - все с пометками удаления). Назад прилетает файл с 31 тысячей строчек после чего происходит всего одно единственное изменение в базе - с контрагента снимается пометка удаления.

5. Анализирую получаемый пакет - каждую минуту эти 31к строчек бомбят базу. В пакете чуть больше 800 накладных и несколько десятков ссылок на Контрагентов (режим выгрузки по ссылкам). Нахожу UUID проблемного клиента - только ссылка и использование ссылки в описании документов. Т.е. "Универсальный обмен данными XML" получив ссылки, начинает их сравнивать с данными базы на отсутствие пометок удаления и снимает лишние (не знаю насколько это стандартное поведение - код обработки сильно переписан на турецком). Это имело бы смысл для свежих документов, но получаем пачку из сотен документов периода 2020-2023 годы.

6. Настало время изучить базу-корреспондент. Там есть регистрация этих давно не актуальных восьми сотен документов старого периода. Снимаю с регистрации документы во второй базе и помечаю контрагента на удаление в первой. Наблюдаю и вижу: а) при выгрузке помеченного контрагента из первой базы он помечается на удаление во второй; б) восстанавливается регистрация старых документов и они улетают из второй базы в первую; в) в первой базе слетает пометка на удаление на контрагенте, г) при следующем обмене слетает пометка на удаление во второй базе.

7. Анализирую чем отличаются проблемные документы - это проведенные документы, статус которых "подготовлены к отправке" (примерный перевод, там статусы тоже на турецком).

8. Проконсультировавшись с аналитиком, я пишу обработку которая проставляет документам следующий процессный статус - "отправлены", после чего они самостоятельно снимаются с регистрации.

9. Наконец-то контрагента удалось пометить на удаление 🎉
  • 👍 9
  • 🔥 1
More from @software_engineer_notes
  1. Oct 3, 2026"Вы автоматизируете хаос" - этим страхом любят пугать своих бизнес-заказчиков консалтеры,…
  2. Sep 28, 2026Уже второй проект на работе делаю в методике "парного программирования" с Claude Code. И с…
  3. Sep 13, 2026За последний месяц произошло много событий, но наиболее интересным является использование…
  4. Sep 1, 2026Самая обычная бумажная книга учета - это пока лучший инструмент фиксации проектных изменен…
  5. Aug 31, 2026Очень показательная причина моей нелюбви реализации сравнения/объединения конфигураций в 1…
  6. Aug 29, 2026О концепции LLM-Wiki я впервые прочитал на X (Twitter). Чтобы позже ознакомится детальнее,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →