1с еус что это

Обновлено: 05.07.2024

В документе "Акт выполненных работ" добавить возможность указания подразделения в ТЧ "Услги".

И нужно ее сделать так, чтобы потом не было мучительно больно обновлять ERP.

Разобьем нашу задачу на несколько этапов:

0. Добавление реквизита "Подразделение" в ТЧ "Услуги"
1. Вывод данного реквизита на форму документа
2. Исправление движений по регистрам
3. Исправление движений по проводкам

Надеюсь, п.0 не вызывает ни у кого вопросов, поэтому сразу перейдем к п.1

Вывод реквизита на форму документа

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

  • ПриСозданииНаСервере
  • ПриЧтенииНаСервере

ведущие к вызову процедур из модуля МодификацияКонфигурацииПереопределяемый, который и предназначен для доработки.
Добавим на форму вывод реквизита

Тут мы применим небольшую хитрость. Все изменения формы будем проводить в выделенном модуле. Для чего? Можно, конечно, писать доработки прямо в этом модуле. Но что будет, когда несколько разработчиков захотят доработать свои документы, а все доработки лежат в одном модуле? Конечно же, кто первый захватил модуль в хранилище, тот и работает. Остальные ждут.

Вот для того, чтобы и избежать этого, выделяем для каждого документа свой модуль.

В реальной жизни, конечно же, в этом документе была не 1 доработка, поэтому такой метод вполне оправдан.

Исправление движений по регистрам

Формирование движений документов происходит следующим образом:

  1. Инициализация данных проведения
  2. Запись движений
  3. Контроль регистров

Тут нас интересует пункт "Инициализация данных проведения". Данная инициализция происходит путем вызова процедуры модуля менеджера

Инициализация сотосит из пунктов
1. Инициализация шапки документа

2. Формирование списка с текстами запросов

3. Выполнение запросов

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

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

Перейдем непосредственно к доработке движений по регистрам

Рассмотрим только вариант с доработкой движений по себестоимости. Для исправления запросов будем использовать объектную модель, которую дает нам СхемаЗапроса

В данном коде используются функции, упрощающие работу со схемой запроса. Эти функции можно посмотреть в приложенном файле

Исправление движений по проводкам

Порядок формирования проводок из формы документа

1. Кнопка "Дт-Кт" - Обоработка.ОтражениеДокументовВРеглУчете, команда ПроводкиРеглУчета
2. Кнопка "Отразить в регл. учете" вызыввает следующую процедуру

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

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

Эти функции вызываются из функции

Добавим в эту функцию перехват и добработку текста запросов
Добавим в функцию ЗапросДанных наш текс для перехватя текста запроса

Разобьем доработку проводок на 2 части:

  1. Изменение уже существующего текста запроса
  2. Добавление нового текста запроса

В нашем случае добавления текста не будет, а только изменение существующего

Рассмотрим наши функции по доработке текста запроса бух. проводок. В отличие от запросов движений по регистрам, в данном случае мы имеем 1 большой запрос, состоящий из отдельных запросов по каждой проводке, соединенных через "ОБЪЕДИНИТЬ ВСЕ". Это немного усложняет нам работу, а также приносит потенциальную ошибку смены порядка запросов.

Итак, с минимальными врезками в типовой код мы выполнили нашу задачу по доработке документа.


Встречайте — 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 адрес другого компа.

Читайте также: