Современные гаджеты. Здоровье и красота
Поиск по сайту

Разработка 1с системы с чего начать

В этой статье я попытаюсь Вам рассказать. как с нуля, в кратчайшие сроки, изучить 8.3 и 8.2. Причем не только изучить, но и монетизировать свои знания .

Начало — самое трудное в любом деле. Чтобы совершить первый шаг. я рекомендую ознакомиться с предметной областью — бухгалтерией, торговлей, учетом з/п. Начать следует с понимания торговли: требуется знание основных бизнес-процессов любой компании: покупка товаров/сырья, продажа товара и т.д. Следующий шаг — понимание основ бухгалтерского учета.

Вы должны представлять общие принципы бухучета. Не пытайтесь сразу, с нуля, понять всё — не получится. Если Вы технарь-программист, Вы не обязаны знать бухгалтерский учет лучше бухгалтеров и учить их этому искусству.

Для обучения программе 1С 8.3 с нуля, в виде практической части, рекомендую установить самые распространенные типовые конфигурации — « » и « «. Создайте в базе тестовую организацию, проведите , сделайте и т.д. Проведите в программе 1C все действия, встречающиеся в повседневной жизни предприятия.

Начинаем программировать в 1С

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

Получите 267 видеоуроков по 1С бесплатно:

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

Разъясните для себя, что такое , . Особо важный пункт в изучении программирования 1С — встроенный . Без него невозможно эффективно получать данные из системы. Возможно, для интереса, Вы можете найти знакомых, которым нужна была своя «уникальная» программа. Вы можете договориться с ними о разработке такой программы бесплатно или за небольшое вознаграждение. В таком случае Вы получите не только навыки программирования на живом примере, но и опыт общения с заказчиком, что на деле является очень важным свойством .

Сейчас Вам как никогда требуется самомотивация, необходимость много работать и впитывать новую информацию как губка. Каждый день Вы будете узнавать что-то новое, интересное (завидую вам 🙂 ). На этом этапе изучения программирования 1С с нуля из материалов я бы порекомендовал:

  • Начать читать программированию, начиная с самых простых (вроде «Простых примеров разработки»). Скорее всего, Вы не будете сразу понимать всё, но информация отложится в Вашей памяти, и её можно будет использовать в дальнейшем.
  • Просмотр онлайн- очень полезная и наглядная информация, тем более что достать большинство из них можно бесплатно.
  • Чтобы начать решать реальные практические задания, зарегистрируйтесь на бирже фриланса 1С и начните решать задания из архива. Тем самым Вы не только получите реальный опыт, но и поймете, какие виды услуг на рынке сейчас востребованы.

Монетизируем знания в 1С

Через некоторое время мы становимся этаким Middle 1C developer. Мы уже понимаем архитектуру 1С 8.2, умеем отличать дебет от кредита, смело общаемся с клиентом — в общем, мы полноценные специалисты, прошедшие этот путь с нуля. Становится вопрос — монетизация знаний. На самом деле, рынок услуг 1С чрезвычайно большой. И зарабатывать на нём можно очень приличные деньги. Рассмотрим основные способы продажи своих услуг:

Работа в 1С-Франчайзи

Огромный плюс — берут специалистов 1C с нуля. Работа в фирме-франчайзи 1С — путь постоянного развития. Вы точно будете узнавать каждый день что-то новое, интересное. Основной плюс франчайзи, на мой взгляд, — неограниченная сверху планка заработной платы (если Вы работаете на почасовой ставке). По опыту могу сказать, во франчайзи можно зарабатывать очень неплохие деньги — всё зависит от Вашей выработки. Когда зарплата завязана на выработке, это очень мотивирует.

Необходимо всегда искать креативные варианты повышения выработки часов. Например, создать универсальную обработку, которую можно продавать всем клиентам. Работы в фирмах-франчайзи, как правило, огромное количество. У опытных программистов 1С получается «закрывать» до 300 часов в месяц, что в пересчете на среднюю ставку программиста 1С получается довольно неплохо. Мой личный рекорд — 400 часов.

Работа фрилансером/свой бизнес в 1С

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

Работа на внутреннем проекте («фикси»)

Встроенный язык программирования 1С:Предприятие - язык программирования , который используется в семействе программ «1С:Предприятие ». Данный язык является предварительно компилируемым предметно-ориентированным языком высокого уровня.

Средой исполнения языка является программная платформа «1С:Предприятие». Визуальная среда разработки («Конфигуратор») является неотъемлемой частью пакета программ «1С:Предприятие».

Диалекты языка для платформ 1С 7 версий (7.0, 7.5, 7.7) совместимы «снизу вверх» с незначительными исключениями. Языки для платформ 1С:7х и 1С:8х совместимы по основным операторам, но значительно отличаются в работе с прикладными объектами, вследствие чего перенос кода из 1С:7х в 1С:8х не имеет смысла.

Встроенный язык 1С:8 наиболее подобен по своему синтаксису языку Visual Basic .

Платформой предоставляется фиксированный набор базовых классов, ориентированных на решение типовых задач прикладной области:

  • Константа,
  • Справочник,
  • Документ,
  • Журнал документов,
  • Перечисление,
  • Отчет,
  • Обработка
  • План счетов и др.

На основании базовых классов средствами визуального конфигурирования можно создавать любое количество порождённых классов (возможность определить новый класс программно - отсутствует). Допускается только одна явная ступень наследования классов. Как правило, объекты порождённых классов представляют собой записи (или некоторые наборы записей) в базе данных. Такие классы образуют «Дерево метаданных». В терминах встроенного языка программирования 1С такие классы называются объектами метаданных.

Основными видами объектов метаданных являются: Справочники, Документы, Отчеты, Обработки, Планы видов характеристик, Планы счетов, Планы видов расчета, Регистры сведений, Регистры накопления, Регистры расчета, Бизнес-процессы, Задачи.

Поддерживаются русский и английский синтаксис команд.

Проекты на встроенном языке 1С:Предприятия называются конфигурациями. Распространение (продажа) и внедрение таких конфигураций - это основная коммерческая деятельность фирм-партнёров 1С.

