Что знает программист 1С
Ходит расхожее мнение, что программист 1С - это не программист, а так, писатель скриптов.
Что любой выпускник технаря будет успешным в 1С, это, мол, легко.
Ну что же, рассмотрим, что должен знать успешный программист 1С - все эти навыки он получает за годы работы в отрасли, от них никуда не уйти.
1. Классическое программирование - условия, циклы, функции.
2. Работа в IDE - разработка форм, описание событий форм, напиание кодов алгоритмов в IDE.
3. Знание языка SQL в практически полном объеме, т.к. в 1С используется SQL-подобный язык - выборка, соединения, временные таблицы, удаление данных.
4. Знание как устроен COM в Windows - хотя бы как создавать и использовать COM-объекты, т.к. 1С выступает как COM-объект.
5. Знать XML, методы потоковой обработки XML и обработки XML в виде дерева (DOM-архитектура).
6. Знать торговое оборудование - весы, сканеры. Как они подключаются к COM-портам, какие драйверы для них используются, как они пробрасываются через RDP.
7. Уметь на начальном уровне администрировать SQL-сервер (MS SQL, Postgree), чтобы развернуть базу, настроить её, настроить обслуживание и бэкапы.
8. Знать скриптовые языки операционной системы на начальном уровне, чтобы реализовать задачи по расписанию, т.к. в файловых версиях базы нужно вызывать 1С из планировщика.
9. Знать многие теоретические математические алгоритмы из теории обслуживания, сортировки, распределения ресурсов, линейного программирования. Т.к. 1С решает управленческие задачи, то часто нужно реализовывать на практике задачи FIFO, оптимизации расходов, раскроя, логистики и т.п. Большинство информации можно получить от заказчика, но необходимо хорошее знание математического аппарата, чтобы понимать о чем идет речь.
10. Знать в совершенстве Excel и его объектную модель VBA. Часто решается перевод учета из Excel в 1C, тут необходимо глубокое знание Экселя.
11. Знать как работают HTTP-сервисы и SOAP. Веб-сервисы сейчас востребованы и широко используются для интеграции с 1С.
12. Знать, как устроено FTP, умение работать с FTP. Для синхронизации часто используется FTP.
13. Знать основы бухгалтерского учета, складской и транспортной логистики, финансового учета, организации производства. Эти знания приобретаются в процессе работы, но изначально их наличие облегчает и ускоряет работу. Также при работе нужны отраслевые знания - алкоголь, транспорт, запчасти, и т.п.
14. Т.к. алгоритмы в 1С очень плохо документированы, то необходимо умение разбираться в чужом коде, отличные навыки отладки и трассировки.
Многие считают, что программисты 1С не являются программистами, т.к. они пишут на платформе и не могут написать отдельное приложение, которое на выходе дает EXE-файл.
Да, они действительно работают на платформе, но задачи, которые им приходятся решать, ничуть не проще чем те, которые стоят перед программистом на Си, Си шарп и Ассемблере.