Оптовая компания, ночная выгрузка из 1С в MySQL

Выдуманная оптовая компания каждую ночь выгружает счета, строки и платежи из 1С в MySQL. Каждое расхождение найдено SQL, с причиной.

91 расхождение в 3 таблицах: 12 удалённых строк остались в цели, 20 строк записаны дважды, 6 платежей привязаны не к тому счёту, 45 изменений не выгружены, 8 переименованных артикулов не обновлены

Мост: от источника к цели, по таблицам и месяцам

счета

МесяцШагСтрокиКонтрольная сумма
сентябрь 2026Источник900184 821 330,6500
сентябрь 2026Изменено после выгрузки0+469 022,8600
сентябрь 2026Цель900185 290 353,5100

строки счетов

МесяцШагСтрокиКонтрольная сумма
сентябрь 2026Источник3 600184 821 330,6500
сентябрь 2026Удалена, осталась в цели+12+487 817,7500
сентябрь 2026Повтор после перезапуска+20+975 021,2900
сентябрь 2026Изменено после выгрузки0−18 794,8900
сентябрь 2026Цель3 632186 265 374,8000

платежи

МесяцШагСтрокиКонтрольная сумма
сентябрь 2026Источник850174 298 000,5200
сентябрь 2026Цель850174 298 000,5200

Граф задач DAG

Граф задач DAG

Расхождения

ТаблицаПричинаКлючКолонкаИсточникЦельРазницаОбъяснение
счетаизменено после выгрузки0xkampz6-bcg4-0dni-umgf-ib4vryhhogsytotal175357.3300183380.55+8 023,2200Изменено в источнике после выгрузки.
счетаизменено после выгрузки4ulxsgke-h5aq-8v7v-q5yf-umdgi4f7gqtgtotal91227.0100109885.16+18 658,1500Изменено в источнике после выгрузки.
счетаизменено после выгрузки5mjjgzt2-kizl-oupg-juve-cplpzrdsag7qtotal295782.2400293938.08−1 844,1600Изменено в источнике после выгрузки.
счетаизменено после выгрузкиbqrlzflt-awqx-rn7i-izcx-ali2x5ycadxztotal101646.1900133001.64+31 355,4500Изменено в источнике после выгрузки.
счетаизменено после выгрузкиcc5vuqj2-vgmc-7idn-riq8-ehj0urdep6vxtotal292333.1700431583.93+139 250,7600Изменено в источнике после выгрузки.
счетаизменено после выгрузкиckc0hdjf-bubo-xksh-lacl-8c4rwob2kuwxtotal281728.6500283045.47+1 316,8200Изменено в источнике после выгрузки.
счетаизменено после выгрузкиfdpehbnu-patg-nurr-ovnn-erytwwpkvsfqtotal261924.3800269844.24+7 919,8600Изменено в источнике после выгрузки.
счетаизменено после выгрузкиhromaf5c-zjf8-2nhk-mb8e-gvii6hsfdgj8total71210.670073739.07+2 528,4000Изменено в источнике после выгрузки.
счетаизменено после выгрузкиlknno96n-2df0-mr7g-q0rv-9qq2ic8gqdw2total74061.290081975.23+7 913,9400Изменено в источнике после выгрузки.
счетаизменено после выгрузкиm9qovw3s-ez28-drau-9eej-jjxua8zsowqwtotal292451.9000308248.35+15 796,4500Изменено в источнике после выгрузки.
счетаизменено после выгрузкиprbpfvtb-77s9-gyxj-kbnf-raosshahd4uztotal334246.6200364628.30+30 381,6800Изменено в источнике после выгрузки.
счетаизменено после выгрузкиqyutqnak-s58h-agis-gqdj-scowsszedrpltotal109287.0000151972.20+42 685,2000Изменено в источнике после выгрузки.
счетаизменено после выгрузкиrhcydp43-mixq-gy4z-josq-clwvsj6wi7kmtotal256077.7700255682.89−394,8800Изменено в источнике после выгрузки.
счетаизменено после выгрузкиts2tmv2i-3woj-a49d-ile8-g2lfqbulzobjtotal174334.4700316022.77+141 688,3000Изменено в источнике после выгрузки.
счетаизменено после выгрузкиxxp71lld-gqwa-rtv6-patr-negnsrtz3kvttotal149657.0700173400.74+23 743,6700Изменено в источнике после выгрузки.
строки счетовизменено после выгрузки1aefkjt3-xvf5-onq5-jtax-xvartwwejnzuamount122985.3600112736.58−10 248,7800Изменено в источнике после выгрузки.
строки счетовизменено после выгрузки1aefkjt3-xvf5-onq5-jtax-xvartwwejnzuqty3633−3,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузки3kepij6g-bijr-nmvv-s6vs-ca7wugrijw5pamount32158.620029684.88−2 473,7400Изменено в источнике после выгрузки.
строки счетовизменено после выгрузки3kepij6g-bijr-nmvv-s6vs-ca7wugrijw5pqty1312−1,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиa5g9hsvz-a8kf-82ml-nblx-lei5crxmiakfamount30694.640026857.81−3 836,8300Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиa5g9hsvz-a8kf-82ml-nblx-lei5crxmiakfqty87−1,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиdpauflcm-whzy-hjon-eamk-8lgyymbutbykamount78568.990082704.20+4 135,2100Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиdpauflcm-whzy-hjon-eamk-8lgyymbutbykqty1920+1,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиfjh4mhbu-efml-ikxw-ohc7-1dj7du45kvhmamount65155.020062052.40−3 102,6200Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиfjh4mhbu-efml-ikxw-ohc7-1dj7du45kvhmqty2120−1,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиg5witler-fejn-lrpl-fucv-ds0fdp6w9vzsamount60026.510075822.96+15 796,4500Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиg5witler-fejn-lrpl-fucv-ds0fdp6w9vzsqty1924+5,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиlmnr84hu-eety-6l7c-o2n8-rd1hjmou2ashamount26006.820016718.67−9 288,1500Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиlmnr84hu-eety-6l7c-o2n8-rd1hjmou2ashqty149−5,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиlq4bqfnv-61ys-pqqw-skvg-epfjbbqvlr4camount50267.600055294.36+5 026,7600Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиlq4bqfnv-61ys-pqqw-skvg-epfjbbqvlr4cqty2022+2,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиntpkrpgi-ghka-lpal-dlez-nr0amxygr0moamount45609.690037677.57−7 932,1200Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиntpkrpgi-ghka-lpal-dlez-nr0amxygr0moqty2319−4,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиqbpp8kli-uyfo-px3w-5fpt-pbxf01ok08vsamount135512.7800143484.12+7 971,3400Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиqbpp8kli-uyfo-px3w-5fpt-pbxf01ok08vsqty3436+2,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиrdf4j32r-qouz-wotf-fbly-wuh3uyg9gmbmamount23741.820031655.76+7 913,9400Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиrdf4j32r-qouz-wotf-fbly-wuh3uyg9gmbmqty68+2,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиrpedjtii-tfde-y4iw-w1p6-vnxghrdwp4rwamount47711.430042410.16−5 301,2700Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиrpedjtii-tfde-y4iw-w1p6-vnxghrdwp4rwqty2724−3,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиwbtolnzp-os72-onca-c7rf-cdnqeoyvejewamount18526.200017964.80−561,4000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиwbtolnzp-os72-onca-c7rf-cdnqeoyvejewqty3332−1,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиwhph0ep5-0kus-gjer-rr3b-pvmc7d6u52knamount9220.80007376.64−1 844,1600Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиwhph0ep5-0kus-gjer-rr3b-pvmc7d6u52knqty1512−3,0000Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиy5qdm5tc-3qqt-rwt2-kbin-nyzdixtafwd4amount63960.460048910.94−15 049,5200Изменено в источнике после выгрузки.
строки счетовизменено после выгрузкиy5qdm5tc-3qqt-rwt2-kbin-nyzdixtafwd4qty1713−4,0000Изменено в источнике после выгрузки.
строки счетовудалена, осталась в цели4hlnrnon-3h5b-wgvj-ijw6-lfyl5uycjvxu+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиdhdeor2q-o3mg-wmdn-y4wo-hh4txefs1e9h+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиducsyikh-oymj-akfv-reso-xdkiplysigkb+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиgmjjismi-riy3-dlkn-ikln-wukmmfuhvhkv+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиietujb5s-sqgp-qnke-mevq-mlh2tc6g4vrl+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиj9gjunsm-pwsr-i7f5-rhu1-7gwoqdviqpeh+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиlr72iidn-fhma-vvcp-gppg-yexwmjualcfy+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиqqaul4uh-arsd-61ow-xbzy-fkjnh6o6iv40+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиt4iirzbx-sxnk-h9s7-6yul-fbkzxpzdbykc+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиu8zss1jf-tsru-fmv7-gz8x-i3ri5gcbxk7a+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиwlwrkaoc-jqae-msgj-lhlr-9orpzkfhqezq+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовудалена, осталась в целиxltgmcc8-ettn-q7l1-jei4-vcq8at2y5qte+1,0000Удалена в источнике после выгрузки, в цели осталась.
строки счетовповтор после перезапуска2bzexrlu-6ovg-9euz-6igl-0hhdob14ydvu+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапуска2ydhsrzs-easn-6kpl-32hm-cjlke7ahblit+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаab9sdfmu-2aa4-cyvr-lorf-o5zhza5z8mg0+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаadfcfmph-x5p7-8tvx-lh8w-lyiqua3wmpx9+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаanmzfykg-xj3g-8pp4-txwr-ggl1an1lzxar+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаbab9w6qx-ttnq-dfu1-3uvf-edxxzx6gmrvi+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаdkkuoy9m-qclb-v51y-ylvp-a5aheuhtudjy+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаfin4gbii-4f88-g5wr-ds64-rzk7ffwbxfg0+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаgkoinrmv-f7fb-xxrj-u0rr-xh9mxqip1gza+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаj9gtkl70-e8uu-enz8-9nnm-ysyggyroldwk+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаkgnk9nfx-3pqc-cpgq-jcmx-2ql0cavg554n+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаn4ub4ffk-bcx8-a0fm-shvd-dpqm5p24elsq+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаnmuoiqj1-tpxw-1dz5-wu4q-h4iuvbfo38lo+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаonlehrjw-fmnx-l26h-hw6o-yueub4tgvljh+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаrmohf5su-6hxd-vlpm-q9tn-jhywwsibfpc8+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаu1srm6gr-veqi-yzog-13oe-g8uikpnjvqjm+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаucsdnfx1-2ld6-r7vx-kyp9-ussctfkvgpia+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаxa72jw4d-3l7d-q3ht-wnzm-l8fbusdfrmhm+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаzicyyppa-utof-iwja-2ihv-xslueblpsg2x+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовповтор после перезапускаzijrurwf-vgg0-rarf-5ip6-fmr8gysiflkq+1,0000Записана дважды: перезапуск выгрузки записал её снова.
строки счетовартикул не обновлён7n1vnslb-kdx1-qtcp-b8kx-o4vprrqsex3karticleA-92005A-91005Артикул переименован в источнике, в цели остался старый.
строки счетовартикул не обновлёнebubsdsc-mxvg-jfjc-hne2-wbmjexds2xjkarticleA-92008A-91008Артикул переименован в источнике, в цели остался старый.
строки счетовартикул не обновлёнjvaqpmuk-vew5-lyz0-8fsp-olhewr0in4erarticleA-92001A-91001Артикул переименован в источнике, в цели остался старый.
строки счетовартикул не обновлёнnkbvrk05-xfv1-f0rj-d2uy-cixsbfwm4gsxarticleA-92007A-91007Артикул переименован в источнике, в цели остался старый.
строки счетовартикул не обновлёнrdrt9rsp-c3so-thiz-rudh-esljsrkwl1hyarticleA-92002A-91002Артикул переименован в источнике, в цели остался старый.
строки счетовартикул не обновлёнrhnqi0cw-tlld-9qjj-xv2l-dbwjcqn5cpctarticleA-92003A-91003Артикул переименован в источнике, в цели остался старый.
строки счетовартикул не обновлёнu4jsn4qn-umye-r9ew-dwbh-wijbaeamawslarticleA-92006A-91006Артикул переименован в источнике, в цели остался старый.
строки счетовартикул не обновлёнwhplfhkb-4p5q-ytvx-lmbt-rxnhjsybduywarticleA-92004A-91004Артикул переименован в источнике, в цели остался старый.
платежине тот счёт3e7tj8bg-shri-nvqt-1fej-9deg6imgraukinvoice_guidaji9zcdi-0rsh-mauh-vb58-gkcpzs26np5lfoyyay19-n0gy-zeub-u5qe-aamhbwp080jvПривязан к старому счёту с тем же номером.
платежине тот счётburyjvzh-ewin-jel3-rv9l-yc4ab9hgbbsrinvoice_guidlyse4nqm-n1mz-1nua-akdo-p3aneaada60tsjg779wi-ctza-x1zf-gacp-f4qco34sabdpПривязан к старому счёту с тем же номером.
платежине тот счётfduv5x6h-p5fr-kw3b-qeyc-fhmsuaibshuginvoice_guidrsnypgye-eir8-b71h-so4r-869a1i0pgqopas0l3xnq-akyv-uaeu-kzks-d36dvmnxsbueПривязан к старому счёту с тем же номером.
платежине тот счётqugx3mux-iui9-jycb-kg0o-3uvlfevxwxgvinvoice_guidlm2u3czm-lbac-wl5s-ulx4-uh07sz0ps5es6nd4i0wx-ckef-39no-h4rh-jsddmf4iugg9Привязан к старому счёту с тем же номером.
платежине тот счётs0wz1jog-bsvs-hwyy-waud-txjyyvptbtckinvoice_guidwbili1dd-egbw-gzal-ym9g-e5jezlczcz4jfybcwr4w-tfte-rqfp-teoo-dkngek6d2babПривязан к старому счёту с тем же номером.
платежине тот счётvx6xasz5-zq8q-k9ut-fxim-tiddl940kssninvoice_guidlci6smjo-ggqb-ta1e-9rjm-pwnpfegcubteugknwqmx-6pij-tjii-6cbx-ww1bvecx0lkmПривязан к старому счёту с тем же номером.

Как запустить

Оба демо с нуля: ./run.sh. Проверка загрузки как DAG в Airflow, когда его окружение настроено по README: airflow dags test load_check.

Сделал Андрей Каражев из Минска. Это мой проект о данных, которые ходят между системами и тихо перестают сходиться. Почта: hello@minihub.app