Рабочее название языка - «1Сик» («одинэсик») - очень быстро исчезло из официальных источников. Сейчас при упоминании этого языка в письменных документах нужно писать 1С Язык программирования . Сейчас язык не имеет никакого названия, которое можно было бы произнести устно. Впрочем часто этот язык называют «встроенный язык», в контексте обсуждения 1С:Предприятия.

Объектно-ориентированные диалекты

Существует несколько дополнительных компонентов, расширяющих основные классы, их свободное добавление и изменение; фирмой- разработчиком они не рекомендованы к использованию. Это означает, что фирма 1С и её франчайзи отказываются от какой-либо технической поддержки конфигураций, использующих такие компоненты.

Более того - существует полностью свободный проект 2C , не использующий каких либо проприетарных модулей фирмы 1С или других производителей. Это переписанное «с нуля» свободно распространяемое под лицензией GPL расширяемое ядро 1С -подобной системы, в котором даже такие «встроенные объекты» 1C как справочники и регистры - переопределяемые прикладным программистом классы .

Язык платформы 2С проектировался с целью максимальной преемственности с существующими для 1С наработками, и является расширением базового языка 1С. Путём написания соответствующих базовых классов язык 2С может быть приближен как к 1С 7.7, так и к 1С 8.0, хотя 2С:Платформа и не может обеспечить 100 % автоматическую переносимость конфигураций из той или иной версии 1С:Предприятия.

1C.Net:Предприятие

Для облегчения использования 1С.Net:Предприятие подготовлено множество примеров, охватывающих практически весь.NET framework , включая примеры интеграции родных элементов управления.NET в 1С-формы .

Пример программы

Классический пример вывода текстовой строки встроенный язык 1С:Предприятие 7.7:

Сообщить("Здравствуй, Мир!");

Пример функции, возвращающей квадрат числа:

Функция КвадратЧисла (прЧисло )

Возврат прЧисло * прЧисло ;

КонецФункции

См. также

  • RSL - язык программирования, встроенный в RS-Balance.

Примечания

Ссылки


Wikimedia Foundation . 2010 .

Смотреть что такое "Встроенный язык программирования 1С:Предприятие" в других словарях:

    Встроенный язык программирования 1С:Предприятие Класс языка: процедурный, предметно ориентированный Тип исполнения: предварительно компилируемый Автор(ы): 1С Последняя версия: 1С:Предприятие 8.2 Типизация данных: динамическая типизация Основные… … Википедия

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

    Языке такие языки программирования, которые, в отличие от большинства распространенных языков, не используют ключевые слова, взятые из английской лексики. Содержание 1 Преобладание языков программирования, основанных на английском … Википедия

    Языки программирования, основанные не на английском языке такие языки программирования, которые, в отличие от большинства распространенных языков, не используют ключевые слова, взятые из английской лексики. Содержание 1 Преобладание языков програ … Википедия

    Языки программирования, основанные не на английском языке такие языки программирования, которые, в отличие от большинства распространенных языков, не используют ключевые слова, взятые из английской лексики. Содержание 1 Преобладание языков… … Википедия

    Язык программирования формальная знаковая система, предназначенная для записи программ. Программа обычно представляет собой некоторый алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор… … Википедия

    Проверить нейтральность. На странице обсуждения должны быть подробности … Википедия

    - (англ. Mutable type) сложный тип данных в объектно ориентированном программировании, значения которого (как правило объекты) после своего создания допускают изменение своих свойств. Содержание 1 Примеры … Википедия

    Класс языка: процедурный, объектно ориентированный Тип исполнения: интерпретируемый Появился в: 1994 Автор(ы): Сергей Кубрин Расширение файлов: mac … Википедия

Книги

  • 1 С: Предприятие. Эффективное программирование , Т. Н. Усиков , Описан встроенный язык программирования пакета "1 С: Предприятие", методы настройки и конфигурирования системы с его помощью. Дополнительно содержит необходимый минимум сведений об… Издатель:

Язык 1С весьма прост в изучении по сравнению с любым другим языком программирования.

На территории России для многих большое значение имеет то, что можно писать код прямо на русском языке. «Можно» – значит не обязательно — можно писать и на английском, все операции и операторы имеют английский синоним.

Мы изучим язык 1С между делом сейчас, за пять минут.

Общие принципы программирования

Вне изучения языка, для тех кто не сталкивался с программированием, стоят общие принципы. Остальные — читайте дальше.

Программирование – это написание программного кода на программном языке.

Программный код – это последовательность команд (слов), которые поддерживает этот язык программирования.

Команды делятся на:

  • Переменные
  • Операторы
  • Функции и процедуры.

Рассмотрим их в первом приближении.

Переменные

Переменные

Есть цифра 12. Это значение. Сама по себе эта цифра нигде не хранится. Подули и ее уже нет 🙂 Она должна где-то храниться. Переменные – это место хранения значений. Переменная может называться любым словом.

Например:
Чтото = 12;
Чтото = Чтото + 10;
Сообщить(Чтото); //будет выведено «22»

Переменная, которая является частью объекта 1С (например поле справочника) и хранится в базе данных – называется реквизит.

В 1С переменные не типизированы, это значит, что одной и той же переменной сначала можно назначить значение одного типа (например цифру), а потом другого типа (например строку) и ошибки не будет.

Однако реквизиты объектов – типизированы. Но проверки на типы при этом не происходит. Мы можем попытаться назначить реквизиту значение не того типа. 1С попытается его преобразовать (например из цифры в строку), но если не получится, то значение реквизита останется пустым.

Длина строки в переменной – неограниченная. Длина строки реквизита – задается точно, но можно задать неограниченную (поставив длину строки 0).

По буквам к строке обращаться нельзя. Но можно искать или выделять части (Найти(), Лев(), Прав(), Сред()).

Сложные переменные

