1c executor ide что это
1C:Enterprise is an easy-to-use and powerful platform for creating applications that streamline automation of a wide range of business processes.
Check out these videos on how easy it is to create a business application using 1C:Enterprise, a flexible rapid application development platform.
Что представляет собой язык, используемый в «1С:Исполнителе»
Для написания скриптов для «1С:Исполнителя» фирма «1С» предлагает совершенно новый язык программирования, который чем-то напоминает язык 1С, но имеет несколько особенностей:
Язык «1С:Исполнителя» строго типизирован. У каждой переменной, параметра и метода, возвращающих значения, должны быть заданы типы или перечисление возможных типов через вертикальную черту «|» – нельзя передать переменную непредусмотренного типа.
Типизированы даже исключения – можно описать обработку исключения определенного типа.
Поддерживается повторное определение (перегрузка) методов. Перегруженные методы могут отличаться:
- количеством параметров;
- типом параметров и типом возвращаемого значения (одним типом возвращаемого значения перегруженные методы различаться не могут).
Вместо разделения на функции и процедуры используется единое ключевое слово «метод». Если метод возвращает значение, на это указывает тип возвращаемого значения в сигнатуре метода (например метод Метод(): Число).
В языке присутствует иерархия типов – например, базовым типом для типов, использующих системные ресурсы, является специальный тип «Закрываемое», который позволяет автоматически возвращать ресурсы, которые уже не используются, операционной системе.
Все ключевые слова языка (метод, пока, для, по и т.д.) пишутся строчными буквами – прописные буквы в ключевых словах не используются.
Все стандартные типы (Строка, Число, Дата, Длительность, Массив, Соответствие, Множество, Байты и Ууид) указываются строго с прописной буквы – т.е. язык в целом является регистрозависимым.
В инструкции «если» не используется ключевое слово «Тогда», в инструкции «для» и «пока» не используется ключевое слово «Цикл», в инструкции «для из» не используется ключевое слово «каждого»,
Поддерживаются многострочные комментарии.
Поддерживается интерполяция строк.
Поддерживаются многострочные литералы.
Поддерживаются собственные типы данных в виде пользовательских структур и перечислений.
При объявлении переменной обязательно должно использоваться одно из ключевых слов:
- пер – для создания переменной, доступной на запись и чтение;
- знч – для создания переменной, доступной только для чтения;
- исп – для создания переменной, тип которой должен быть потомком типа Закрываемое, и которая доступна только для чтения. При выходе из области видимости для такой переменной будет автоматически вызван метод Закрыть();
- конст – позволяет определить именованное значение, которое синтаксически выглядит как переменная, но значение которого нельзя изменить после объявления.
Если переменная объявлена внутри блока «для» или «если», за его пределами ее значение недоступно.
В качестве операторов сравнения не поддерживаются используемые в «1С:Предприятие» операторы «=» и «<>». Вместо них используются операторы «==» и «!=».
Можно использовать операторы присваивания, совмещенные с арифметическими операциями, такие как «+=», «-=», «*=», «/=» (эквивалентны результату арифметической операции между значениями, используемыми в левой и правой части выражения).
Каждая инструкция располагается на отдельной строке. Символ ";" является универсальным символом, завершающим группировку инструкций: оператор или метод. Можно сказать, что символ ";" является заменой ключевых слов КонецЕсли, КонецЦикла, КонецФункции, КонецПроцедуры. Объявления исключений, структур и перечислений также заканчиваются символом ";".
Подробное описание отличий языка «1С:Исполнителя» от встроенного языка «1С:Предприятия» опубликовано в разделе для разработчиков на портале 1С:ИТС.
«1С:Исполнитель» – новое решение для администрирования информационных систем на 1С
Фирма «1С» выпустила бета-версию «1С:Исполнителя», информация о котором уже публиковалась ранее на страницах официального технологического блога «Зазеркалье».
«1С:Исполнитель» – это консольное приложение, предназначенное для исполнения скриптов, которое адресовано в первую очередь системным администраторам и администраторам инфраструктуры CD/CI (Continuous Delivery / Continuous Integration), создающим скрипты автоматизации.
Скриптовый движок «1С:Исполнителя» работает во всех операционных системах, которые поддерживаются для «1С:Предприятия» (Windows, macOS, Linux).
В движок встроена богатая библиотека объектов – поддерживается:
Реализованы специализированные программные интерфейсы (API) для работы с кластером «1С:Предприятия» и «Системой взаимодействия».
«1С:Исполнитель» – это полностью самостоятельный продукт, для запуска которого не требуются лицензии «1С:Предприятия».
Start development
To get started with developing your application, let's prepare your computer and a development environment. You need to download and install free 1C:Enterprise platform (training version). Once you've installed the 1C:Enterprise Platform, you will be able to run it locally and start developing new applications or begin customizing existing ones.
Note that a 1C:Enterprise application is logically divided into two major components that are closely interrelated: an application and the platform (1C:Enterprise) on which the application runs. The 1C:Enterprise platform is a Windows or Linux application, which contains everything you need to develop, debug, and run any application based on the platform.
You do not have to install a DBMS because the training version includes a built-in proprietary database. At the same time MS SQL, PostgreSQL, IBM DB2 and Oracle database management systems are supported.
The IDE of 1C:Enterprise platform is named Designer. The Designer is the part of 1C:Enterprise platform that allows you to develop applications. To create an empty Infobase that does not require a DBMS and start developing your first application, install 1C:Enterprise platform (training version) and follow the steps below to run Designer:
- Run 1C:Enterprise (double-click the 1C:Enterprise shortcut).
- In the 1C:Enterprise Setup dialog box, click Add.
- In the Add Infobase/group dialog box, click Create an Infobase and then click Next.
- Click the lowest option button Create an Infobase without configuration. and then click Next.
- Specify a name for your Infobase (anything you like) and then click Next.
- Click Next until you complete the wizard.
- Click Designer.
The 1C:Enterprise platform (training version) package also includes the document Hello, 1C - Building your first application that you can use for your study and as a guide to create the first application on 1C:Enterprise. Hello, 1C is a simple application like "Hello, world!", which will help you to gain a quick first impression of 1C:Enterprise and learn some of the basics of the development environment.
Start development
To get started with developing your application, let's prepare your computer and a development environment. You need to download and install free 1C:Enterprise platform (training version). Once you've installed the 1C:Enterprise Platform, you will be able to run it locally and start developing new applications or begin customizing existing ones.
Note that a 1C:Enterprise application is logically divided into two major components that are closely interrelated: an application and the platform (1C:Enterprise) on which the application runs. The 1C:Enterprise platform is a Windows or Linux application, which contains everything you need to develop, debug, and run any application based on the platform.
You do not have to install a DBMS because the training version includes a built-in proprietary database. At the same time MS SQL, PostgreSQL, IBM DB2 and Oracle database management systems are supported.
The IDE of 1C:Enterprise platform is named Designer. The Designer is the part of 1C:Enterprise platform that allows you to develop applications. To create an empty Infobase that does not require a DBMS and start developing your first application, install 1C:Enterprise platform (training version) and follow the steps below to run Designer:
- Run 1C:Enterprise (double-click the 1C:Enterprise shortcut).
- In the 1C:Enterprise Setup dialog box, click Add.
- In the Add Infobase/group dialog box, click Create an Infobase and then click Next.
- Click the lowest option button Create an Infobase without configuration. and then click Next.
- Specify a name for your Infobase (anything you like) and then click Next.
- Click Next until you complete the wizard.
- Click Designer.
The 1C:Enterprise platform (training version) package also includes the document Hello, 1C - Building your first application that you can use for your study and as a guide to create the first application on 1C:Enterprise. Hello, 1C is a simple application like "Hello, world!", which will help you to gain a quick first impression of 1C:Enterprise and learn some of the basics of the development environment.
Две среды разработки
Для разработки скриптов 1С:Исполнителя можно использовать наравне:
-
(поддерживаются автодополнение, встроенная проверка синтаксиса, квикфиксы и отладка);
- или специализированную среду разработки на базе Eclipse, аналогичную EDT (помимо уже упомянутых возможностей имеет встроенный синтакс-помощник с примерами использования).
Разработку можно вести с применением русского и английского синтаксиса.
Документация 1С:Исполнителя
С продуктом можно ознакомиться самостоятельно по документации, которая выложена вместе с дистрибутивом.
Также в состав среды разработки на базе Eclipse входит синтакс-помощник, где содержится большое количество примеров для разработки скриптов.
Пользователи с активным договором 1С:ИТС могут ознакомиться с примерами использования скриптов для 1С:Исполнителя на сайте 1С:ИТС.
Support
To get the support of 1C:Enterprise support team and 1C:Developer Network community, feel free to ask your questions at Studying 1C:Enterprise platform forum, which is intended to help beginners to understand 1C:Enterprise platform basics.
Advanced users can use 1C:Enterprise – Business applications platform for more complicated questions.
Фирма «1С» опубликовала тестовый релиз нового инструмента для администрирования решений на платформе «1С:Предприятие», а также рассказала об особенностях и преимуществах данного продукта.
Особенности бета-версии и условия участия в бета-тестировании
Фирма «1С» указывает на некоторые ограничения и особенности, которые присущи тестовой версии 1С:Исполнителя:
на этапе бета-тестирования будет выпущено еще несколько версий, которые будут содержать расширенную функциональность
после обновления бета-версии в отдельных случаях может не поддерживаться совместимость встроенного языка и библиотеки объектов встроенного языка с предыдущими версиями
выпуск финального релиза запланирован на четвертый квартал 2020 года.
Более подробная информация о бета-версии и порядке ее распространения приведена в информационном письме фирмы «1С».
Являясь поклонницей MS Visual Studio, появление такой IDE, как 1C:Enterprise Development Tools, именно для 1С очень обрадовало, т.к. конфигуратор казался довольно грубоватым и хотелось чего-то более привычного ("и красивого").
Но оговорюсь, что пока использую EDT в основном для разработки именно конфигураций. Как-то для мелких проектов, вроде отчетов или обработок, не получается быстро перейти на этот инструментарий (в конфигураторе проходит всё более оперативно).
Опустим "танцы с бубном и Java" при установке EDT, т.к. многие пройдут этот этап с легкостью, а у кого-то наоборот могут возникнуть трудности (например, с JAVA_HOME и т.п.) и предугадать это сложно, поэтому при возникновении проблемы легче будет просто ее погуглить уже по факту, чем пытаться сейчас описывать тонкости установки.
Ниже приведу несколько инструкций, которые были написаны для программистов в нашем подразделении.
Предугадывая вопрос: а работает ли это всё для неуправляемых обычных форм? Ответ: Нет! EDT работает только с управляемыми формами.
Если Вы не хотите читать скучные инструкции, а желаете сразу перейти "к грустному", то открывайте раздел "Что мне не совсем нравится в EDT" :)
Для начала рассмотрим наиболее распространенный вариант, когда конфигурация у Вас уже есть (работа была начата в конфигураторе и Вы решили продолжить ее в EDT, ну или попробовать продолжить). Для такого случая в EDT предусмотрен функционал импорта проекта.
При первом запуске EDT Вас попросят указать рабочую область - папку для хранения служебных файлов проектов. Тут нужно для себя условиться, каким образом Вы будете хранить проекты и исходные коды своих проектов. Мне показалось, что удобнее делать "1 рабочая область = 1 проект", либо "1 рабочая область = несколько связных проектов". Помимо этого, т.к. у меня все исходные коды проектов, которые синхронизируются с GIT, хранятся в специальной папке на диске (где собраны все синхронизируемые с GIT исходники, не важно через EDT они сделаны или через конфигуратор), то данные о проекте храню в папке рабочей области, а исходники проекта отдельно в той самой папке. По умолчанию EDT делает всё это в одной папке рабочей области (и проект и его исходники). Разделять их или нет - решайте сами.
Скриншот: окно выбора рабочей области проекта
После запуска для более удобной работы переключаемся в перспективу (набор окон) 1C:Enterprise, если она не отобразилась по умолчанию. В этом случае Вы увидите более привычное расположение окон (дерево конфигурации слева, рабочая область в центре, палитра свойств справа, дополнительные служебные окна внизу, например, список информационных баз, подсказки, логи ошибок и т.п.).
Теперь щелкаем на ссылку слева "Импорт конфигурации и расширений из информационной базы".
В открывшемся окне импорта конфигурации выбираем исходную информационную базу (с существующей конфигурацией), задаем название проекта, задаем версию платформы:
Также на этом этапе рекомендуется задать метод аутентификации (можно задать позже), нажав на кнопку с шестеренкой в строке с информационной базой:
Если вход осуществляется под логином-паролем (а не, допустим, под пользователем операционной системы), то выбираем Infobase и вводим логин-пароль Администратора (это в дальнейшем позволит производить запуск и отладку конфигурации).
Примечание: до начала импорта еще раз предупрежу, что по умолчанию проект с исходными кодами конфигурации будет загружен в папку рабочей области. Если, например, Вы размещаете исходники в какой-то специальной директории на диске, то папку с исходными кодами можно потом переместить (перемещаем папку проекта из рабочей области в нужное расположение, а затем производим процедуру открытия в EDT существующего проекта). Чтобы этим не заниматься, можно до начала импорта создать пустой проект (при создании проекта задать сразу нужное его расположение) и после этого делать импорт конфигурации.
Далее нажимаем Импорт и ждем загрузки (может занимать несколько минут в зависимости от размера конфигурации).
Всё, теперь можно пробовать делать первые шаги в редактировании конфигурации в "не конфигураторе".
Рассмотрим другую ситуацию, в моем случае происходящую довольно часто, когда другой программист изменил конфигурацию непосредственно в конфигураторе, а Вам необходимо загрузить изменения в EDT-проект.
Загрузка обновленной конфигурации в проект EDT (если конфигурация была изменена через конфигуратор): ПКМ на проекте - пункт "Импортировать":
В открывшемся окне выбираем "Конфигурация информационной базы":
В окне с выбором базы указываем ту базу, к которой закреплен проект. Проверяем, что имя проекта то же, в котором работаем, и нажимаем Обновить:
Если вместо кнопки Обновить кнопка Импорт, значит Вы указали не ту базу.
Может появиться окно с предупреждением, нажимаем Импортировать:
Далее будет выведено окно сравнения конфигураций, нажимаем Объединить:
Тогда измененная конфигурация будет загружена в проект.
Например, в "папке №1", которая синхронизируется с GIT уже существует проект конфигурации EDT.
При первом открытии этого проекта нужно произвести следующие действия:
1) При запуске EDT необходимо задать папку рабочей области - "Папка №2" (для хранения временных файлов проекта) (она не должна быть в папке №1). Это может быть любая пустая папка на диске.
2) После загрузки EDT нужно указать, с каким проектом мы сейчас будем работать (при следующем запуске и выборе ранее заданной рабочей области этого уже делать не нужно будет, т.к. рабочая область будет помнить проект). Для этого в меню "Файл" выбираем пункт "Открыть проекты из файловой системы…":
В открывшемся окне указываем путь к папке №1, где расположен проект. EDT покажет, какие проекты он нашел - нужные надо выделить (если их несколько) и нажать "Готово":
Теперь можно работать с конфигурацией, все изменения будут сохраняться в папке с проектом (папка №1), которую можно коммитить, например, через "черепашку" стандартным способом (статья про "черепашку").
При первом запуске нужно будет создать информационную базу (если ее не было):
В окне настройки запуска нажимаем кнопку "Создать ИБ" (либо, если она есть, нужно ее выбрать):
Каталог для базы можно либо указать какой-то свой на локальном диске, либо в папке, которая синхронизируется с GIT (но не в папке проекта, можно на уровень выше).
В итоге будет создана информационная база и строчка с списке баз, которые отображаются при стандартном запуске 1С (т.е. базу можно будет запускать и без EDT, а также делать правки в конфигураторе).
Если база не подцепилась автоматом, но создалась в списке (видно при запуске 1С, но не видно в списке баз в EDT), то нужно перезапустить EDT и добавить базу вручную. Итог примерно такой:
Если нужно сделать обновление конфигурации в информационной базе (для принятия изменений конфигурации), то в контекстном меню проекта выбираем пункт "Обновить конфигурацию" - указать параметр "Загрузить конфигурацию полностью…":
Описывать здесь отдельно, как работать с GIT в EDT смысла нет, т.к. на официальном сайте есть довольно хорошая и подробная электронная книга с картинками: "Групповая разработка в 1C:Enterprise Development Tools" (содержит переработанные главы книги "Pro Git").
Несколько скриншотов, чтобы понять какого формата книга:
Вообще неважно, каким инструментом происходит синхронизация с гитом, EDT показывает все коммиты в красивом списке, готов сравнить и показать отличия в версиях.
1. При появлении обновлений EDT (в рамках одной версии, например, 1.11.0.8, 1.11.1.15) не показывают, что изменилось. Не понимаешь - нужно ли тебе ее обновлять или нет. Хватило бы простой фразы "Исправлены выявленные ошибки", тогда конечно сразу бы захотелось обновиться.
Также при установке, даже если это обновление в рамках одной версии, программа ставится отдельно, а не поверх предыдущей:
Понятно, когда версии разные (1.10, 1.11), но ставить отдельный экземпляр для каждого обновления - это немного перебор. И если Вы не будете удалять предыдущие версии, то скоро весь рабочий стол зарастёт ярлычками EDT :)
При этом при установке очередной версии EDT забывает расположение рабочих областей, их нужно переоткрывать заново, чтобы они появились в списке рабочих областей.
2. Ну и основное, что иногда выводит из себя: это мелкие, а иногда не очень, "глючки", сопровождающиеся вроде бы огромным текстом ошибки, но что-то понять из которого практически всегда невозможно.
PS: чтобы не обидеть разработчиков EDT, не буду отрицать, что может быть все описанные ниже непонятности происходили из-за возможно некорректно установленной Java или ее версии, или еще каких-то внешних факторов относящихся конкретно к программному обеспечению на моем ПК. В конце концов "мои кривые руки не из того места" тоже никто не отменял :)
Перечислю то, что замечала в последнее время работы.
2) Первоначально этот абзац хотела написать так: Нельзя одновременно открыть одну и ту же конфигурацию в EDT и в конфигураторе (если уже хотя бы раз был осуществлен запуск ИБ из EDT, в этом случае, пока EDT запущен, даже если процесс отладки из EDT уже прекращен, запустить конфигуратор уже не получится - возникнет ошибка блокировки). Поэтому, если вдруг по какой-то причине (например, не получилось что-то найти в EDT) нужно открыть эту же конфигурацию в конфигураторе, придется сначала закрыть EDT.
Но в итоге нашла, как одновременно открыть конфигуратор, не закрывая проекта EDT:
Выбираем ИБ - ПКМ - Запустить конфигуратор:
3) Ну и есть разные мелочи, которые скорее всего либо можно отнести к огрехам конкретного релиза, либо к моему неумению с ними обращаться. Например, почему-то не работает в редакторе форм кнопка "Проверить" (кнопка не активна, сочетание клавиш не отрабатывает):
Странно отображаются общие команды на формах в командном интерфейсе, вернее отображается что-то совсем не то, что хотелось бы видеть. Хотела, чтобы в командном интерфейсе одной формы была определенная общая команда… и так её в EDT искала на форме и сяк… начала уже потихоньку с ума сходить от непонимания, а оказалось, что она и так была там, где нужно, просто в EDT не отображалось (обнаружила ее только в конфигураторе).
Мне нужна была на форме ОбщаяКоманда.РолиИИсполнителиКоманд. Вот что отображалось в EDT:
Никак не могла понять, что я сделала не так, что она не отображается, пока не заглянула в конфигуратор. Вот как та же форма выглядела в конфигураторе:
Может это какая-то специальная задумка? Если кто в курсе, поясните, пожалуйста, почему так.
Далее. Не всегда открывается форма написания запроса для динамического списка. При нажатии на ссылку "Настроить" ничего не происходит (в конфигураторе открывает нормально).
Или не копируются роли, вылетая с ошибкой:
Либо копируются, но пустые.
Недавно переклинило макет СКД, когда в настройках "дернулась" рука и перенеслась группировка не в ту иерархию. Макет открывался попросту пустой (хотя в конфигураторе всё отрабатывало нормально):
Также заметила, что в настройках начальной страницы, если задана видимость элементов по ролям, при повторном открытии не видно, кому эта видимость была назначена.
Например, вот что видно в конфигураторе:
А вот тоже самое в EDT:
Вы видите "галочки"? - Нет. - А они есть :)
В довесок не работают кнопочки "вверх/вниз", т.е. поменять местами расположение форм в рабочей области можно только через удаление/добавление.
Ну и ошибка, которая меня немного добила… проект в какой-то момент просто перестал компилироваться, запуск останавливался с ошибкой:
При воспроизведении тех же изменений кода с последнего удачного запуска непосредственно в конфигураторе, ошибок при запуске не было.
Проблема в том, что в EDT-ошибках зачастую нет конкретной информации в каком месте кода проблема. Только через поиск непосредственно в исходниках был найден XML-файл, содержащий ссылку, и непонятно почему в определенный момент это стало вызывать ошибку, т.к. файл не менялся несколько коммитов подряд и проект компилировался ранее нормально. При полном "переимпорте" конфигурации из ИБ в пустой проект проблема ушла.
Но это, думаю, с каждым релизом будет исправляться, ну и, как обычно, будет появляться что-то такое новое, поэтому нужно принять подобное поведение системы, как данность.
UPDATE 20.08.2019
Заметила еще глюк при работе с макетами: при установке толщины линии - значение толщины не сохраняется. Т.е. если было установлено "Сплошная толщина 1", Вы меняете на 2, нажимаете Ок, не наблюдаете изменений, заходите снова в форму изменения толщины и видите снова 1. Чтобы изменить это значение, нужно вместе с изменением толщины изменять и тип линии, тогда сохраняется:
Специально не стала описывать в статье возможности EDT, т.к. про них довольно много написано и не хотелось повторяться и переписывать официальную документацию. Упомяну кратко только то, что имеет значение именно для меня.
Работа напрямую с исходными кодами и с GIT, конечно, основное преимущество EDT, но для меня не самое главное. Если говорить о мелочах, то многие из них - бесят, а многие, наоборот, заставляют снова и снова возвращаться к EDT, а именно:
- Сам интерфейс EDT импонирует больше, чем интерфейс конфигуратора (мнение чисто субъективное и поклонники конфигуратора скорее всего сразу оспорят данный момент).
- Синтаксис-помощник "на лету" (в частности, вывод справочной информации по фрагменту, на котором стоит курсор в модуле).
- Анализ кода "на лету", генерация процедур и функций.
- Создание нескольких вариантов запуска отладчика (можно настроить запуск под разными пользователями с разными настройками и т.п.)
- Быстрый поиск команд (кнопок в панель вынесено не много, но можно использовать строку поиска по командам).
В общем и целом данный программный продукт мне нравится и с моей точки зрения у него скорее больше плюсов, чем минусов, к тому же доработка его идет довольно интенсивно, что дает надежду на дальнейшую стабильную его работу.
И последние скриншоты "про память…", т.к. про "прожорливость" EDT ходит много слухов.
Тут по разному и зависит от интенсивности использования. Бывает так:
PS: используемая версия EDT на момент написания статьи 1.12.0.221.
Встречайте — 1C: Enterprise Development Tools.
Начну с предыстории.
На днях, произошел очень интересный этап в истории развития 1С – была выпущена новая среда разработки под 1С — 1C:Enterprise Development Tools.
1C:EDT – это новая среда для разработки под «1С: Предприятие 8», которая основана на базе открытой платформы Eclipse.
Да, да, да – встречайте, во всех странах СНГ и не только – Eclipse с разработкой на русском языке!
(под катом много больших картинок)
На текущий момент это всего лишь ознакомительная версия, тут нет очень многих вещей, и даже объектов, которые необходимы для полноценной разработки в 1С. Но и это не плохо, так как 1С официально заявило следующее:
«Данная версия не предназначена для полноценной разработки, она может быть использована только для ознакомления с концепциями и технологиями разрабатываемого инструмента, а также для разработки небольших, простых конфигураций».
Список ограничений на текущий момент зашкаливает, однако это очень приятный шаг со стороны 1С, так как ранее они ничего не публиковали в общий доступ, если это не прошло хотя бы предварительные бета тесты, и то, публикуют это все-равно в разделы для тестирования. Эта линия очень четко отслеживается по мобильной платформе 1С.
Так как 1С взяли за основу Eclipse, то автоматом получились вот такие требования:
Естественно, что работает все на Windows 8/8.1, однако в этом случае надо Java 8, а не 7.
Однако, теперь разрабатывать можно и в среде Mac OS.
Но, для начала, перед тем как обрадуются поклонники Mac OS, следует немного объяснить принципы работы в Eclipse, в случае 1С – Eclipse, это текстовый редактор, который просто позволяет редактировать xml, в которых описаны объекты 1С, а это значит, что вы работаете не с базой 1С, как это обычно привыкли делать программисты 1С, а только с конфигурацией, которую вы потом обновляете в конкретной базе данных.
А отсюда следует, что разработка под Mac OS, в отличие от Windows и Linux, может заключаться только в редактировании данных, без возможности привычной нам отладки.
Ну и как можно догадаться, без полноценного 1С предприятия и доступа к конфигуратору отладка не получится.
Одно из ключевых преимуществ (как по мне) — к каждой базе теперь можно подключить n-проектов, т.е. ранее мы не могли, работая с одной базой данных, разрабатывать несколько конфигураций. Точнее могли, но тогда надо было бы возиться с двумя (тремя … n) конфигураторами, выгружать и загружать конфигурации, и вообще – каждый конфигуратор, это отдельное окно. Теперь каждый конфигуратор — это, по сути, отдельный проект.
Но, хватит полемики, давайте перейдем уже к действиям и скринам. Из описанного выше – понятно, что нам надо иметь установленную версию 1С, полноценную, ну и теперь необходимо скачать еще один дополнительный файл. Все это скачать можно тут (только для тех, кто подписан на ИТС). А справка по этому продукту находится тут.
На странице скачивания вы выбираете нужную версию 1С, как это делается обычно, и нужную версию 1C:EDT. Обратите внимание, что разрядность EDT и Java должны совпадать, т.е. или оба x86 или оба x64.
Далее необходимо установить саму 1С, если не установите – работать ничего не будет, т.е. нужно установить именно ту версию, которая дается на этой странице.
После этого надо разархивировать архив com._1c.g5.v8.dt.rcp-win32.win32.x86_64, и можно приступать к работе в Eclipse. Для этого достаточно запустить файл dt.exe. Но, перед запуском – удостоверьтесь, что у вас более 4Гб оперативки, так как со стандартными настройками – виртуальная машина отъедает 3Гб, если у вас меньше оперативки, то можно изменить настройки в файле dt.ini, там есть такая строка -Xmx3072m, вот число – это объем памяти, меньше 2Гб лучше не ставить, а то чревато ошибкой Out of memory.
Сам по себе архив – это компиляция Eclipse с предустановленными плагинами. Т.е. в данном случае не получится подключить свои плагины и настройки из стандартной версии Eclipse, как это можно сделать в случае разработки под Android, когда просто мы указываем путь, выбираем нужные объекты и Eclipse автоматом все настраивает и обновляет. Но, я думаю, что 1С и это вскоре сделает.Первый запуск будет долгий, и так будет всегда, увы, так как создается виртуальная среда, которая после выхода – уничтожается. Но, с другой стороны, это не большая проблема, так как вам для работы с разными базами не надо будет открывать 100500 вариантов Eclipse.
При запуске вы увидите вот такое красивое окошко:
Итак, после запуска – для тех, кто раньше работал в Eclipse, — не будет ничего особо нового. Интерфейс по умолчанию выглядит вот так:
Тут сразу видно, что появились новые перспективы:
Давайте познакомимся поближе с перспективой 1С. Справа внизу находятся доступные базы данных, причем это всего лишь отображение подключенных баз у текущего пользователя. В данном случае 1С просто считывает файл ibases.v8i. Так что тут сразу будут импортированы те базы, которые у вас уже были ранее подключены.
Там же и происходит управление веб-сервером:
Тут ничего особенного, тут обычные настройки, которые необходимы для публикации базы. Причем все на английском. Вообще тут надо привыкнуть, ибо интерфейс русско-английский, ну и конечно – это в будущем исправят.
Теперь можно добавить конфигурацию в проект:
Для этого ее необходимо импортировать. После импорта, те базы, конфигурации которых у вас импортированы, будут иметь дополнение в наименовании в фигурных скобках, как в данном случае.
Далее нам станут доступны объекты этой конфигурации, и мы ее увидим уже в привычном нам виде:
Увы, но на текущий момент недоступно слишком много свойств и объектов. Однако это совершенно не мешает разрабатывать простенькие конфигурации, например, для мобильной платформы 1С.
Вот так выглядит форма документа:
Стоить отметить, что в целом – 1С сумели сохранить привычный всем вид рисования форм. Но и добавили несколько плюшек (или это баги?). Например, ранее – добавляя поле на форму – мы не видели его тип, и это не страшно, когда вопрос касался примитивных типов. Но когда начинаешь указывать ссылки, то можно и запутаться, особенно когда форма достаточно большая, и в ней существует несколько вариантов отображения данных, в зависимости от начальных условий. Особенно это касается новых конфигураций (например, УНФ).
А тут нам сразу указывается и тип, ну не чудесно ли? Осталось надеяться, что это не баг :)
Ну пока формы кривоваты, но тем не менее, для альфа релиза – я ожидал худшего.
Теперь я подключу другую конфигурацию, и посмотрим какой-то код:
Как видно – теперь вполне одновременно можно работать с разными объектами разных конфигураций в одной среде, слева доступен список функций и процедур, список поделен по областям (которые в стандартном конфигураторе чуть более чем бесполезные).
Выделяются экспортные функции, параметры, и подсвечивается текущая функция, в которой вы находитесь, для примера, вот так это выглядело ранее:
Но все это мелочи по сравнению с тем, что 1С сделали дальше. А дальше они сделали удобной функцию удаленной отладки. Т.е. теперь можно использовать отдельный сервер для отладки данных. К сожалению – информации немного на этот счет. Но, как можно догадаться из настроек – поднимается некий веб-сервер для отладки и через него происходит работа с отладкой всех платформ, в том числе и мобильной.
А это в свою очередь значит, что получен удобный механизм, когда разработчикам 1С больше не надо тягать базы к себе на компы, потому что обычно среда тестового сервера не располагает всеми возможностями, которые есть на своих компьютерах. Да и каждый раз прыгать от сервера к серверу – было не круто.
Теперь можно управлять кучей серверов, удаленно отлаживать данные, работать в своей среде на своем компьютере. К тому же 1С сделали возможность зашифровать канал передачи данных (на что, увы, 99% 1Сников и админов не обратят внимания).
Кроме этого всего – 1С подключили плагины для работы с git. Так что вскоре, для всех тех, кто страдает от работы с хранилищем конфигураций, можно будет смело перейти на git. Описывать работу с гитхабом я смысла не вижу, там «все как обычно».
1С даже создали свою ветку, где они выложили одну из демо конфигураций в свободный доступ.
Но, на фоне того, что 1С начала работать вплотную над проектом EDT, они были вынуждены сделать несколько решений, которые они все-таки внедрили в старый добрый конфигуратор:
Я думаю рассказывать тут особо нечего, все понятно из скрина.
Таким образом, случилось то, чего боялись большинство программистов «не 1С» — русский язык идет в ваши ряды :)
С другой стороны, для программистов 1С – это большой скачок в развитии. Теперь уже порог входа немного увеличился, и, я думаю, немалая часть программистов отвалится, оставшись на старых версиях конфигуратора, как это было с 7.7. Но те, кто смогут осилить новые парадигмы и принципы – будут вознаграждены тем, что научаться работать в популярной среде. А значит, переключаться между разными языками программирования будет намного проще. А, как все однэсники знают – мы одним 1С не ограничиваемся, ибо вечно надо что-то допилить на JS,VBS, SQL, Bash, HTML, а с выходом мобильной платформы – надо будет еще писать и под Андроид, а тут все это в одном флаконе устроить можно будет.
Конечно, обидно, что нет поддержки IDEA, но я думаю и это не за горами, так как когда только выбрали это направление в 1С – IDEA была еще не слишком популярной, даже Android разработчики обходили ее стороной, из-за отсутствия среды для рисования форм, что в 1С – является ключевым функционалом.
Так что жди, мир! Мы идем!
P.S. Специально для тех, кто очень хочет увидеть русский язык в Eclipse и рассказать о том, что программировать на русском – это убожество, то прошу под спойлер:
Берегите глаза
Тут очень хорошо видно, как удобно реализованы области.
А вот так реализована отладка. При чем localhost с портом (слева вверху) как бы намекает на то, что там может стоять ip адрес другого компа.
За несколько лет сначала вынужденного, а потом и вполне занимательного администрирования 1С у меня накопился набор решений под большинство особенностей продукта. Предлагаю отложить в сторону высокие материи про кластеры и тюнинг SQL, и перетряхнуть запасы скриптов и механизмов, которые облегчают жизнь с 1С.
Будут как простые инструменты создания новых пользователей и мониторинга "все ли вышли из базы", так и более изощренные интерфейсы проверки целостности базы и ее перемещения.
Как у большинства сложных приложений, у 1С через некоторое время работы вылезают странные ошибки, и возникает порой необъяснимое поведение. Специальные люди по 1С советуют в таких случаях почистить кэш.
Если запустить 1С с параметром /ClearCache, то будут очищены только клиент-серверные запросы. Локальные метаданные останутся и их нужно удалять отдельно на уровне файлов и папок. Эти данные хранятся в профиле пользователя, в папках с длинными названиями из GUID баз данных. Если баз на сервере немного, то такой кэш нетрудно удалить руками. Но если БД исчисляется десятками, то чистке вручную вы не обрадуетесь.
В подобных ситуациях выручит скрипт на Powershell, который запускается каждый раз при выходе пользователя из системы:
И никаких связанных со старым кэшем проблем.
Для исправления испорченной файловой базы в поставку 1С входит утилита chdbfl.exe, которая просто считывает содержимое базы во временный файл. Если какие-то данные считать не может — пропускает. При этом у нее нет ключей запуска для автоматизации, и проверку приходится запускать вручную.
Вообще, правильнее запускать проверку БД конфигуратором, но этот процесс проходит значительно дольше. Если же использовать только проверку физической целостности средствами chdbfl.exe, то не забывайте делать резервную копию из-за возможной потери данных.
Для баз 8.1 Андрей Скляров создал хороший инструмент Check1CD, с двумя параметрами запуска: "исправлять найденные ошибки" и “путь к базе”.
Но в Check1CD не хватает двух вещей:
Раз есть "хотелка" и немного свободного времени, то почему бы не попробовать решить вопрос самостоятельно?
Доработать код для передачи параметров через ключи командной строки — дело техники.
С выходом 1С 8.2 возникла проблема — путь к chdbfl менялся с установкой нового релиза. Что ж, дополним скрипт:
Надо сказать, недавно был опубликован исходный код Check1CD. Да, тоже на AutoIT.
Аналогичный механизм можно применять и для автоматического запуска различных регламентных механизмов, где нужно запускать 1С и ждать завершения операции.
При различных регламентных операциях с 1С (ночное обновление конфигурации или бэкап в .dt) важно обеспечить отсутствие подключенных к ней пользователей. Можно конечно запускать 1С: Предприятие с ключом /C ЗавершитьРаботуПользователей, но это не всегда удобно, да и хочется же потом написать личное письмо с рекомендациями по устранению склероза.
Можно использовать штатную возможность подключения к 1С через COMConnector и скрипт на AutoIT. Код написан под 1С 8.1 и позволяет выкинуть пользователей из базы с записью в журнал.
Но операцию иногда нужно проворачивать по просьбе самого пользователя, который запустил "тяжелый" отчет и повесил 1С. Если не хотите решать эти вопросы самостоятельно, то просто выведите любителям “тяжелых” отчётов ярлык на скомпилированный скрипт:
Еще COMConnector помогает проверить наличие обновлений конфигурации, получить какую-то информацию из базы, и автоматизировать заведение пользователей в 1С.
На мой взгляд, создавать новых пользователей 1С должен системный администратор, а не программист 1С. Но последнему нужно сделать процесс максимально простым. Чтобы администратору не приходилось "заглядывать" в каждую базу отдельно, можно использовать еще один скрипт.
Юрлиц развелось слишком много — нужно разбивать на столбцы.
Занятно, но после смены нескольких поколений администраторов в одной компании из далекого прошлого новенькие уже не знали как создать пользователя вручную.
Если нужно перенести базу 1С: Предприятия вместе с ее данными в SQL на другой сервер, то делать это вручную целесообразно только для 1-2 БД.
Список баз для миграции можно брать и из файла, а лог выводить в текстовый файл. Аналогичным образом можно конвертировать несколько десятков баз из файловых в SQL простой выгрузкой-загрузкой в .dt
Конечно, это далеко не все, что можно автоматизировать в связке с 1С. Но разного рода обмены, получение real-time информации из 1С в других приложениях и прочие сценарии не попали в этот обзор из-за узкой направленности и специфики.
Наверняка у вас тоже есть свой набор "ноу хау" для администрирования 1С — будет здорово если поделитесь с коллегами в комментариях.
Скрипты и ноу-хау предоставлены avelor, за что ему огромное спасибо!
Требования для разработки скриптов и работы с 1С:Исполнителем
Доступ к дистрибутиву бета-версии «1С:Исполнителя» могут получить все пользователи с активным договором 1С:ИТС и партнеры фирмы 1С.
Для запуска среды разработки на базе Eclipse необходимо использовать 64-разрядный дистрибутив Liberica JDK из последней таблицы с заголовком «Полная версия Liberica включает LibericaFX и Minimal VM, где это применимо».
Читайте также: