Мой опыт внедрения 1С (часть 1. Вводная) +5
- 10.12.18 19:48
•
Tanya_zero
•
#432732
•
Хабрахабр
•
•
2900
Управление проектами
Рекомендация: подборка платных и бесплатных курсов PR-менеджеров — https://katalog-kursov.ru/
Всем привет!
Я автор этой статьи. И пришло время написать продолжение… спустя почти 4 года.
На момент написания прошлой статьи я была студенткой колледжа, сейчас я студентка вуза. На момент написания статьи я работала официанткой, сейчас я руковожу внедрениями 1С в организации, которая занимается внедрением и сопровождением 1С в государственных учреждениях. Но я пришла не хвастаться, мне хочется поделиться своим опытом с тобой, дорогой читатель. Я каждый день ищу что-то в сети, и найди я свой сегодняшний пост 2,5 года назад, когда я начинала работать с 1С, моя жизнь была бы куда проще. Но, с другой стороны, тогда бы я не получила этот драгоценный опыт, ведь как известно, из того, что мы запоминаем в течении дня, большая часть – наш личный опыт, и лишь небольшая – это то, что мы прочитали, тем более где-то в сети. Но я искренне надеюсь, что ты прочитаешь и тебе это поможет, может немножко, но ты все-таки задумаешься, с чего начинать работу над внедрением. Поехали.
Чем же я поделюсь? Своими выводами, исходя из нескольких внедрений
Не важно, что вы внедряете, с кем вы это делаете, в какой организации – эти выводы подходят под любой процесс. Вывод 1
Всегда определять зоны ответственности клиента, его сотрудников и свои. При чем свои и клиента документально.Вывод 2. Стараться определить человека ответственного со стороны клиента за внедрение. Именно этот сотрудник будет вашей правой рукой при возникновении конфликтных ситуаций вас с сотрудниками и между сотрудниками. При отсутствии такого человека предупреждать клиента о рисках.Вывод 3. Предварительно максимально изучить особенности организации.Вывод 4. Знать и изучать предметную область. Когда мы говорим о вузах: понимать какие отчеты и зачем сдаются, с какими едиными системами нужен будет обмен, знать бизнес-процессы. Тоже и с бухгалтерией – в тебе видят профессионала, ты должен ориентироваться в законодательстве.«Сантехнику платишь не за битье по трубам, а за понимание, где именно нужно бить» — автор неизвестен, нагуглить не смогла.
Пример. Во всех вузах есть: обмен с ФИС ГИА и приема, мониторинг и отчет «ВПО-1», но только в медицинском есть обмен с федеральными регистрами. И очень ценно, когда вы заранее в курсе и можете предложить свои услуги для решения этой проблемы.Вывод 5. Задавать вопросы клиенту. Всегда. Да, вы внедренец, да, вы все знаете, но вы тут не работаете. Стесняться того, что не знаете всю систему клиента, весь порядок взаимодействия – бесполезная трата времени. Куда быстрее спросить, если это касается специфики их работы.
Конечно, я могу написать намного больше выводов. И не только о том, как начинать, но и о том, как действовать в процессе, как решать конфликтные ситуации и как их избегать, как находить качественных сотрудников и как прощаться с теми, кто не работает на 200%. И о многом другом. Мне лишь нужно знать, что для тебя это важно. Напиши об этом в комментарии.
Спасибо.
К сожалению, не доступен сервер mySQL
За что я люблю 1С
В мире 1С много хорошего: актуальные книги, документация на русском, стабильная платформа, которая позволяет долго не переучиваться. Но главный козырь — огромное количество клиентов. 1С-программист никогда не останется без дела.
За время работы с 1С я часто встречал отзывчивых людей. Бывало, коллеги даже делились клиентами, а это всё равно что отдать часть денег. Я ушёл из 1С-разработки незадолго до выхода версии 8.2 и больше ни в одном сообществе не встречал столько поддержки и добра. После этого токсичные комьюнити других языков кажутся немного странными.
Сама компания «1С» заботится о клиентах и уважает их. Эта культура распространяется на всех сотрудников и даёт положительную обратную связь. Когда же компания ненавидит клиентов, это негативно влияет на весь рабочий процесс. Например, на рынке интернет-казино клиентов, которые постоянно возвращаются, называют опарышами. Мне бы не хотелось работать в такой атмосфере.
Какие бывают проблемы с работой в 1С через браузер
В таком режиме у меня уже пару лет работают несколько серверов с 1С. Иногда возникают нюансы с доступом через браузер. Например, не настроить обмен между базами, не зная их локальных путей. Бухгалтера сами его не смогут настроить. Им нужно будет передать информацию по директориям с базами. Понятное дело, что и обновить платформу они сами не смогут, так как нужно будет обновлять и публикацию баз. Когда вы сами подключены через браузер, сделать это невозможно.
Так что некоторые вещи, которые обычно бухгалтера в небольших компаниях способны сделать сами, придется делать тому, кто обслуживает этот сервер. Но бонусом идет то, что на самих пользовательских компьютерах ничего настраивать не надо. Вы просто передаете пользователю адрес в интернете и учетные данные. И он начинает работать в базе 1с. Платформу ставить не надо, как и решать вопрос с лицензиями на клиентах.
Еще один нюанс, связанный с обменом между базами. После обновления платформы на сервере, он перестает работать через браузер. Возникает ошибка доступа к COM объекту. Чтобы это исправить, надо выполнить на сервере регистрацию comcntr.dll примерно так.
regsvr32 "C:\Program Files\1cv8\8.3.18.1208\bin\comcntr.dll"
Сделать это надо в cmd с правами администратора. И повторять каждый раз при обновлении платформы, не забывая указать путь к новой версии файла.
С недавних пор я столкнулся с новой для меня ошибкой при подобной публикации баз с использованием nginx и proxy_pass. Раньше я использовал отличный от 80-го порт в apache. Но периодически стали проскакивать ссылки при работе с опубликованной базой 1с примерно такого вида — https://1c.site.ru:81/ в случае, если вы используете 81-й порт. Запросы извне по этой ссылке уходят в никуда и возникают ошибки. На стороне клиента они выглядят так:
Uncaught TypeError: Cannot read property ‘toUpperCase’ of undefined on https://……./mod_main_loader.js
Ошибка совершенно не гуглится, так что потратил много времени на ее решение. Помог режим отладки в chrome. Я просто проверил все запросы и нашел ошибочные с кривыми урлами. И так и сяк пытался их решить редиректами на веб серверах, но в итоге пришлось в apache переехать на 80-й порт и ошибка ушла.
Ну и еще одно отмечу. Иногда apache зависает или начинает сильно тупить. Обычно после долгого аптайма в несколько недель. Я подробно не разбирался в проблеме. Предпочел просто перезапускать его раз в сутки ночью. Для этого сделал обычный bat файл и настроил запуск через планировщик Windows.
@echo off sc stop "Apache2.4" timeout 90 sc start "Apache2.4"
Понятно, что это грубый костыль, но проблему решает. Ночью все равно с 1С никто не работает. Это история не про отказоустойчивость, резервирование и работу 7/24/365.
Шаг 5: Создание контрагентов для обмена данными в 1С Бизнес Сети
1. Создание контрагента в 1С Бизнес Сети
Для того чтобы начать обмен данными с контрагентом, его нужно создать в 1С Бизнес Сети. Для этого:
- Перейдите в раздел «Контрагенты»;
- Нажмите кнопку «Создать контрагента»;
- Заполните необходимые поля, такие как «Наименование», «Адрес», «ИНН», «КПП»;
- Сохраните контрагента.
2. Настройка обмена данными с контрагентом
После создания контрагента необходимо настроить обмен данными. Для этого:
- Перейдите в раздел «Контрагенты»;
- Выберите нужного контрагента;
- Перейдите во вкладку «Настройки»;
- Выберите тип «Обмен данными» и установите соответствующие настройки. Например, задайте интервал обмена и выберите необходимые документы для обмена.
- Сохраните настройки.
3. Подключение контрагента к обмену данными
После создания контрагента и настройки обмена данными необходимо подключить его к обмену данными. Для этого:
- Перейдите в раздел «Контрагенты»;
- Выберите нужного контрагента;
- Перейдите во вкладку «Настройки»;
- Нажмите кнопку «Подключить» и выберите нужный способ подключения;
- Сохраните настройки.
После выполнения указанных действий контрагент будет подключен к обмену данными в 1С Бизнес Сети.
А что там по деньгам?
Выступление было в 2020 году, а готовился я к нему в 2019, поэтому на 2022 цифры уже не соответствуют. Сейчас мидл 1С-ник в Москве это 230-250, но это я прямо сильно навскидку, давно не изучал рынок мидлов. Сеньоры столько же сколько в других языках, ибо сеньоры это не про код а про решение задач, тайм-ту-маркет и прочее скучное. Сеньор решает задачи. Если с помощью 1С, то значит с помощью 1С. А если надо, он и Python рядом прикрутит, и компоненту внешнюю найдет на гитхабе, на то он и синьор.
Все так. Свитч не обязательно с просадкой доходов. Вопрос в том, полезный человек или нет. Рынок достаточно нагрет и спрос большой.
Схема установки
Я предлагаю следующую схему работы с базами 1С при их публикации. Доступ нужен будет отовсюду через интернет. Для этого арендуется выделенный сервер, например в selectel. Достаточно будет сервера примерно за 4000р. с 2 ssd дисками и 32g оперативной памяти. Туда ставится гипервизор proxmox. И настраиваются минимум 3 виртуальные машины:
- Любая windows система, где работает 1С. Если для подстраховки нужен терминальный доступ по rdp, то ставится windows server.
- Linux система, где будет работать nginx в качестве revers proxy. На ней будет настроен https с валидным сертификатом и при необходимости парольная защита.
- Любая система по вашему вкусу для бэкапов баз 1С. Они нужны будут для защиты основной виртуалки от шифровальщиков и прочей вирусни, которая может повредить базы данных. Смысл этой виртуалки в том, что тут бэкапы будут изолированы с ограниченным доступом. На этой же виртуалке настраивается передача этих бэкапов куда-то еще. Не должно быть так, что все архивные копии хранятся на одном физическом сервере у одного хостера.
Это минимальный набор виртуалок. Сюда же можно добавить мониторинг либо еще какой-то сервис, необходимый вашей компании. Например чат или ip телефония. Производительности дедика хватит для небольшой компании.
О задачах
Вообще, когда приходишь в фирму — ты приходишь на какую-то конкретную «конфигурацию» (прикладное решение от фирмы 1С, написанное на платформе 1С) специализация внутри конфигурации может быть более или менее жесткой, в зависимости от размеров самой конфигурации, но за пределы конфигурации ты не выйдешь (есть ребята которые пилят библиотеки, но это отдельная история). Так вот я попал на довольно небольшую конфигурацию, в которой было полное раздолбайство.
В основном, конфигурацию выбирают себе сами на входе. Бывают случаи, что кто-то собеседуется на одну конфигурацию, но в процессе выясняется что в целом он норм, но нехватает каких-то специфических навыков (по бухучету, например) и ему подбирают более подходящее место. О том чтобы кто-то сменил конфигурацию я не слышал, хотя и не думаю что это невозможно.
Задач не было. Ну или почти не было. Вся команда состояла из 12 человек. Работали три с половиной человека. Остальные занимались какой-то ерундой: кто-то по причине собственной уверенности в том, что то чем он занимается и есть работа, кто-то откровенно пинал, кто-то писал налево.
Как я понимаю, в фирме для программиста 1С есть 3 пути:
а) не делать ничего от слова совсем
б) самому искать себе задачи и двигать горы в удобном для себя графике
в) попасть в сектор зарегулированной разработки (типа бухгалтерии или прочих ЕГАИСов) и работать с четкими планами и сроками
Возможно, некоторые лиды ведут своих по своему пути )
Абсолютное отсутствие на рабочем месте конечно будет замечено, но пофиксить пару простеньких багов в неделю — вполне приемлемый уровень производительности, чтобы у менеджера не было вопросов. Может быть, в этом случае вопросы должны были возникать у лида, но в моем случае лид буквально отсутствовал на работе 2/3 времени, а в оставшуюся 1/3 не проявлял сильного рвения. Так я «работал» некоторое время.
Потом мне повезло и меня «по касательной» зацепили некоторые законодательные нововведения, которые заняли меня на некоторое время.
Как-то я попробовал поиграть в «самому искать себе задачи и двигать горы» и пытался обсуждать с менеджером и воплощать задачи, которые я хотел бы сделать. И в первое время у меня это даже получалось: я запилил пару небольших фич, которые, как мне кажется, сделали некоторым людям жизнь проще. Но когда я попытался замахнуться на большой функционал (есть одна довольно объемная тема в 1С, по которой я считаю себя докой и которая была на совершенно ужасном уровне в нашей конфигурации) — менеджер все спускала на тормозах по классической схеме: «давай вот с этой багой разберемся, потом поговорим». «А вот у нас на горизонте второй пакет той законодательной штуки, которую ты пилил. Давай сделаем ее, потом будем браться за..». И тут ты понимаешь, что первый раз она отложила вопрос на неделю, второй раз на месяц, а сейчас речь о том что в ближайший год мы это делать не будем. Не знаю, было ли это недоверие ко мне как к новичку или ей в принципе не хотелось больших изменений или я переоцениваю ценность фичи… Но и я, надо признать, не был через чур настойчив в продвижении своих идей.
Перейдем к технической критике
Тут самое вкусное. Пару слов на входе: попадание юного 1С-ника в мир большого Айти сродни первому попаданию человека в другой климатический пояс. Со мной так было в тропиках: «О, пальмы! О, кокосы прям на дорогу падают! О, а че, тут и змеи ползают? А это что, тоже есть можно?»
Здесь то же самое: О, я могу переслать байты в TCP-сокет! О, я могу парсить DTO-json на входе http-метода и перекладывать поля в прикладной объект!
Но секрет в том, что в 1С просто это уже сделано за вас. Это коробочная возможность, позволяющая как раз не делать перекладывание полей JSON в прикладные объекты. Преимущество, а не недостаток. Экономия времени, time-to-market, стоимость, эффективность и все то, что серые унылые ларечники требуют от лучезарных программистов.
На ASP.NET нельзя написать игру для плейстейшен. Опять путаем фреймворк и языки программирования. 1С это фреймворк. Для бизнес приложений. Это не JVM, это Salesforce или SAP (сейчас я не про сравнение возможностей, а про классификацию) Можно на SAP послать байты в TCP-сокет? Даже если и да, этого никто не делает. САПовцы любят грузить из Excel ну или получать по SOAP. JSON в SAP? Шиш вам, пишите прослойку на чем-нибудь другом, или купите нашу шину за 100500 миллионов. САП это бизнес система, какого хрена вы в нее суете интеграционные задачи!
Не знал про такой подход в конкурирующей системе, дорогой 1С-ник? А ведь он выверен лучшими немецкими методологами. Там можно делать только то, что можно, а что нельзя (например, нарисовать нечто красивое на экране) то — нельзя. Я тут несколько утрирую, но общий смысл именно такой. Архитекторы SAP не позволят протащить в SAP что-то помимо бизнес-функциональности. Для интеграций есть шина, а для отчетов BI
Резюмируя: не надо требовать от бизнес фреймворка того, чего в нем нет. Айти, оно больше чем только 1С, вылези из скорлупы и придумай, как решить потребность бизнеса, а не запихивай это в один фреймворк! Не умеешь посмотреть вокруг и решить задачу? Ну тогда твой удел «отчеты, призванные показать руководителю все в одном месте» сорян, ты больше ни на что не годен, ничего личного. И 1С тут не при чем.
Поддерживается. Есть внешние компоненты для этого. Ах! Внешние компоненты! Но это же внешние, их нет в 1С!!!! Да, это сторонняя библиотека к фреймворку. Давно ли в Java запретили сторонние библиотеки и требуют, чтобы gRPC шла в составе JDK? Послушайте, ведь сама попытка требовать таковое это бред. То же и с внешними компонентами 1С. Это сторонняя библиотека, надо — подключай и пользуйся, в чем проблема?
«Нет, хочу встроенное в 1С, потому что хочу, ааааа, мамааа, купи мароженоееее!!»
Вы не поверите, но…https://github.com/firstBitMarksistskaya/onec-docker Хотя, вы попробуйте просто предложить кому-то на предприятии запустить SAP в докере. Если вас немедленно не спишут в дурку, то по крайней мере, высмеют.
SAP это система не того класса, чтобы в контейнере работать. К ней нужны bare-metal сервера от определенных производителей за дорого. И никто не удивляется. А когда 1С не работает в докере внутри виртуалки с лимитом в 2Гб начинается негатив. Почему-то выпросить у начальства для 1С bare-metal сервер, это организационная эпопея с долгой сдачей анализов. А SAP вам даже не продадут, если вы железку не имеете для него.
Опять все в одну кучу. Где там у нас PyTorch в составе JDK? Сама формулировка данного вопроса выглядит, как чушь. Однако, если таким образом критикуешь 1С, то вроде она превращается в критику по делу, не так ли? Ну и мое любимое:
Сюрприз-сюрприз, но только это наоборот в 1С уже есть веб-клиент, а в «настоящем айти» его всегда пишут отдельно. Т.е. 1С-ник жалуется, что ему уже дали клиент и радуется, что придется писать свой после перехода в Java. С точки зрения бизнеса все выглядит иначе: «придется потратиться еще и на фронтендеров». Кстати, где кастомизация веб-интерфейса на Питоне? Ах, веб-интерфейс же на Javascript пишут, стало быть, питон говно.
Вот это вообще не понял. Давно ли на клиенте стало можно писать на GO?
Шаги по установке программного обеспечения
Для установки программного обеспечения 1С Бизнес Сеть на компьютер необходимо выполнить следующие шаги:
- Загрузка установщика: На официальном сайте разработчика необходимо найти раздел с загрузкой программы 1С Бизнес Сеть. Скачать установщик и сохранить его на компьютер.
- Запуск установщика: По завершении загрузки запустить установщик программы 1С Бизнес Сеть, дважды кликнув на скачанный файл.
- Выбор языка: В процессе установки установщик предложит выбрать язык, на котором будет происходить установка. Выбрать русский язык из предложенного списка.
- Прием лицензионного соглашения: Перед установкой необходимо ознакомиться с условиями лицензионного соглашения. Если согласны, поставить галочку в соответствующем поле и нажать кнопку «Далее».
- Выбор директории установки: Установщик предложит выбрать директорию, в которую будет установлено программное обеспечение. По умолчанию будет предложена рекомендуемая директория, но можно выбрать другую, если нужно.
- Установка: После выбора директории установки нажать кнопку «Установить» и подождать завершения процесса установки.
- Завершение установки: По завершении установки установщик предложит выполнить дополнительные действия, такие как создание ярлыка на рабочем столе или запуск программы. Выбрать необходимые опции и нажать кнопку «Готово».
После выполнения указанных шагов программное обеспечение 1С Бизнес Сеть будет установлено на компьютер и готово к использованию.
Установка и настройка серверной части
Для подключения 1С Бизнес Сети необходимо установить и настроить серверную часть. Ниже приведена пошаговая инструкция:
Установка сервера 1С:Предприятие. Перед установкой серверной части необходимо убедиться, что у вас уже установлен сервер 1С:Предприятие. Если у вас нет установленного сервера 1С:Предприятие, необходимо установить его согласно инструкции разработчика.
Выделение выделенного сервера для работы с 1С Бизнес Сетью. Вам необходимо выделить один из своих серверов для работы с 1С Бизнес Сетью. Это может быть как физический сервер, так и виртуальная машина. При выделении сервера необходимо учесть требования к аппаратному обеспечению, указанные в документации 1С Бизнес Сети.
Установка и настройка дополнительных компонентов. После выделения сервера для работы с 1С Бизнес Сетью необходимо установить все необходимые дополнительные компоненты, указанные в документации 1С Бизнес Сети. В основном это такие компоненты, как IIS, .NET Framework и другие.
Установка и настройка серверной части 1С Бизнес Сети. После установки и настройки всех необходимых компонентов можно приступить к установке и настройке серверной части 1С Бизнес Сети. Этот процесс включает в себя установку основного сервера 1С Бизнес Сети и настройку его параметров согласно вашим потребностям.
Проверка работоспособности. После установки и настройки серверной части необходимо провести проверку ее работоспособности. Для этого можно использовать тестовые сценарии, предоставленные разработчиком, или создать собственные тестовые сценарии
Важно убедиться, что все функции серверной части работают корректно и нет ошибок.
После успешной установки и настройки серверной части 1С Бизнес Сети вы будете готовы подключить и использовать этот функционал для своей компании. Не забывайте следовать инструкциям разработчика и использовать только официальные источники информации по установке и настройке.
Заключение
Это все, что я хотел рассказать по поводу публикации файловых баз 1С в интернет. Постарался дать не только технические данные но и свои личные подробности, основанные на опыте подобных эксплуатаций. Я хоть и пытаюсь дистанцироваться от 1С, но она настолько популярна в России, что так или иначе сталкиваешься с этим продуктом. Да я и свою бухгалтерию ИП сам веду в 1С
Если захотите себе настроить что-то подобное, то обращайтесь ко мне. Я могу подобрать подходящее решение под ваш бюджет и выполнить настройку. Это будет дешевле быстрее и скорее всего лучше, чем вам настроят через франчайзи. По крайней мере то, что я видел, чаще всего было настроено так себе. Без акцента на безопасность и удобство, лишь бы работало.