Если значение одно – это просто. А когда значений – много?

  • Массив

    Это одна колонка Excel. В каждой ячейке – переменная. У нее одно название, так же как и у обычной переменной. А к ячейке можно обратиться по номеру.

    Чтото = Новый Массив;
    Чтото.Добавить(22); //в ячейке 1 значение 22
    Чтото.Добавить(33); //в ячейке 2 значение 33
    Сообщить(Чтото); //выводим значение 1й ячейки

  • СписокЗначений

    То же, что и массив, только к каждой ячейке можно подписать комментарий.

    Чтото = Новый СписокЗначений;
    Чтото.Добавить(22, «Это 22»); //в ячейке 1 значение 22
    Чтото.Добавить(33, «Это 33»); //в ячейке 2 значение 33
    Сообщить(Чтото.Получить(0).Значение); //выводим значение 1й ячейки
    //а могли бы вывести и комментарий, тогда бы написали.Представление а не.Значение

  • ТаблицаЗначений

    Это – уже полноценная страница Excel со строчками и колонками.
    Как с ней работать – посмотрим в другом уроке.

  • ДеревоЗначений

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

Обратите внимание – нумерация ячеек в 1С начинается не с 1, а с 0.

Программирование 1С

Если Вам необходимо вспомнить где происходит написание программы в 1С — мы обсуждали это в .

Строки программы

Строки заканчиваются на точку с запятой «;».

Комментарий начинается с «//» — то есть эта строчка или часть строчки не будет выполняться и будет пропущена.

Значение строк нужно указывать в кавычках «Значение». Если нужно указать в значении кавычку, то она удваивается – «Значение ««а»»!».

Значение строки может быть с включением переноса строки, тогда в начале следующей строки должен стоять «|», например:

«Это начало
| и продолжение значения»

Если нужно указать специальные символы в значении строки, для этого есть специальный объект: «Символы.», например:

«Это начало» + Символы.ПС + «и продолжение значения» //ПС – перенос строки

Операторы

Это конструкции языка, которые заложены в нем самом и позволяют создавать простейшую последовательность выполнения программы.

  • Условие

    Определенные строки кода будут выполнены если будет выполнено условие.

    Чтото = 12;
    Если Чтото 200 Тогда
    Сообщить(«Условие выполнено»);
    ИначеЕсли Чтото > 200 Тогда
    Сообщить(«Условие не выполнено»);
    Иначе
    Сообщить(«Что-то еще»);
    КонецЕсли;

  • Цикл

    Определенные строки кода будут выполнены указанное количество раз.

    //считаем по-одному
    Для Чтото = 1 по 20 Цикл
    Сообщить(Чтото);
    КонецЦикла;

    //считаем по-другому
    Чтото = 1;
    Пока Чтото

    //если у нас список значений, то можно обойти каждое из его значений
    Чтото = Новый СписокЗначений;
    Для каждого ЗначениеСписка из Чтото Цикл
    Сообщить(ЗначениеСписка.Значение);
    КонецЦикла;
    //обратите внимание, что «ЗначениеСписка» - это переменная, она может называться как угодно

    Для того, чтоб прервать цикл, можно внутри написать команду «Прервать», для того чтобы прервать только одну итерацию цикла – команду «Продолжить».

Работа с объектами

Все объекты, с которыми мы работаем в языке – является полноценными объектами, то есть могут иметь свои данные и свои методы.

Объекты языка создаются с помощью команды «Новый», например:

Чтото = Новый Массив();
Чтото = Новый СписокЗначений();
И т.п.

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

Например:

Справочники.Номенклатура.СоздатьЭлемент();
Документы.Накладная.НайтиПоНомеру(«…»);

Свои объекты программировать нельзя, как и наследовать или переопределять типовые.

Ошибки

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

Например если написать в коде внешней обработки:

Справочники.Номенклатура.НайтиПоКоду(«…») и открыть эту обработку в базе, где нет справочника с названием Номенклатура, то будет ошибка.

Чтобы этого не произошло, можно использовать следующую конструкцию:

Попытка
Справочники.Номенклатура.НайтиПоКоду(«…»);
Исключение
Чтото = ОписаниеОшибки();
Сообщить(«Ой-ой-ой»);
Сообщить(Чтото);
КонецПопытки;

Если в момент выполнения строчек программы между Попытка и Исключение возникнет ошибка, то выполнение будет прервано и перейдет на строчки между Исключение и КонецПопытки. Если не будет ошибки – эти строчки не будут выполнены.

Функция ОписаниеОшибки() работает только между Исключение и КонецПопытки и возвращает описание произошедшей ошибки.

Функции и Процедуры

Функции и Процедуры – это способ взять несколько строчек кода и назвать их каким-то словом, как переменную. Когда мы потом напишем ее название в другом месте – будет вызвана эта функция (то есть выполнены эти строки кода).

Мы неоднократно обсуждали методы объектов и обработчики событий. Функции и процедуры и являются этими методами и обработчиками.

//Программируем
Процедура КакоетоДействие()
Сообщить(«Чтото»);
КонецПроцедуры

//Вызываем
КакоетоДействие();

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

Как программировать

Теперь, когда Вы познакомились с языком 1С, .

Программирование проводится в модуле. Соответственно Вы должны найти нужный модуль и написать там код программы.

Пример разработки внешней обработки ():

  • Создаем внешнюю обработку
  • – будет выполнен по открытию обработки в режиме Предприятие и по нажатию кнопки
  • Или открываем модуль объекта обработка и пишем код там – будет выполнен сразу при открытии в режиме Предприятие.

Программированию конкретных объектов языка 1С мы коснемся в ближайших уроках.

Откройте ее в конфигураторе и Вы можете посмотреть программу или изменить ее.

Программный код написан в модуле объекта обработки.

24
июл
2015

Программирование в 1С:Предприятие 8.3 (Сергей Кашаев)

ISBN: 978-5-496-01234-8
Формат: PDF, eBook (изначально компьютерное)
Сергей Кашаев
Год выпуска: 2014
Жанр: Программирование, прикладные программы
Издательство: Питер
Язык: Русский
Количество страниц: 304

Описание: Как самостоятельно освоить приемы разработки конфигурации и модификации прикладных приложений в среде 1С:Предприятие 8.3? Каким арсеналом средств вооружает программиста новейшая версия платформы? Ответы на эти вопросы предлагает данная книга, на практике знакомящая читателя со встроенным языком программирования и системным отладчиком, редакторами и конструкторами, системой компоновки данных, инструментами анализа и построения диаграмм. Подробно изложена вся требуемая последовательность действий, приведены необходимые справочные сведения по используемым средствам и языку. Теоретические сведения подкреплены многочисленными примерами, которые помогут разработчику максимально использовать все возможности, предоставляемые версией 8.3.


