Собираем
информацию
по крупицам
Новости


Новости

Как это делают: автоматизация крупного предприятия
04-02-2016
15:55:53

Сегодня залил на GitHub исходники очень нужной, полезной и, не побоюсь этого слова, эксклюзивной программы, написанной за один день.

 

ClipFixer - пример Qt-проекта, в котором демонстрируется работа с буфером обмена


Данная программа написана в рамках говноавтоматизации сметно-договорного отдела промышленной организации, в которой я сейчас работаю.

 

Задача:


Оператору передаются Excel-файлы смет, каждый экземпляр которых создан со всей сопутствующей фантазией. Единой формы нет, единых принципов составления нет. Единственное, что объединяет эти файлы - шапка сметы, которая содержит почти единообразное кол-во столбцов и почти похожие наименования столбцов. Проблема в том, что один и тот же столбец сметы в разных файлах может занимать разное количество ячеек по ширине (от 1 до 80). И одна запись в смете по высоте может занимать от 1 до 10 ячеек. Кто как захотел, тот так и сделал.

 

Учитывая, что в организации 8 отделов и 2 сторонних организации, а в каждом отделе (организации) пара человек занимается сметами, и каждый человек составляет сметы примерно в двух-трех различающихся форматах, имеем около 50 различных форматов смет. Всего смет около 3000.

 

Сметно-договорной отдел должен ежемесячно формировать из этого зоопарка итоговую смету, в один лист которой попадают работы из других файлов смет. А так как все сметы разные, то после копи-паста приходится много править вручную.

 

Внедрять автоматизированную систему для работы со сметами никто не собирается, требовать от всех единого формата никто не решается, поэтому задача была сформулированна так: сделайте что-нибудь, чтобы мы могли быстрее обрабатывать сметы.

 

Решение:

 

Ну что же, вот вам программа с волшебной кнопкой "Сделать хорошо".

Окно программы имеет два элемента управления: выбор формата сметы и волшебная кнопка. В формате сметы указывается, сколько ячеек по ширине занимает каждый столбец. Пользователь копирует в буфер обмена строку (строки) из исходной сметы, нажимает волшебную кнопку, и в буфере обмена размещаются преобразованные ячейки, объединенные согласно формату.

Пользователь имеет возможность самостоятельно создавать форматы смет. Так же в программе предусмотрен отладочный режим, который позволяет просматривать исходное и преобразованное содержимое буфера обмена.

 

Код:

 

Код сделан в лучших традициях говнокодинга. Работает, и ладно.

 

Скриншоты:

 

Стандартный вид:

 

 

Расширенный вид:

 

 

Желаю всем программистам никогда не писать подобные программы.

 



Интересное на сайте


Демо на языке C » KSI Demo

Требования: Windows 95/98/XP или Linux Год: 2004   Пробная демка под Linux, сделанная с помощью мультиплатформенной библиотеки SDL. За основу вз...


Игры под Windows » Shareholder (Акционер)

Игра, написанная вместе с Сергеем Шпаковым. Разработка застыла на этапе глубокой беты. Шпаков сделал интерфейс и хотсид, я писал искуственный интеллек...


Интерфейс и юзабилити » Оформление кода: Почему я выбрал для себя отступ в 2 пробела?

В мире программирования существует достаточно холиварная тема: "Каким должен быть отступ в коде"?   Оставим за бортом споры по теме "Форматироват...

RSS подписка

Подпишитесь на новости сайта по RSS

Поделиться этой страницей


Статистика


О, смотри-ка какое хорошее место. Дайте два!

Внимание!


На этом сайте разрабатывается программа MyTetra и её родственные проекты. Доступны к просмотру следующие базы знаний:

 

База Xintrea (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)

База Rarrugas (1, 2)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

База Anatolean

База Аrmagedec

База SorokinRed

База Deadelf79

База Fadk

 

Требуют доработки:

 

База Tairesh

База Ivnglkv

База Kolyag87

База Andyk101

База Garik456456

База Harpokrat

База SalexIzyh

База Duwaz

 

Подробности на странице MyTetra Share.

 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик