Sysadmin to 1C developer

Предисловие


Данная статья посвящена ИТ-специалистам нулевого уровня владения, как платформой 1С, так и конкретными стандартными конфигурациями. Данная статья должна ответить на вопрос: «С чего начать?»

Мой личный путь к 1С был своеобразным. Будучи программистом аналитического модуля товароучетной системы (писал на vb6), я время от времени брал работу системного администратора, а если точнее, то выполнял функции эникейщика. На четвертом году работы я остался один из старого состава ИТ-отдела, и отвечал за сеть из 60 ПК и 5 серверов. Сеть построил максимально отказоустойчивой (ввиду своей лени, даже все ПО устанавливалось как управляемое, при добавлении ПК в группу безопасности), делать стало нечего. Куда дальше? Навыки первичных обязанностей в организации не были забыты, по этому были внедрены два проекта на VB.NET и C# используя платформу .NET. Примерно в это время начал писать небольшие отчеты для конфигурации «управление торговлей» на платформе 8.1
Я не буду указывать где читать, я буд говорить, что искать для прочтения.

Кто такие 1С программисты?


Наверное часто можно услышать, что 1Эсники не программисты. Забавно конечно, но был такого же мнения, когда мне – системному администратору 1С-программист приносил флэшку с вирусами. В моей голове не укладывалось, что ИТ-специалист может себе позволить такую роскошь, как вирусы на flash накопителе. Позже мне стало понятно, что оббежав 2-3 организации и скопировав им новые отчеты, то flash накопитель нужно обязательно чистить. А вообще, бывает, что и программистов других платформ назвать программистами сложно. Разные платформы? Язык программирования на русском языке? Это же всего лишь синтаксис и возможности платформы, о которых, ты, либо знаешь, либо нет, а если и знаешь, то, либо умеешь с ними работать, либо не умеешь. А теперь я осмелюсь классифицировать 1С программистов и разделить их на три категории:
  • Бухгалтера
  • 1С программисты определенной предметной области
  • «Программисты»
Первая категория хоть и относится к конкретной предметной области, но я все же выделил их в отдельную категорию. Что самое интересное, то эта категория часто даже ничего не пишет. Да, они могут написать, но зачем? Их нанимают организации в бухгалтерию перед закрытием месяца тогда, когда бухгалтерия имеет общий низкий уровень компетенции своей предметной области. Да, эти программисты знают бухгалтерский учет. Не думаю, что читатель данной статьи, задавшийся вопросом: «С чего начать?», попадет в первую категорию, хотя всякое бывает, может лет через 10, то вполне возможно.
Я не могу описать первую категорию программистов, не процитировав Андрея Орлова и его «записки автоматизатора». Он пишет:
Я, например, вполне прилично разбираюсь в технологиях склада, магазина и оптовых продаж, то есть свободно владею менеджерским, складским, программистским и русским языками. На этих языках я понимаю их носителей, могу сформулировать свои мысли и, самое главное, думать сам. А вот бухгалтерский язык для меня – иностранный. Я понимаю написанное на нем другими, если напрягусь, и сам могу написать шаблоны проводок для хозяйственной операции, но у меня не могут появиться идеи на этом языке.
И он приводит пример такой идеи:
Нам не нужна отдельная система контроля исполнения поручений, все можно сделать в модуле „Бухгалтерия“ нашей системы: когда поручение дается, датой отчета по поручению делается проводка на штраф ответственному, а если он поручение случайно выполнит, то проводка сторнируется.
Для того, что бы стать программистом из первой категории нужно знать бухгалтерский учет и точка, остальное синтаксис, гугл и креативность.
Вторая категория – это программисты знающие конкретные конфигурации, а точнее конкретный вид учета: складской, общепит, производство. Думаю тот, кто прочитав статью, будет работать в этом направлении должен стремиться именно в эту категорию (не забыв конечно, пройти третью категорию). Собственно тут решает опыт, опыт работы с конкретной конфигурацией и работы в определенной предметной области. Если вы системный администратор и в вашей организации есть такие конфигурации, то вам пора начинать.
Третья категория. Как говориться: «Добро пожаловать». Тут мы будем клепать формочки, строить отчеты, которые работают несколько часов, будем делать умное лицо и напрягать сервера гугла.

Чего ожидать?


Давайте лучше чего не надо ожидать.
Не надо ждать четкого технического задания, забудьте вообще о нем, либо вы его себе сами пишете и утверждаете, либо у вас его не будет.
Не надо ожидать быстрого старта и хорошей оплаты. Вам нужен опыт, опыт – это оплата, а пока (как я писал выше, если вы системный администратор, и в организации есть учетные системы на платформе 1С) берите работу так, за тарелку супа и работайте.
Не надо ожидать поддержки других программистов, ваши помощники на данном этапе люди, знающие предметную область, к примеру, в складском учете – это начальник склада, если у вас складская учетная система, то начальник склада должен вам стать другом и товарищем на ближайший год. Почему год? Я думаю, сопоставив предлагаемые компенсационные пакеты своего региона, что через год обучения, можно будет подыскивать место с большим компенсационным пакетом, чем пакет системного администратора.

Быстрый старт


Администрирование 1С баз

Для того, что бы начать тренироваться писать код, вы должны уметь создать хотя бы файловую базу данных.
  • Нужно понимать четко, что такое платформа 1С и что такое конфигурация 1С, версии есть, и у платформы, и у конфигурации
  • Различия файлового и серверного режима работы. Попробовать создать базы обоих типов
  • Попробовать почитать и понять различия режимов конфигурации «Обычного приложения» и «Управляемого»

Знакомство с основными объектами

В сети много ресурсов, где можно почитать, посмотреть. На данном этапе будет достаточно ознакомиться с такими объектами как справочники, документы, регистры сведений и регистры накопления. Не надо пугаться, это все обычные таблицы, которые имеют разные свойства и методы, для удобства решения определенного круга задач автоматизации. Не надо забывать, что 1С язык – проблемно-ориентированный язык.

Изучение языка запросов

На данном этапе я бы посоветовал отойти от 1С и начать изучать SQL. Тут надо понимать, мало изучить операторы, нужно уметь ими пользоваться. Я бы посоветовал пройти обучающий этап на sql-ex.ru, ну или хотя бы процентов 50.

Изучение предметной области автоматизации

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

Заключение


На написание данной статьи побудили вопросы от системных администраторов, а именно один и главный вопрос: «С чего начать?» Также я сделал несколько видео для автоматизации системными администраторами своей собственной предметной области. Самое простое научиться автоматизировать предметную область, которую ты знаешь, я попытался показать на видео, как это сделать. Есть еще и четвертая категория 1С программистов, но об этом пойзже…

Видео













AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 32

    +3
    Один с, другой без…
      +3
      А, так вот откуда они такие берутся…
        0
        Чуть меньше месяца прошло как я перешел с такой же должности в 1С: Программисты. Спасибо за статью, за видео. Информацию сейчас таскаю отовсюду, начиная от Интуита с телефона в метро, продолжая Максимом Радченко.
        Ну и на работе уже дают легкие задания. Правда, на решение тех которые опытный программист решил бы за 30-40 минут, пока уходит до 2 дней.
        Но параллельно на меня еще текучку скидывают так, что претензий кажется никаких нет.
          +1
          Я думал, что моя статья и тема 1С получит на много больше минусов. Выходит, что я старался не зря, в следующий раз, и звук будет лучше, и орфография проверена более тщательным образом. Спасибо.
            0
            Вторая категория – это программисты знающие конкретные конфигурации, а точнее конкретный вид учета: складской, общепит, производство.

            Забросил 1С, когда понял что писать «свои» конфигурации очень невостребованная задача, которую мало кто захочет оплачивать даже «тарелкой супа». Или допиливать чужие (причем с неясными юридическими последствиями, если лезть в чужой код, а не ограничиваться внешними отчетами и обработками), или продавать свою конфигурацию как продукт с поддержкой.
              +1
              Не понятна формулировка «чужие», если это разработанные конфигурации дядей Васей, то да, а если в плане стандартных конфигураций, то их правка под нужды заказчика и есть основной заработок 1С программиста.
                0
                Да, именно стандартные (или условно-стандартные от крупных поставщиков, независимых от 1С) имелись в виду. Притом не очень понятно имею ли я право вообще лезть в их код.
                  +2
                  1С этого не запрещает, более того крупные франчайзи на основании типовых конфигураций разрабатывают и продают свои собственные конфигурации, как правило отраслевые решения
                0
                Неправильно думаете. Я разрабатываю «свои» конфигурации. Меня раздражают типовые, в них много ошибок и иногда складывается такое ощущение, что программисты 1С в самом 1С не доконца понимают механизмы работы своих товарищей, разрабатывающих платформу. В общим и целом от 300 000 до 3 000 000 за конфигурацию с" нуля" это очень не плохие деньги.
                  +1
                  Ваша верхняя планка — это оплата трехмесячной работы внедрения стандартной конфигурации.
                    0
                    Поясните?
                      0
                      Оплата внедренцам в целом, как юридическому лицу, естественно это не та сумма, которую разделят между собой непосредственные участники проекта, хотя участникам проекта, за хорошую работу, иногда перепадает лишняя «тарелка супа».
                        +1
                        Если ключевые участники проекта являются учредителями юридического лица, то им перепадает чуть больше, чем «тарелка супа».
                    +1
                    Согласитесь, что таких заказчиков немного (ну или у вас есть способы их поиска неизвестные мне, по крайней мере неизвестные лет 10 назад). Я же не говорил, что их вообще нет, я сказал, что мало.
                      0
                      У компании в которой я работаю есть методы поиска таких клиентов.
                        0
                        Согласен, ну работают на них целые команды, а не по одиночке.
                          +1
                          Есть бизнес-аналитик, который выполняет описание принципов работы, описывает бизнес-процессы, события, желаемое поведение и необходимый результат. Есть проектировщик, который выполняет построение архитектуры на основании формального описания бизнес аналитика, и выполняет подбор эффективных алгоритмов для решения конкретных задач. Далее ведущий программист выполняет оценку задач. Далее составляет дерево заданий, в соответствии с отношением обязательного предшествования. Далее координатор задач распределяет задачи между рядовыми программистами. Идеальная команда работает приблизительно в таком порядке. Но были случаи, когда я выполнял работу и архитектора и ведущего программиста и программиста рядового, разрабатывая «с нуля» в одиночку.
                        0
                        Согласен что «свои нетленки» всеже стоит разрабатывать, только вилку цен я бы раздвинул в сторону понижения.
                        Согласитесь что для мелкой фирмы, которой нужен от типовой функционал толька штучного учета без партий, но с дополнительными разрезами будет накладно платить 300 000. За конфигурацию с 10 справочниками 5 документами и 5 отчетами стоит брать и поменьше.
                        Другой вопрос стоит связываться с таким маленькими организациями. Но это уже личное дело каждого.
                      +1
                      Я бы посоветовал начать с двух книг:
                      1С: Предприятие 8.2. Версия для обучения программированию — комплект для обучения, входит в поставку конфигурация, книжки по администрированию, общий справочник и самое важное, справочник с примером разработки «по шагам». Для быстрого обучения очень полезен.
                      Профессиональная разработка в системе 1С: Предприятие 8" (+DVD-ROM). Издание 2 — это наиболее полный, из ныне существующих, настольный справочник в котором есть все, что прямо или косвенно связано с 1С, начиная с разбора всех подсистем и механизмов, с помощью которых можно строить конфигурации и заканчивая правилами представления таблиц базы данных 1С в базах данных типа MS SQL.
                        0
                        «На данном этапе я бы посоветовал отойти от 1С и начать изучать SQL. Тут надо понимать, мало изучить операторы, нужно уметь ими пользоваться.»
                        А зачем переходить на SQL, если язык запросов в 1С довольно мощный и повторяет во многом инструкции SQL.
                          0
                          Могу назвать много причин, пока назову одну, я не видел ресурса, кроме приведенного мною в пример, где можно бы было потренироваться в написании запросов, а этот ресурс предлагает тренироваться именно на sql.
                            0
                            Да, причина достойная.
                            Конечно, ничего плохого в том, чтобы изучить параллельную технологию и первоисточник нет.
                            В 1с есть консоль отчетов, которая тоже позволяет получать быстрые результаты, правда без проверки роботом, как в случае веб-ресурса SQL.
                            0
                            В языке запросов 1С есть некоторые неочевидные вещи, которых нет в чистом SQL, синтаксический сахар, который дорого обходится в смысле производительности. Чего стоит разыменование — немало запросов работает ужасно, потому что программисту проще поставить лишнюю точку, чем сделать явный JOIN. К тому же возможности скромней SQL-ных — полноценного преобразования типов нет, скажем(«приведение» не в счёт).
                            З.Ы. Зато в 1С весьма удобный конструктор запросов, больше нигде не встречал такого.
                              0
                              Ну все эти джоины делает сама платформа, так что ничего плохо не вижу в удобстве обращения через точку. Да, порой не хватает подзапроса в селекте, иногда очень нужен, но научился и без него жить. Ну а типы — да, очень не хватает.
                                0
                                У разыменования есть оборотная сторона: в случае полей составных типов(любая ссылка, любой справочник, любой документ) джоин делается с КАЖДОЙ возможной таблицей, а нужны чаще всего одна-две.
                                Подзапросы вроде есть везде, где можно, не понял, о чём вы.
                                  0
                                  Только вот условие на тип значения так же можно запихнуть в джоин. Попробуйте использовать подзапрос в «ВЫБРАТЬ», как это делают в SQL в «SELECT»
                                    0
                                    >Только вот условие на тип значения так же можно запихнуть в джоин.
                                    Когда он явный — так и надо делать, но в данном случае(обращение через точку) он неявный, где условие-то указывать? В WHERE — не помогало.
                                    >Попробуйте использовать подзапрос в «ВЫБРАТЬ», как это делают в SQL в «SELECT»
                                    Не понял проблемы, в любой типовой полно таких запросов. Вот выдрал из УТ11:
                                    ВЫБРАТЬ
                                    	ИзмененныеВнешниеПользователиИРоли.ВнешнийПользователь,
                                    	ИзмененныеВнешниеПользователиИРоли.Роль
                                    ИЗ
                                    	(ВЫБРАТЬ
                                    		НовыеРолиВнешнихПользователей.ВнешнийПользователь КАК ВнешнийПользователь,
                                    		НовыеРолиВнешнихПользователей.Роль КАК Роль
                                    	ИЗ
                                    		НовыеРолиВнешнихПользователей КАК НовыеРолиВнешнихПользователей
                                    	ГДЕ
                                    		НовыеРолиВнешнихПользователей.ВнешнийПользователь В
                                    				(ВЫБРАТЬ
                                    					ИзмененныеВнешниеПользователи.ВнешнийПользователь
                                    				ИЗ
                                    					ИзмененныеВнешниеПользователи КАК ИзмененныеВнешниеПользователи)
                                    	
                                    	ОБЪЕДИНИТЬ
                                    	
                                    	ВЫБРАТЬ
                                    		ВнешниеПользователи.Ссылка,
                                    		""
                                    	ИЗ
                                    		Справочник.ВнешниеПользователи КАК ВнешниеПользователи
                                    	ГДЕ
                                    		ВнешниеПользователи.Ссылка В
                                    				(ВЫБРАТЬ
                                    					ИзмененныеВнешниеПользователи.ВнешнийПользователь
                                    				ИЗ
                                    					ИзмененныеВнешниеПользователи КАК ИзмененныеВнешниеПользователи)) КАК ИзмененныеВнешниеПользователиИРоли
                                    
                                    УПОРЯДОЧИТЬ ПО
                                    	ИзмененныеВнешниеПользователиИРоли.ВнешнийПользователь,
                                    	ИзмененныеВнешниеПользователиИРоли.Роль
                                      0
                                      Ну и где же у вас подзапрос в селекте?
                                      ВЫБРАТЬ ИзмененныеВнешниеПользователиИРоли.ВнешнийПользователь, ИзмененныеВнешниеПользователиИРоли.Роль ИЗ

                                      В случае через точку вяжите явно, кто вам не дает?
                                        0
                                        Я не понял, что вы имеете в виду под «подзапросом в селекте», учитывая, что запросы в 1С — это и есть оператор SELECT с некоторыми расширениями. Можно пример?
                                        >В случае через точку вяжите явно, кто вам не дает?
                                        Речь не обо мне, а о том, что сталкивался с чужими запросами в таком стиле. По-моему это явный результат изучения запросов непосредственно по 1С, без знания SQL.
                                          0
                                          Я не понял, что вы имеете в виду под «подзапросом в селекте», учитывая, что запросы в 1С — это и есть оператор SELECT с некоторыми расширениями. Можно пример?

                                          Допустим select tbl1.field1, (select max(tbl2.field2) from tbl2 where tbl2.field1=tbl1.field2), tbl1.field2 from tbl1 — в 1С такое не реализуемо.
                                          Речь не обо мне, а о том, что сталкивался с чужими запросами в таком стиле. По-моему это явный результат изучения запросов непосредственно по 1С, без знания SQL.

                                          Согласен, вот по этому всегда советую сначала изучать sql, а потом приступать к изучению языка запросов 1С
                                            0
                                            А, подзапрос в выражении для поля… Можно извратиться и получить такой же результат, хотя это будет сложнее, конечно.
                                0
                                Мало того что конструктор удобный, кроме этого очень удобная система работы с результатами запроса и визуализацией их на экране.
                                Притом эти запросы (уже можно говорить отчеты) перестраивает и настраивает сам пользователь. Сам настраивает группировки и последовательности строк. Что тоже довольно удобно.

                            Only users with full accounts can post comments. Log in, please.