31
мая
2014

Азбука программирования в 1С. Предприятие 8.2 (Игорь Ощенко)

ISBN: 978-5-9775-0852-0
Формат: PDF, OCR без ошибок
Автор: Игорь Ощенко
Год выпуска: 2013

Издательство: БХВ-Петербург
Язык: Русский
Количество страниц: 272
Описание: Обучение программированию и конфигурированию в 1С:Предприятие 8.2 ведется по принципу "делай как я". Программный код подробно комментируется и разбирается на примерах. Вы научитесь самостоятельно устанавливать систему 1С:Предприятие и подключать к ней любое количество баз данных, дорабатывать и поддерживать работающую конфигурацию, разрабатывать новые отчеты различной сложности, овл...


04
мая
2015

1С: Предприятие 8. Управление торговыми операциями в вопросах и ответах. 7-е издание (Богачева Т. Г.)

ISBN: 978-5-9677-2296-7

Автор: Богачева Т. Г.
Год выпуска: 2015
Жанр: Компьютерная литература
Издательство: 1С-Паблишинг
Язык: Русский
Количество страниц: 978
Описание: В книге рассматриваются вопросы начального заполнения данных и регистрации различных торговых операций в программе "1С:Управление торговлей 8", редакция 11. Оформление торговых операций продемонстрировано на конкретных примерах, основанных на данных, которые включены в демонстрационную базу программы "1С:Управление торговлей 8", редакция 11 (версия 11.1.9). Информация в книге предс...


08
янв
2009

1С Предприятие 8.0 А.Гладких

Формат: PDF, Отсканированные страницы
Год выпуска: 2005
Автор: А.Гладких
Жанр: учебная литература
Издательство: Тритон
Количество страниц: 259
Описание: Настоящее руководство адресовано пользователям системы «1C: Предприятие» версии 8.0 и дает полное описание функциональных возможностей и приемов работы с данной системой.


05
мар
2014

1С:Бухгалтерия 8.2 для бухгалтера (Николай Селищев)

ISBN: 978-5-49807-938-7
Формат: PDF, eBook (изначально компьютерное)
Автор: Николай Селищев
Год выпуска: 2011
Жанр: Компьютерная литература
Издательство: Питер
Серия: 1Специалист
Язык: Русский
Количество страниц: 400
Описание: Подробное иллюстрированное практическое руководство по работе с новейшим и самым современным программным продуктом по ведению бухгалтерского и налогового учета на предприятиях любых форм собственности - программе "1С:Бухгалтерия 8.2". Эта книга знакомит читателя с процессом ведения бухгалтерского и налогового учета с использованием всех новых возможностей программы "1С: ...


01
ноя
2013

1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих (Алексей Гладкий)

ISBN: 978-5-9775-0768-4
Формат: PDF, eBook (изначально компьютерное)
Автор: Алексей Гладкий
Год выпуска: 2012
Жанр: Компьютерная литература
Издательство: БХВ-Петербург
Язык: Русский
Количество страниц: 288
Описание: Книга предоставляет полное описание приемов и методов работы с программой "1С: Управление небольшой фирмой 8.2". Показано, как автоматизировать управленческий учет всех основных операций, а также автоматизировать процессы организационного характера (маркетинг, построение кадровой политики и др.). Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с пе...


23
июн
2007

Жанр: Программирование
Автор: Хомоненко А.Д.
Страна: Россия
Количество страниц: 252
Описание: Содержит систематическое изложение основных приемов программирования на языке
С++: описание типов даных, объявление переменных, организация разветвлений и циклов, описание и использование массивов, указателей, функций. Рассматриваются понятия и приёмы объектно-ориентированного программирования. Описываеттся технология разработки программ в среде Borland C++ Builder.
Формат: PDF


10
фев
2010

Программирование в Delphi глазами хакера (Флеиов М. Е.)

ISBN: 5-94157-351-0
Формат: PDF, eBook (изначально компьютерное)
Год выпуска: 2003
Жанр: Програмирование
Издательство: БХВ-Петербург
Язык: Русский
Количество страниц: 368
Описание: ГЛАВА 1. МИНИМИЗАЦИЯ И НЕВИДИМОСТЬ ГЛАВА 2. ПРОСТЫЕ ШУТКИ ГЛАВА 3. СИСТЕМА ГЛАВА 4. ПРОСТЫЕ ПРИЕМЫ РАБОТЫ С СЕТЬЮ ГЛАВА 5. СЕТЬ НА НИЗКОМ УРОВНЕ ГЛАВА 6. ЖЕЛЕЗНАЯ МАСТЕРСКАЯ ГЛАВА 7. ПОЛЕЗНОЕ
Доп. информация: Все нужные программы вы можете найти здесь =


25
янв
2014

Программирование под Android (Брайан Харди, Билл Филлипс)

ISBN: 978-5-496-00502-9
Формат: PDF, eBook (изначально компьютерное)
Автор: Брайан Харди, Билл Филлипс
Год выпуска: 2014
Жанр: Программирование
Издательство: Питер
Серия: Для профессионалов
Язык: Русский
Количество страниц: 592
Описание: Эта книга научит вас всем тонкостям разработки приложений для мобильных устройств, работающих на популярной операционной системе Android. Основанное на учебном курсе известного образовательного IT-проекта Big Nerd Ranch, это издание содержит ключевые концепции программирования в Android, разъяснение API и множество примеров кода и упражнений. В процессе рабо...


24
мар
2014

Программирование для Android. Самоучитель (Денис Колисниченко)

ISBN: 978-5-9775-0770-7
Формат: PDF, eBook (изначально компьютерное)
Автор: Денис Колисниченко
Год выпуска: 2012
Жанр: Программирование
Издательство: БХВ-Петербург
Серия: Самоучитель
Язык: Русский
Количество страниц: 272
Описание: Рассмотрены все основные аспекты создания приложений для платформы Android: установка необходимого программного обеспечения (JDK, Eclipse и Android SDK), использование эмулятора Android, создание интерфейса пользователя, работа с графикой, воспроизведение звука и видео, методы хранения данных (в том числе СУБД SQLite), взаимодействие с аппаратными средствами смартфо...


17
сен
2009

Философия С++. Практическое программирование

ISBN: 5-469-00043-5, 0130353132

Год выпуска: 2004
Автор: Брюс Эккель
Жанр: Программирование
Издательство: Питер
Количество страниц: 608
Описание: Книга отличается от других учебников по C++ новым подходом к изложению материала, основанным на логике и здравом смысле. Вместо простого перечисления языковых конструкций, снабженных примерами, авторы стремятся научить читателя мыслить категориями C++. Они подробно объясняют, почему проектировщики языка принимали то или иное решение, описывают типичные проблемы и пути их решения. Во втором томе рассматриваются...


15
авг
2016

Изучаем программирование на JavaScript (Эрик Фримен, Элизабет Робсон)

ISBN: 978-5-496-01257-7, Head First O"Reilly
Формат: PDF, OCR с ошибками
Автор: Эрик Фримен, Элизабет Робсон
Год выпуска: 2015
Жанр: Языки программирования
Издательство: Питер
Язык: Русский
Количество страниц: 640
Описание: Вы готовы сделать шаг вперед в веб-программировании и перейти от верстки в HTML и CSS к созданию полноценных динамических страниц? Тогда пришло время познакомиться с самым "горячим" языком программирования - JavaScript! С помощью этой книги вы узнаете все о языке JavaScript - от переменных до циклов. Вы поймете, почему разные браузеры по-разному реагируют на код и как напис...


02
мар
2013

Программирование игр под Android (Марио Цехнер)

ISBN: 978-5-459-01554-6
Формат: PDF, eBook (изначально компьютерное)
Автор: Марио Цехнер
Год выпуска: 2013
Жанр: Программирование
Издательство: Питер
Язык: Русский
Количество страниц: 688
Описание: Из данной книги вы узнаете все необходимое, чтобы стать успешным разработчиком под Android. Вы начнете обучение с фундаментальных вопросов проектирования игр и с основ программирования, а потом перейдете к созданию игрового движка и интересных игр. Этой информации вам будет достаточно, чтобы приступить к творческой работе и создавать собственные приложения для Android. В книге подробно описан весь...


18
окт
2010

Программирование на языке Ruby (Хэл Фултон)

Формат: DjVu, Отсканированные страницы
Издательство: М., ДМК Пресс ISBN: 5-94074-357-9
Год выпуска: 2007
Жанр: Программирование
Язык: Русский
Количество страниц: 688
Описание: Ruby - относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов. Книга является полноценным руководством по Ruby - ее можно использовать и как учебник, и как спра...


22
мар
2016

Программирование для Android 5. Самоучитель (Денис Колисниченко)

ISBN: 978-5-9775-3548-9
Формат: PDF, eBook (изначально компьютерное)
Автор: Денис Колисниченко
Год выпуска: 2015
Жанр: Компьютерная литература, программирование
Издательство: БХВ-Петербург
Язык: Русский
Количество страниц: 303
Описание: Рассмотрены все основные аспекты создания приложений для платформы Android 5 (API 21): установка необходимого программного обеспечения (JDK, Eclipse и Android SDK), использование эмулятора Android, создание интерфейса пользователя, работа с графикой, воспроизведение звука и видео, методы хранения данных (в том числе СУБД SQLite), взаимодействие с аппаратными с...


24
июн
2016

Программирование, графика и разработка игр

Автор: Подборка
Жанр: Разработка игр, языки программирования и программирование в целом, аналитика, графика, и прочее что так или иначе связано с разработкой.
Язык: Английский, Русский
Формат: PDF, DJVU, MOBI
Качество: Изначально электронное (ebook), Хороший скан
Иллюстрации: Цветные и черно-белые
Описание: В коллекции присутствуют книги преимущественно игро-разработческой направленности (AI, DirectX/OpenGL, основы 3D, техники в графике, сеть и проч.) которые я собираю время от времени, ориентированные на программиста. Так же присутствуют книги по смежным тематикам, например по языкам програм...


Если пишешь ты на СИ
Будь хоть трижды ламер
Про такого говорят:
«Он - крутой программер!»
(Фидошные песни - «Что Такое Suxxx и Что Такое Rulezzz»)

Предисловие

Поводом к написанию данной статьи послужило негативное отношение профессионального сообщества к указанной платформе и программистам.

Как программист, выбравший 1С, считаю данное мнение необоснованным. Платформа 1С - далеко не идеал, но, на мой взгляд, - это лучший, а главное - отечественный продукт!

И уж тем более - неадекватно судить о способностях программиста по тому языку, на котором он пишет.

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

  • Прямого отношения к фирме 1С я не имею;
  • Данная статья не является заказной, и написана исключительно на добровольной основе;
  • В некоторых случаях высказано личное мнение, которое может не совпадать…;
  • Вся статья, за исключением пролога - авторская, любые совпадения - случайность;
  • Речь пойдет о платформе 1С Предприятие 8.2 (в настоящее время - актуальна версия 8.3, но я её ещё не изучал - очень много работы на 1С 8.2). Однако, большая часть сказанного применима как к платформе 8.3, так и к более ранним версиям, а часть - и к версии 7.7.
Итак, приступим.

О чем речь?

Платформа 1С Предприятие 8 - это:
  • Работает в двух вариантах - файловый и серверный (трёхзвенка) - у каждого свои достоинства и недостатки;
  • Независимая система учета, которая легко устанавливается и настраивается;
  • Мощная экосистема для программистов со всеми необходимыми объектами и инструментами;
  • Приятный эргономичный интерфейс;
  • Сравнительно недорогое решение для бизнеса;
  • Сеть франчайзи, начальное обучение;
  • Мощная база наработок и знаний, накопленная годами;
  • Временами проблемная платформа для системных администраторов;
  • Не самое быстрое выполнение алгоритмов (хотя и не самое медленное) - это дань информативности (при ошибках указан номер строки и её содержимое);
  • В языке программирования нет классов (наследования, инкапсуляции, полиморфизма), нет анонимных функций и прочих современных фич. Но для решения большинства задач - это и не нужно!
Для организации учета - одной платформы недостаточно. Платформа - это своего рода «движок», промежуточное звено между программой и базой данных. Программы для этого «движка» называются конфигурации. В конфигурации описана структура базы данных в виде объектов, тексты процедур, хранящиеся в отдельных модулях (модулей много, они есть как у каждого объекта, так и у системы в целом, а также имеются общие модули). Платформа представляет такой уровень абстракции, при котором прямого обращения к базе данных не требуется, а также позволяет абстрагироваться от операционной системы и типа базы данных.

Файловая и серверная базы данных

Платформа состоит из нескольких частей и может работать в файловом или серверном варианте.

В файловом варианте вся база данных содержится в одном файле (с расширением «1cd») - платформа устанавливается на каждом компьютере и напрямую читает/пишет в базу данных.

Плюсы файлового варианта - низкая цена и простота развёртывания.

Минусы - структура файла «1cd» закрыта, нет единой системы, взаимодействующей с БД. В результате - сложно использовать при большом числе пользователей (пробовали на 20+ пользователей - работать можно). Кроме того, при размере базы данных примерно 15 ГБ (и более) возникают сбои при проведении динамического обновления. Решать такие сбои - задача сложная, а утилита для починки базы - не всегда эффективно чинит, а иногда и калечит базу.

Решение есть - это, прежде всего, настройка ежедневного резервного копирования базы данных. Кроме того, народные умельцы не только публикуют формат файла 1cd, но и разработали утилиты для работы с такими файлами и ряд методов по решению подобных проблем.

В серверном варианте, платформа для хранения базы данных использует SQL-сервер (обычно, это MS SQL, но начиная с 8.2.14 - можно использовать и некоторые другие например, Firebird PostgreSQL, IBM DB2, Oracle Database), а сама платформа работает использует трехзвенную архитектуру:

Часть кода выполняется на клиенте, часть на сервере. При этом с базой данных взаимодействует только сервер. При этом, начиная с версии 8.2, помимо стандартного режима работы, который обозвали режимом «толстый клиент», появилось два новых режима работы - «тонкий клиент» и «web-клиент»; также появились «управляемые формы», внешний вид которых строится в виде абстрактного дерева элементов. Программировать под управляемые формы и трехзвенную архитектуру сложнее, но это позволяет перенести почти всю нагрузку на сервер (т.е. можно купить один мощный сервер и сотню самых дешевых офисных компьютеров).

Плюсы платформы: «трёхзвенка» - распределение нагрузки, открытость базы данных (официально фирма 1С отказывается от ответственности за любую порчу данных, если в базу SQL вносились изменения кроме как средствами ихней платформы или сервера, но это мало кого останавливает), отсутствие ограничений.

Минусы - цена: покупать придется отдельно клиентские лицензии на каждый клиентский компьютер, отдельно - одну лицензию на сервер 1С, отдельно лицензию на сервер SQL, если не использовать бесплатный. Также иногда возникают сложности в работе базы данных. Они решаются гораздо быстрее за счет доступности данных и наличия внешних инструментов работы с БД. Кроме того, и в этом случае следует делать бекап базы данных.

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

Ещё один плюс: платформа устанавливается очень просто, примерно так: «Далее-Далее-Далее-Ок», не требуется тонкая настройка и установка каких-либо компонент.

Для серверного варианта несколько больше настроек, но всё делается в диалоге установки и не требует прописывать что-либо в отдельных файлах. Некоторую сложность может представлять установка SQL-сервера, т.к. в этом случае настроек намного больше (и чтобы тонко настроить - требуется изучение дополнительных инструкций). Но это не относится к проблемам платформы 1С. Более того, если установить, например сервер MS SQL со всеми настройками по-умолчанию, то 1С вполне сможет с ним работать.

Это больше, чем бухгалтерия

Когда речь заходит о платформе 1С, то она представляется, прежде всего, как программа для бухгалтерского учета. Действительно, это - самая популярная область использования платформы 1С. Но не бухгалтерией единой живет 1С!
Те, кто знаком с платформой, говорят, что это система учета (автоматизации учета). Это ближе к истине - существует множество конфигураций, как от фирмы 1С, так и от сторонних разработчиков. Некоторые лишь косвенно связаны с бухучетом, некоторые вообще никак не связаны.

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

Экосистема для программистов

Рассмотрим теперь язык 1С и платформу с точки зрения разработчика:
Объектная модель базы данных. Во-первых, напрямую с базами данных мы не работаем. Это не нужно. Для нашего удобства - все данные представлены в виде взаимосвязанных объектов (справочники, документы, регистры сведений, регистры накопления, …), а «вытаскивание» этих данных из базы выполняет платформа автоматически.
Например, при условии, что в переменной «ЭлементНоменклатуры» содержится ссылка на элемент справочника «Номенклатура», у справочника «Номенклатура» есть реквизит «ОсновнойПоставщик», типа «Справочник.Контрагенты», а у справочника «Контрагенты» есть реквизит «ПолноеНаименование», тогда код:

ЭлементНоменклатуры.ОсновнойПоставщик.ПолноеНаименование
… приведет к тому, что платформа 1С, используя внутренние механизмы, найдет запись в таблице, соответствующей справочнику «Контрагенты» по идентификатору из поля «ОсновнойПоставщик» элемента номенклатуры и вернёт значения поля, соответствующего полю «ПолноеНаименование» в объектной модели справочника «Контрагенты».

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

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

Хранилища значений
Массив - объект, хранящий набор данных, в отличие от классического представления о массивах. Это могут быть данные различного типа (число, строка, ссылка, другой объект). Имеет минимальный функционал и используется, в основном, как временный контейнер для передачи значений между другими хранилищами.

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

Структура и Соответствие - хранилища парных значений «КлючИЗначение». В структуре «Ключ» - это строка, подчиняющаяся правилам наименования переменных в 1С (без пробелов, начинаться не с цифры, состоит только из букв, цифр и знака подчеркивания). В соответствии - «Ключ» - это любое значение. Самый шустрый поиск объектов - в соответствии (быстрее, чем в массиве и индексированной таблице значений).

ТаблицаЗначений - очень удобный, и довольно быстрый, объект для хранения и обработки данных. Колонки в таблице значений можно добавлять и удалять, независимо от количества записей. При этом данные в строках не теряются (или удаляются только данные из ячеек, соответствующих удаляемым колонкам). Также, имеет метод «ВыбратьСтроку()», вызывающий диалог выбора строки. Имеются индексы.

ДеревоЗначений - объект, представляющий иерархические данные. Содержит колонки, набор колонок одинаковый для всех записей на всех уровнях. Удаление/Добавление колонок в дереве значений точно так же легко, как и в таблице значений. Также, имеет метод «ВыбратьСтроку()».

Интерфейсные объекты и объекты для работы с различными данными ТекстовыйДокумент, ТабличныйДокумент, Web-браузер, ЧтениеФайла, ЗаписьФайла, ЧтениеZIPФайла, ЗаписьZIPФайла, ЧтениеXML, ЗаписьXML, HTTPЗапрос и ещё много объектов, и по все в конфигураторе есть встроенная справка. Назначение перечисленных объектов видно из их названий и всё это сразу есть в платформе.

Отдельно следует отметить, что имеется объект «Метаданные» - с помощью которого на языке программирования можно изучить структуру данных, а также у каждой ссылки или объекта для справочника, документа, плана счетов, и т.п. есть метод «Метаданные()» - предоставляющий описание данного справочника/документа/плана счетов/ и т.п. в базе данных (какие реквизиты, табличные части имеются, длина кода/номера и т.п.). Часто бывает очень удобно.

И еще отдельно следует упомянуть про объекты: «Запрос», «КонструкторЗапроса», «ПостроительЗапроса», «ПостроительОтчета», «СхемаКомпоновкиДанных». Это семейство реализует набор объектов для работы с мощным языком запросов 1С.

Язык запросов. Запросы в 1С используются только для получения выборки данных с удобным отбором, сортировкой, группировками. В первом приближении это переведенный на русский язык оператор «SELECT» из SQL, однако, в языке запросов 1С имеется и функционал, который отсутствует в SQL, а именно:

  • Работа с объектами конфигурирования 1С, вместо таблиц SQL;
  • Работа со ссылками, вместо полей-идентификаторов SQL;
  • Поддержка разыменовывания, аналогично тому, как это делается в коде;
  • Выборка по вхождению в группу (для справочников);
  • Иерархические итоги;
  • Временные таблицы и вложенные запросы (SELECT * FROM (SELECT …)));
  • Конструктор запросов - удобный, объектный, автоматически оптимизирующий текст запроса для быстрого чтения, который умеет разбирать текст запроса (парсить текст запроса и строить из него объектную модель);
  • Построитель отчёта - надстройка над механизмом запросов, в которой добавлен функционал автоматического оформления результатов, а также гибкой настройки самого запроса в режиме «Предприятие» (т.е. пользователем). В результате в стандартных платформах 1С появился универсальный отчёт, в котором пользователь может настроить какие данные и в каком порядке он хочет видеть, что в строках, что в колонках, и отчет сам генерирует выходную таблицу;
  • СКД (Система компоновки данных) - следующая модель, вобравшая в себя функционал универсального отчета и дополнившая его некоторыми функциями обработки результатов.

Язык программирования
По синтаксису язык 1С похож на «русский Паскаль», однако от «Pascal» отличается меньшей строгостью и отсутствием некоторых конструкций:

  • Нет необходимости объявлять переменные - можно инициализировать прямо в тексте модуля;
  • Нет жёсткой типизации переменных. В системе есть типы значений, но для переменных нет строгих правил по типизации. Переменная, хранившая ссылку, может через пару строчек кода уже хранить число или строку;
  • Можно складывать переменные со значениями разных типов, при этом, тип результата будет таким, каким был тип у первой переменной, например:
    к = “25”+1; // к = “251”, не 26
  • Переменные со значениями разных типов можно сравнить на равенство или неравенство (но не на больше-меньше, это вызовет исключение) - естественно, такие переменные не равны;
  • Имеются функции и процедуры, допустимо использовать рекурсию (с ограничением по глубине рекурсии);
  • При указании функции или процедуры без параметров - всё-равно, обязательно указывать пустые скобки в конце: вот_так();
  • Имеются модули: у каждого справочника и документа их несколько, кроме того, модули есть у регистров, отчетов и обработок и у каждой формы, а также в составе конфигурации имеется возможность создавать общие модули;
  • Нет классов, наследования, инкапсуляции, полиморфизма;
  • Функцию нельзя передать как ссылку, нет анонимных функций;
  • Нет обратного цикла (for i:=5 downto 1 do), а он реально нужен при удалении записей. Обходимся чуть более длинной записью через цикл «Пока».

Инструментарий

  • В платформе 1С есть возможность выгружать-загружать конфигурацию, сравнивать конфигурацию с другой конфигурацией и частично загружать изменения;
  • Есть возможность выгружать тексты модулей для их пакетной обработки и загружать обратно в конфигурацию;
  • Если конфигурация находится на поддержке (все конфигурации от 1С изначально на поддержке), то всегда можно выполнить сравнение и посмотреть, что изменялось сторонними разработчиками или местными специалистами;
  • Также есть возможность выгружать / загружать базу данных целиком (вместе с данными);
  • Для коллективной работы над одной конфигурацией используется хранилище конфигурации;
  • Также существует ряд правил внесения изменений в стандартные конфигурации, есть даже документ от 1С, описывающий методики и стандарты изменения типовых конфигураций (да и любых других).

Общее впечатление
Язык 1С сочетает в себе ясность текстов языка «Pascal» с фривольностью работы с переменными языка «BASIC». В нем отсутствует ряд возможностей, присущих современным языкам программирования, но без них вполне можно обойтись. Кроме того, в платформе 1С есть мощный сборщик мусора, т.е. не требуется, например, очищать таблицы после использования или удалять их.

Интерфейс 1С Предприятие 8.2

Фирма 1С уделила особенное внимание интерфейсу своей программы. Прежде всего - это цветовая палитра. Она шикарна! Окна программы узнаваемы даже издалека, при этом за многие годы работы - не вызывают неприязненных ощущений, наоборот - хочется, чтобы все программы были были такими-же классными.
При этом стиль платформы весьма строгий, без рюшечек и прочих излишеств. При этом есть весьма полезные функции, например, запоминание размеров окон (размеры запоминаются только при их изменении пользователем, и, при этом, всегда можно сбросить настройки пользователя - до размеров и позиции по-умолчанию, нажав Alt+Shift+R).
Интерфейс Web-клиента 8.2 вызывает ряд нареканий, но, вроде бы, платформа 8.3 несёт с собой новый переработанный интерфейс - «Такси».

Цены, спрос и предложение, франчайзинг

Самым «вкусным» плюсом платформы 1С является её цена. Особенно, это актуально сейчас, во время кризиса. Ведь 1С - это полностью наш, отечественный продукт. И продаётся она за наши деревянные. Подобные решения от иностранного производителя будут стоить огромных денег. А лицензии на 1С стоят вполне приемлемо.

Кроме того, у 1С интересная политика лицензирования. Сами лицензии и конфигурации покупаются один раз. При этом, лицензии покупаются на рабочее место и на сервер, но не на базы данных, и даже не на подключения, т.е. по одной лицензии один и тот же пользователь может запускать неограниченное количество сеансов 1С, работая с любым числом баз данных. То же самое касается конфигураций: приобретя одну лицензию на конфигурацию организация может использовать её для создания любого количества баз данных, более того официально разрешается использовать части кода и объекты данной конфигурации при разработке собственных конфигураций (при этом собственные конфигурации можно продавать/передавать - оговаривая, что для их использования нужно купить конфигурацию от 1С).

После этой единовременной покупки нужно только подписаться на обновления и раз в год оплачивать продление подписки, т.н. ИТС. К слову, подписка стоит весьма недорого, примерно как две клиентские лицензии.

В целом, всё это выглядит очень выгодно.

Вторым «вкусным», но уже с ложкой дёгтя, плюсом, является наличие довольно универсальных конфигураций от самой 1С и от партнеров.

Про универсальность

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


Третьим плюсом (и тоже с ложкой «дёгтя») является сеть франчайзи и центров обучения, как для пользователей, так и для начинающих программистов и администраторов. Хорошая идея, но весьма посредственное качество её реализации. Тем не менее, распространённость и агрессивный маркетинг - одна из причин повсеместной популярности 1С в нашей стране (и это-же причина негатива, зависти и ненависти).

Ложка дёгтя

Расписав во всех красках 1С было бы несправедливо не сказать и о её недостатках, а уж они-то есть:

Нестабильные релизы - как в платформе, так и в конфигурациях, присутствует огромное количество ошибок и глюков. И это в официальных релизах. Перед тем, как выпустить официальную версию, выпускается «Версия для ознакомления». Есть также обратная связь для отправки описаний ошибок, чтобы их приняли к исправлению. Однако, то-ли версии для ознакомления не особо популярны, то-ли сама фирма 1С не успевает к сроку релиза обработать все письма, но факт. Каждый раз обновляя платформу или конфигурацию можно наткнуться на самые неожиданные «сюрпризы». К фирме 1С уже неоднократно обращались с призывом более тщательно тестировать свои разработки.

Франчайзи (далее - франчи) . В идеале, по задумке, это должны были быть фирмы с квалифицированными специалистами, знающими основные принципы работы конфигураций и платформы. Эти самые фирмы должны были бы продавать платформу, конфигурацию и поддержку, слегка «допиливать» универсальные конфигурации под требования клиента (а временами - корректировать эти требования), стараясь минимально модифицировать стандартную конфигурацию. Так, чтобы не сильно усложнять будущие обновления. А в реальности всё наоборот.

При продаже новых лицензий клиенту франчи получают 50% от их стоимости (за минусом подоходного налога 13% от этих 50%). При этом самим производить ничего не надо, надо только передать ключи от 1С покупателю.

При оказании же услуг франчи не платят фирме 1С ничего (за исключением членских взносов), но зато им нужно платить зарплату сотруднику. Также приходится тратиться на налоги государству - ПФР и подоходный налог.

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

Замечу, что это не столько вина бизнесменов из франчей, сколько фирмы 1С. Ориентируясь на продажи она совершенно не позаботилась о поддержке (я не о школах сейчас, а о том, что осуществлять поддержку должно быть выгодно и самой фирме-франчайзи, и 1С).

Техподдержка. В понимании фирмы 1С, техподдержка - это предоставление доступа к разделу «обновление» для платформы и конфигураций, а также к информационным разделам, содержащим описание некоторых механизмов и особенностей работы 1С. Кроме того, при подписке предоставляется диск с указанными материалами. Также имеется форум (весьма скудный в сравнении с народными). Ещё имеется возможность отправить электронное письмо в фирму 1С - но даже не надеясь, что на него ответят (или ответит робот «Письмо передано в отдел разработки». В плане разработки гораздо большую поддержку оказывает Яндекс.Поиск и встроенная в конфигуратор справка.

Эпилог

Я перешел на 1С в 2008 году, а до этого работал в фирме, разрабатывающей свою программу бухучета (Delphi 5, затем Delphi 7). Сначала я познакомился с платформой 1С Предприятие 7.7 и меня поразила в ней простота разработки отчетов. При этом было видно, что отчеты формируются намного дольше, чем в похожих механизмах на Delphi, но бухгалтеров это особо не волновало. Подождать несколько минут вместо нескольких секунд - не проблема. Наоборот, можно ногти там накрасить, чайку попить или обсудить последние новости не отрываясь от работы. Ведь подавляющее большинство бухгалтеров в наше время - женщины.
Тем не менее, интерфейс 7.7 был весьма ограничен, а набор объектов - весьма скуден. Я искал альтернативы. Познакомился с внешними компонентами, но до практического применения их не дошло, т.к. начальник решил, что пора бы нам переходить на 8.1 (да, 8.2 тогда ещё не было), а в этой платформе, как программист, я нашёл всё, чего мне не хватало ранее.
В настоящее время имею авторитет среди коллег, а также клиентов, которые перешли ко мне от франчей. С франчами они уже, наверное, никогда больше не свяжутся.


В целом, работой в платформе 1С Предприятие 8 я вполне доволен. Она подходит для решения большинства учетных задач и задач с использованием базы данных.

Теги: Добавить метки