1C:Enterprise Development tools (EDT) или кодим в Eclipse

11.04.15

Разработка - EDT

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

Добрый день.

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

А если честно, то именно таким будет разработка в среде 1С будущего.

10.04.2015 был знаменательный день, во всяком случае, для меня – 1С поделилась своими планами о принципах разработки в среде 1С. Итак – приветствуйте:

1C:Enterprise Development tools

1C:Enterprise Development tools – это среда для разработки конфигурации в IDE Eclipse.

В свою очередь Eclipse – это IDE, в которой можно разрабатывать на разных языках программирования, включая Android.

Если попытаться описать очень кратко и в двух словах, с упущением всех тех сложностей, нюансов и проблем, которые пришлось решить 1С, то 1С сделала свою подсветку синтаксиса в Notepad++.

Т.е. все знают, что в Notepad++, Sublime Text и других текстовых редакторах – можно настраивать свои синтаксисы подсветки и даже создавать свои плагины.

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

Ну не чудесно ли это?

Но это еще не все плюшки, кроме этого – появилась поддержка MacOS.

Давайте посмотрим системные требования:

Операционная система

Версия

Архитектура процессора

JRE

Оконная система

Windows

7

x86 32-bit

Oracle Java 7u9
Oracle Java 6 Update 37
IBM Java 6 SR11

Win32

x86 64-bit

Ubuntu Long Term Support

12.04

x86 32-bit

Oracle Java 6 Update 37
IBM Java 6 SR11

GTK

x86 64-bit

Apple Mac OS X

10.8

Universal 32-bit

Oracle Java 7u9

Cocoa

x86 64-bit

Ну что ж, теперь не получится издеваться над 1Сниками, которые сидят под Макосью :). Ну ничего, мы найдем другой повод.

Давайте все-таки начнем, и посмотрим – что к чему.

Вначале – несколько нюансов:

  1. У вас должен быть установлен Java, не ниже 1.7 up60 если у вас Windows 7, или Java 8 – если Windows 8.
  2. Версии Java и скаченного EDT – должны совпадать, т.е. x64 и x64, или x32 и х32.
  3. У вас должна быть сравнительно мощная машина, с минимум 4Гигами оперативки, можно и меньше, но при работе создается виртуальная машина, и в этом случае – будет очень грустно работать.
  4. Так как суть работы в новой системе – сводиться к тому, что будет происходить работа с КУЧЕЙ мелких файлов, то все данные лучше хранить на SSD.

 Справка есть на ИТС (напоминаю про тест драйв на неделю).

Скачать можно отсюда:

https://users.v8.1c.ru/distribution/version_files?nick=DevelopmentTools10&ver=1.0.0.198

Для скачивания достаточно стандартного доступа на обновление платформы.

По этому адресу вас ждет тестовая платформа 8.3.6.1945, я думаю не надо объяснять, что ее надо скачать и установить, иначе не будет доступен некий функционал. И как видите – тут нет 1С под Макось (вот и повод появился:) ), скорее всего, это значит что не будет доступен режим отладки, но я не уверен, так как у меня нет Макоси.

Далее, внизу находятся файлы уже с самими утилитами для разработки, качайте нужную вам версию.

После того как вы это сделаете – разархивируйте папку и запустите файл dt.exe – все должно быть отлично (но, если ничего не помогает его запустить, тогда можно запустить файл eclipsec, но будет урезана часть функционала). После этого – откроется конфигуратор, простите - Eclipse.

Теперь давайте разберемся по порядку:

 

Я выделил цветами интересные для нас области.

Красная область (слева вверху) – это древо конфигураций, и это значит, что вы можете добавлять сколько угодно конфигураций и работать с ними одновременно.

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

Синяя область (Справа вверху) – это просто свойство объектов.

А вот фиолетовая область – это очень интересная область, но о ней тоже позже.

Оранжевая область – это все ваши текущие базы, которые подключены у вас через стартер 1С, по сути идет чтения файла с прописанными базами.  НО! Это не конфигурации, вы из этих баз должны вытянуть конфигурации самостоятельно. Если разрешение экрана высокое, то эта вкладка будет развернута в центре внизу.

Добавить конфигурации можно по разному, можно загрузить из файла, можно из файлов, можно из git, а да, чуть не забыл – тут добавили git :). Но о нем позже.

Давайте вытянем какую то конфигурацию из базы данных.

Нажимаем правой кнопкой на базе:

 

И жмем импорт конфигурации. Кстати, дамп – это выгрузка в dt, да-да, оказывается, выгрузка в dt, это не бэкап базы, не резервная копия (о чем не устанно говорит 1С и не только),  а это именно дамп, тут 1С однозначно расставили точки над i.

 

Выбираем параметры, что уже реально удобно :)

И после нажатия Готово (делать это можно и при пользователях в базе):

 

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

Теперь предлагаю открыть любую форму:

 

Обратите внимание – разницы особой нету, кроме нижних панелей, теперь давайте переберемся в модуль:

 

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

 

Синтаксис помощник теперь подсказывает вам постоянно все функции, на которые вы тыкаете:

 

Просмотр всех ошибок конфигуратора – тоже радует, особенно своим вердиктом в самом конце:

 

Вот так выглядит конструктор запроса:

 

А вот так выглядит отладка:

 

Итоги:

Все вышло намного круче, чем я ожидал. Очень непривычно видеть 1С в таком ракурсе.

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

На этом все. Чуть позже – будет инфа о работе с гитом, но это если не лень будет описывать.

 

 

1C:Enterprise Development tools EDT Eclipse

См. также

Командная разработка облачных продуктов, используя 1С:EDT

DevOps и автоматизация разработки EDT Бесплатно (free)

Даже в рамках одной компании подходы к организации командной разработки могут отличаться: методикой работы с ветками, организацией тестовых и разработческих контуров, параллельным использованием хранилищ или полным переходом на Git. Расскажем, какие варианты распределения серверных стендов и организации CI/CD выбрали для своих команд тимлиды двух отделов, и как у них происходило внедрение 1С:EDT.

05.09.2023    967    WhatIsLoveMakoveev    0    

4

Доработка типовой конфигурации в 1С:EDT. Разработка, тестирование, слияние, выпуск

DevOps и автоматизация разработки EDT Бесплатно (free)

Использование EDT дает преимущества даже для тех, кто до сих пор остается в конфигураторе. Достаточно настроить разбор основного хранилища разработки в GitConverter и автоматизировать CI на GitLab с помощью скриптов на 1С:Исполнителе. Статья о том, как задействовать для кодовой базы проекта валидацию EDT, используя встроенный механизм GitLab Code Quality, и генерировать дымовые тесты для Vanessa Automation.

23.08.2023    3754    doublesun    25    

33

EDT и полный стек CI/CD

EDT Тестирование QA Бесплатно (free)

EDT позволяет не только полноценно использовать гитфлоу при разработке – изолировать код по веткам в рамках задач и анализировать мерж-реквесты, но и нативно запускать тесты, а также видеть покрытие кода прямо в редакторе. Расскажем о том, как получить от 1С-разработки в EDT максимум пользы и автоматизировать сборку поставки из EDT с помощью Jenkins.

19.07.2023    3149    yukon    12    

35

EDT. Не активируется проектный контекст

EDT Россия Бесплатно (free)

Проблема не активирующегося контекста проекта в EDT и вариант ее обхода.

12.12.2022    1848    AntonChausov    2    

5

Куда привели 2 года работы с EDT

EDT Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

EDT позволяет работать с кодовой базой конфигураций напрямую – использовать GIT, помещать изменения в ветки и запускать тесты до попадания в основную кодовую базу, чтобы добиться «зеленых ночных сборок» для конфигурации. Разработчик из компании «Первый БИТ» Валерий Дыков на конференции Infostart Event 2021 Post Apocalypse рассказал, как безболезненно перейти на EDT и получить преимущества работы с GIT, продолжая работать в конфигураторе.

01.09.2022    8080    Begemoth80    21    

38

Ручная выгрузка и загрузка конфигурации

EDT Механизмы платформы 1С Платформа 1С v8.3 Россия Абонемент ($m)

Внешняя обработка позволяет выполнять выборочную выгрузку и загрузку объектов конфигурации 1С.

1 стартмани

26.08.2022    4058    10    user1041830    4    

9

Быстрое обновление базы 1С из XML-файлов конфигурации (EDT-GIT)

DevOps и автоматизация разработки EDT Обновление 1С Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Быстрое обновление конфигурации и базы данных 1С, вместо долгого обновления из EDT (1C:Enterprise Development Tools) при использовании хранилища GIT. Непосредственное обновлении базы на сервере баз данных (минуя сервер 1С) из XML-файлов конфигурации при помощи утилиты автономного сервера 1С - ibcmd.

1 стартмани

13.07.2022    12124    8    Bitnikov    19    

52
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
93. nSpirit2 14.04.15 15:03 Сейчас в теме
(90) Brawler, ну знаете это вы сами туда передаете
"..неведомой природы аргумент"
. Причем здесь язык и его динамическая типизация?
monkbest; +1 Ответить
94. Alien_job 190 14.04.15 15:25 Сейчас в теме
(93) nSpirit2, так ведь нельзя передать аргумент известной природы. Я даже иногда пишу такие бяки:
Процедура ВывестиТаблицу(Таблица)
    Если ЛОЖЬ тогда
        Таблица = Новый ТаблицаЗначений;
    КонецЕсли;

    ....

Показать


конечно, это решает только одну маленькую проблему динамической типизации. Другая - проверка правильности типов на уровне компилятора - вроде не решается вовсе.
95. nSpirit2 14.04.15 15:53 Сейчас в теме
(94) Alien_job, То что пытаетесь решить вы называется "Не могу писать без встроенной подсказки" это другая проблема. :D
96. nixel 1403 14.04.15 16:06 Сейчас в теме
(94) Alien_job, это решается другим способом.
Можно научить интеллисенс читать комментарий к текущей процедуре, в котором указываются параметры. Тем более, что определение типов по комментарию к вызываемой процедуре уже работает (при открытии скобок).
97. Alien_job 190 14.04.15 16:46 Сейчас в теме
(96) nixel, каких скобок, можно пример? или ссылку на почитать про интеллисенс. Вот тут не уточняется как описывать тип переменной.

Вы наверное имеете ввиду всплывающую подсказку при вызове этой функции, а не подсказки интеллисенса внутри функции - тогда да, пользуюсь.
99. nixel 1403 14.04.15 18:29 Сейчас в теме
(97) Alien_job, я имею ввиду, что определение параметров (и их типов) во всплывающей подсказке при вызове функций можно было бы прикрутить к контекстной подсказке при наборе "через точку" от переменной.
Как описывать типы параметров было указано в одном из чейнджлогов 8.3.х, в которой появилась эта всплывающая подсказка. Общий вид, например, такой (для ОбщегоНазначенияКлиентСервер.ПолучитьМассивОтмеченныхЭлементовСписка):

// Получает массив значений из отмеченных элементов списка значений.
//
// Параметры:
// Список - СписокЗначений - список значений из которого будет формироваться массив значений;

Раз всплывающая подсказка умеет определять тип, то и контекстную (тот самый интеллисенс) можно научить.
101. Brawler 454 14.04.15 18:41 Сейчас в теме
(99) nixel, глупости все это, если на этапе выполнения нет никакой пользы от таких комментариев, а раз приходится писать в комментарии тип параметра, то не лучше ли это сделать непосредственно в самом методе? При этом среда выполнения могла бы контролировать фактические аргументы метода, если указан конкретный требуемый тип аргумента. И интеллисенс мог бы спокойно использовать указанные при параметрах метода типы. Одно из другого вытекает.
187. orefkov 1152 17.04.15 11:22 Сейчас в теме
(94)
В snegopat.reborn для этих целей уже можно писать:
Процедура ВывестиТаблицу(Таблица)
    //: Таблица=Новый ТаблицаЗначений


После чего штатная подсказка 1С всё подхватывает.
tormozit; +1 Ответить
195. 1cmax 152 21.04.15 00:12 Сейчас в теме
(187) orefkov,
#Если НЕ (Клиент ИЛИ Сервер или ВнешнееСоединение) Тогда
 	СтрокаТЧ = Справочники.Справочник1.ТЧ1;    	
#КонецЕсли  


я вот так делаю иногда, повесил шаблон и все подсказка понимает
196. awk 741 21.04.15 08:35 Сейчас в теме
(195) 1cmax,
Если Ложь Тогда...
Надежнее...
197. JohnyDeath 301 21.04.15 08:53 Сейчас в теме
(195) (196)
До прихода //: Таблица=Новый ТаблицаЗначений
делали так:
#Если _ Тогда
     Таблица=Новый ТаблицаЗначений        
#КонецЕсли  
104. comol 5051 14.04.15 23:34 Сейчас в теме
(85) awk, Я уже молчу про переменные.... Хотя какие проблемы "догадаться" о типе из предварительного анализа кода. В снегопате же Саша частично это делает... я в Eclipse вообще никаого IntelliSence не увидел.... Я уже не говорю о том что когда в VS чуть по следующие вещи воспринимаешь как данность:
- Ты открыл скобку а она закрывающую система подставит (включая все операторные скобки)
- Подсказка встанет на наиболее часто используемый метод. Свойства выделяются наиболее часто используемые
- синтаксические ошибки вообще сама система поправит... или спросит разрешения исправить

Потом садишься в родной 1С... а хотите сказать что в Eclipse тоже такого не будет?...
105. awk 741 14.04.15 23:52 Сейчас в теме
(104) comol,
1. Тут ключевое слово "догадаться". Время + ошибки. Я бы не взялся.
2. "Ты открыл скобку а она закрывающую система подставит (включая все операторные скобки) " проверил - есть.
3. "наиболее часто используемый метод" пока нет, но это не так и важно (точно не первоочередная задача).
4. "синтаксические ошибки вообще сама система поправит... или спросит разрешения исправить" Проверил - работает.

Что-то мне кажется мы смотрим разные сборки... Может вы мою сборку eclipse для 1С смотрите, так я там только подсветку реализовал... :))
139. comol 5051 15.04.15 17:28 Сейчас в теме
(105) awk, О_о... я смотрю dt скачанную с users... Она вроде как пару дней назад появилась... я с eclipse не очень, потому как любые интерфейсы написанные на java вызывают безусловный рвотный рефлекс, там надо дополнения подключать, да?...
144. awk 741 15.04.15 18:30 Сейчас в теме
(139) comol,
я смотрю dt скачанную с users...
Так и я.
там надо дополнения подключать, да?
Если охота зайди на marketplace и выбери что надо...
интерфейсы написанные на java вызывают безусловный рвотный рефлекс
Какие интерфейсы? GUI? Так надо всего лишь поменять lookAndFeel в swing, а swt выглядит как родной...
148. comol 5051 15.04.15 18:55 Сейчас в теме
(144) awk, А можешь скрин закинуть где у тебя itellisence в Eclipse для 1C работает... я тогда успокоюсь и "пойду учить матчасть" :).
Какие интерфейсы?
я тут про сам интерфейс Eclipse... Внешний вид конечно же стоит по умолчанию "Windows 7".... только в WIndows 7 он не выглядит как Windows 7... вернее видно что "подделка" многие вещи необычны и напрягают... А ещё когда смотрю в диспетчер задач и вижу что за это я "плачу 1.5 ГБ памяти, и соответствующим временем запуска" эт я просто оправдываюсь в тему почему в eclipse никогда не кодил :)))
150. awk 741 15.04.15 19:08 Сейчас в теме
(148) Лови.
вернее видно что "подделка" многие вещи необычны и напрягают..
Поставь другое оформление...
А ещё когда смотрю в диспетчер задач
Это бета - не релиз...
Прикрепленные файлы:
e1c.avi
165. comol 5051 16.04.15 00:10 Сейчас в теме
(150) awk, спс. А может теперь напишешь как нить статью как это всё настраивается? ;)
166. awk 741 16.04.15 00:34 Сейчас в теме
(165) comol, Обязательно, как только меня перестанут "рвать на части"...
110. pumbaE 15.04.15 08:22 Сейчас в теме
(104) справедливости ради, хотел бы заметить, что модуль xtext на основе которого 1с реализовала поддержку диалекта 1с в eclipse, поддерживает quick fix, просто еще не реализовали. Скажем, так интерфейсы есть, но еще не реализованы.
112. awk 741 15.04.15 08:30 Сейчас в теме
(110) pumbaE, Реализовали (частично). Переменную он мне создал.
98. Evil Beaver 8107 14.04.15 17:04 Сейчас в теме
Все очень круто, но мне кажется требуется некий редизайн пиктограмм. Старые зеленые кнопки (+) (и не только они) как то сиротливо смотрятся в новом интерфейсе
nSpirit2; +1 Ответить
102. dj_serega 390 14.04.15 22:04 Сейчас в теме
Потестил. Печалько.
За начинания ++. За текущую тестовую реализацию -.
190. tempof 17.04.15 11:54 Сейчас в теме
(102) dj_serega,

А что именно не понравилось в реализации?
198. dj_serega 390 21.04.15 18:11 Сейчас в теме
(190) tempof, направление понравилось. С нетерпением жду продолжения.

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

Да я согласен что у меня 8.1 и на ней тесты не производились. Поэтому и можно закрыть глаза на эти ошибки-недоработки.
199. Alien_job 190 22.04.15 07:46 Сейчас в теме
(198) dj_serega, возможно вы не импортировали конфигурацию из базы а создали свою. Тогда в свойствах корневого элемента дерева метаданных переключите основной язык на русский.
Из 8.1 загружать не пробовал (там неуправляемые формы, вряд-ли они будут поддерживаться), но из базы, созданной в 8.3.5 конфигурация загрузилась нормально.
200. dj_serega 390 22.04.15 15:30 Сейчас в теме
(199) Alien_job, 8.1 это всмысле винда :) Извиняюсь за неоднозначность. База на 8.3.5. Сейчас попробую переключить язык.
106. Артано 760 15.04.15 06:36 Сейчас в теме
Солидарен с постами о необходимости дать возможность принудительно типизировать переменные. Но на мой взгляд гораздо нужнее иметь возможность на уровне модуля и/или процедуры запрещать неявное определение переменных. Вот этой опции ОЧЕНЬ не хватает.
107. minimajack 80 15.04.15 07:00 Сейчас в теме
(106) Артано, ни разу не было необходимости в ограничении неявного создания переменной...странное требование, очень странное
108. Артано 760 15.04.15 07:21 Сейчас в теме
(107) Это ограничение очень хорошо тренирует стиль. Эдакое перманентное обучение, заставляющее нормально именовать и использовать переменные. Легко различать контекст и.т.д.
116. slazzy 42 15.04.15 10:21 Сейчас в теме
(108) Артано,
Это ограничение очень хорошо тренирует стиль. Эдакое перманентное обучение, заставляющее нормально именовать и использовать переменные. Легко различать контекст и.т.д.

И правда, давайте надевать штаны через голову.
Если у Вас проблема с именованием переменных, то милости просим в Правила образования имен переменных.
Имена процедур и функций
Есть стандарты разработки и соглашения о коде. Их почти всегда достаточно для понимания какая перменная перед нами и что возвращает функция. Если вы делаете не так, то очевидно проблема не в динамической типизации.
h00k; nSpirit2; +2 1 Ответить
117. Brawler 454 15.04.15 10:26 Сейчас в теме
(116) slazzy, есть проблема с тем, что есть некий алгоритм ожидающий одно, а на входе ему приходит совершенно другое и ошибка вылезти может не в начале алгоритма, а где нить посередине, будешь сидеть копать алгоритм, думать, что он ошибочен, а оно проблема в данных.
Артано; +1 Ответить
120. slazzy 42 15.04.15 10:34 Сейчас в теме
(117) Brawler, дело в том, что 1С в целом язык довольно предсказуемый и практически всегда если мы сами пишем код и понимаем что пишем, то почти всегда мы понимаем какие значения могут быть у переменных в текущий момент. Если мы не орангутанг, то маловероятно ожидать ссылку, а получить булево.
Поэтому вот лично у меня не случалось каких-либо проблем с динамической типизацией. Да, приходится добавлять лишние проверки.
К слову, тут была статья где-то про "Утверждения", так называемые accept из другогих языков. В БСП существует процедура Проверить, которая работает аналогично и при этом которая работает только в отладочном режиме. Поэтому на время разработки можно использовать эти самые Проверить, а во время работы они будут отключаться и производительность страдать не будет.
Живут же люди как-то на Python и RoR
119. Alien_job 190 15.04.15 10:30 Сейчас в теме
(116) slazzy, Цитата от туда "4. Не рекомендуется в названиях процедур и функций описывать типы принимаемых параметров и (или) возвращаемых значений."
168. Артано 760 16.04.15 02:02 Сейчас в теме
Ого комментов!

(116) Давайте не будем обезьянничать. Соблюдение правил по собственному внутреннему убеждению это одно, а соблюдение потому что так банально удобнее - другое.
Давайте приведу пример:

Мы написали функцию где происходит неявная инициализация переменной. Прошло много лет. Другой программист решил доработать её, а то и вовсе изменить контекст выполнения. Так вот - все неявно объявленные переменные будут неотличимы от переменных уровня модуля и глобальных.
169. Brawler 454 16.04.15 07:12 Сейчас в теме
(168) просто взять и начать перерабатывать метод не проблема, сидишь так и обьявляешь все использованные переменные при помощи "Перем", ну чтобы небыло неоднозначностей из какого контекста эта переменная. Но так можно сразу и сломать код, если переменная на самом деле должна использоваться из другого контекста, а мы её явно обьявим в методе. Поэтому люди и пишут префиксы типа "л" “г". Я же вообще избегают глобальных переменных.
h00k; minimajack; +2 Ответить
109. Brawler 454 15.04.15 07:56 Сейчас в теме
(106) Артано, уже выдвигал такую идею в другом каком-то обсуждении. В Visual Basic есть Option Explicit, а хотелось бы и в горячо любимой 1С иметь такую опцию как на уровне модуля, так и на уровне всей конфигурации. Включать ее или нет выбирали бы авторы конфигурации да и все.
114. Гость 15.04.15 09:55
(106) Артано, Ога ога даешь статическую типизацию. Ручное освобождение памяти. Что то программисты на 1с очень просто живут.
Проблема явно не в динамической типизации а в головах у вас :D
monkbest; trumanl; BorovikSV; h00k; nSpirit2; nixel; awk; +7 3 Ответить
115. Alien_job 190 15.04.15 10:21 Сейчас в теме
(114) Ололошка, есть интересный пример с javascript. Многим динамическая типизация показалась настолько неудобной для больших проектов, что был создан специальный язык со статической типизацией - TypeScript - который компилируется в javascript.
Артано; Brawler; +2 Ответить
121. nSpirit2 15.04.15 10:36 Сейчас в теме
(115) Alien_job, К сожаление вынужден согласиться с Ололошкой. Мало того что мешать статическую типизацию в динамическую верх глупости. Вся проблема которая появляется при динамике это более сложное планирование внутреннего устройства системы. Если вы передаете в функцию не то что она ожидает проблема в том что этот аргумент появился где то в предыдущем коде. И проблема явно не самой функции. Ну уж если вы по ошибке что то не то туда передали(Перепутали функцию) то уж простите но пишите описания функций так чтобы можно было вспомнить что туда передавать.
Ну сложный вопрос на JS написано много больших проектов и без TypeScript. У всего есть свои плюсы и минусы. Но это не значит что одно лучше другого. Просто надо свыкнуться и научиться пользоваться текущей парадигмой.
118. Brawler 454 15.04.15 10:29 Сейчас в теме
(114) Ололошка, MS .NET Framework автоматическая очистка памяти, статическая типизация, и ничего, живут люди же!
111. JohnyDeath 301 15.04.15 08:24 Сейчас в теме
А вот как недавно сделал Саша Орефков в последнем снегопате неявную типизацию: https://snegopat.ru/forum/viewtopic.php?f=1&t=677&start=80#p8045
113. garik79 15.04.15 08:32 Сейчас в теме
Спасибо за обзор. Интересная статья получилось. А вот релиз 8,3,6 - это ведь еще все тестовое как я помню. Значит все еще поменяется....
131. nihfalck 15.04.15 16:16 Сейчас в теме
(113) garik79, и платформа, и DT тестовые.

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

главное чтобы у 1С хватило сил на поддержку всего спектра, что они в последнее время развили - и линукс, и УП 2.0, и мобильная платформа. теперь еще DT.
122. awk 741 15.04.15 10:48 Сейчас в теме
Спорщики есть https://eclipse.org/Xtext/ он умеет синтаксис 1 преобразовывать в синтаксис 2 - пишите и дано будет вам.. Могу скинуть грамматику для языка 1С.
Alien_job; nixel; +2 Ответить
123. pumbaE 15.04.15 11:40 Сейчас в теме
(122) В 1c тоже ведь на основе xtext все это сделали.
125. awk 741 15.04.15 11:41 Сейчас в теме
(123) pumbaE, Только идиот бреется топором, при наличии под рукой бритвы... :)))
124. awk 741 15.04.15 11:40 Сейчас в теме
127. pumbaE 15.04.15 11:48 Сейчас в теме
(124) компилим, переключаем view, смотрим.
128. awk 741 15.04.15 11:51 Сейчас в теме
(127) pumbaE, Создаем проект, импортируем модули переименовывая расширения модулей из txt в oneC.
129. minimajack 80 15.04.15 12:26 Сейчас в теме
(128) awk, создадим опенсорсный редактор? :)
ответы разработчиков на некоторые вопросы:

> Для демо-платформы необходимо лицензирование?
Аналогично конфигуратору (нужна ПРОФ лицензия на платформу)
> Есть ли официальный сайт для обновления техплатформы (nightly build)?
Сейчас нет
> Будут ли выкладены исходники 1С бандлов?
Пока не планируется
>Какова политика 1С к програмной модификации новой платформы(плагины)?
Код наших плагинов закрыт. Свои плагины можно будет делать. Технологию (как делать) пока не публиковали, но планируем
cleaner_it; +1 Ответить
130. lustin 15.04.15 16:15 Сейчас в теме
(129) стесняюсь спросить откуда ответы ?
136. minimajack 80 15.04.15 17:03 Сейчас в теме
(130) lustin, разработчиков 1С, конкретно Суаридзе Григория, выложил - мало ли кому интересно будет
137. pumbaE 15.04.15 17:16 Сейчас в теме
(136) ты не в 1с случаем работаешь?

если, там, то передай, что выгрузка конфигурации в линейную структуру - это плохо, очень плохо...
138. nSpirit2 15.04.15 17:27 Сейчас в теме
(137) pumbaE, А чем вы видите принципиальную проблему выгрузки в линейную структуру?
140. lustin 15.04.15 17:41 Сейчас в теме
(138) nSpirit2, 2 проблемы:

1. 127 знаков на имя файла. Поэтому под linux/mac НИ ОДНА типовая у вас в файлы не выгрузится.
2. нечитаемость на Web серверах управления исходными кодами - НИ ОДНУ типовую вы открыть нормально с помощью github, bitbucket, gitlab, gogit, etc не сможете.

Пример с ERP 2.0 - ради интереса выгрузите ERP 2.0 в исходники и запушьте в закрытый репозиторий на github и откройте Web интерфейс просмотра исходников. И замерьте время открытия Web интерфейса
145. awk 741 15.04.15 18:34 Сейчас в теме
(140) lustin, (142) pumbaE, Интересно, а расширения eclipse в 1С то же 1с программисты пишут? А то у меня на прошлой работе пришел как 1С программист, дали java которое я в глаза ме видел (в 2004 курсы прошел и до 2011 забыл) - пиши...
153. pumbaE 15.04.15 19:53 Сейчас в теме
(145) судя по
a = integer.valueOf(Integer.parseInt(paramString.substring(paramString.lastIndexOf('.') + 1)));

недоджависты и недо1cпрограммисты, использовать e.keyCode == 13, вместо VK_ENTER, это как на 1с вместо Символы.ПС использовать Символ(10) ....
154. lustin 15.04.15 20:03 Сейчас в теме
(153) pumbaE, самое "скотское" другое. Это в принципе означает, что в процессе создания продукта НЕ запускался FindBugs или его аналог. Он подобные констркуции выявляет сразу http://findbugs.sourceforge.net/ - у него это называется термином BadPractics
160. awk 741 15.04.15 22:17 Сейчас в теме
(154) lustin, Боюсь такие конструкции и эклипс настроенный проверяет.

А про то, что жрет, то скорее всего либо писали на яве:

String s = "" + str + "" + i + "";

либо на xtend он вроде в яву разворачивает. Не задумываясь, над тем что есть в яве строки и как они хранятся...
142. pumbaE 15.04.15 17:47 Сейчас в теме
(138) плюс к (140) на windows ограничение в 255 символов, но это просто отсрочка проблемы (все вложенные подсистемы в своем наименовании содержат все уровни верхних подсистем, всего 4 вложенные подсистемы, с именем в 50 символов и у вас сломалась выгрузка и под windows).

Удобство в просмотре исходников в и поиска необходимого объекта метаданных при линейной структуре и количестве файлов в 11000 в одном каталоге, плохое.
244. nSpirit2 11.08.15 10:21 Сейчас в теме
(142) pumbaE, Ну что кажется 1с вас услышали :)
http://v8.1c.ru/o7/201507xml/index.htm
245. nixel 1403 02.09.15 11:44 Сейчас в теме
(244) nSpirit2, вангую, что с релизом 8.3.7 выпустят новую бету EDT для демонстрации работы нового механизма. Сам очень жду этой функциональности, полное обновление конфы из файлов идет очень долго
246. nSpirit2 03.09.15 11:04 Сейчас в теме
(245) nixel, да было бы не плохо жаль что релизы приходиться ждать по году так к 2020 зарелизят окончательно если так дело пойдет. Жаль что 1с такой важной вещи удивляют так мало времени очень очень жаль (
143. minimajack 80 15.04.15 17:53 Сейчас в теме
в 1С не работаю
(137) pumbaE, я тот человек который создал это https://github.com/1C-Company/dt-demo-configuration/issues/2
и претензии к markdown-у тоже не ко мне, я как и вы это увидел сразу
чесно говоря увидев markdown - я подумал свершилось чудо и теперь хелп можно писать там и выгружаться будет html...но открыв понял, что жестко обламался
141. lustin 15.04.15 17:42 Сейчас в теме
(136) minimajack, ну тогда как и pumbaEO сказал - основные проблемы архитектуры которые не позволят нормально работать с исходниками:

1. линейная структура исходников
2. конфликт с расширением Markdown
189. orefkov 1152 17.04.15 11:46 Сейчас в теме
(124)
Не совсем правильная грамматика, но для начала сойдет.
188. orefkov 1152 17.04.15 11:24 Сейчас в теме
(122)
А, так вот кто мне каждые 10-15 секунд при попытке редактирования модуля выкидывал исключения по null pointer access...
191. awk 741 17.04.15 23:14 Сейчас в теме
(188) orefkov, Это не я - это он... ;)
(189) orefkov, Не все сразу, особенно если узнал о продукте (xtext) две недели как и работаешь программистом 1С, а не java...
132. budymir 15.04.15 16:20 Сейчас в теме
И чего все радуются? Именно закрытость и самобытность 1С, и в частности, нашего конфигуратора, обеспечивала тот самый барьер, который ограждал нас от основной массы программистов, считавших ниже своего достоинства работать одинэсниками. А теперь это всё исчезает, и конкурентных преимуществ у нас остаётся всё меньше.
133. nSpirit2 15.04.15 16:31 Сейчас в теме
(132) budymir, Расскажите об этом на хабре идите. Чтобы они все оcчасливились открывающимся возможностям :D Потеснить программистов 1с :)
Спасибо Evil Beaver за то сбивает спесь с "настоящих" программистов :)
134. DitriX 2091 15.04.15 16:32 Сейчас в теме
135. nSpirit2 15.04.15 16:37 Сейчас в теме
(134) Про что и пишу :) Видите сколько искренней радости в комментариях :) Весь хабр уже читает Радченко :D
1cmax; CyberCerber; +2 Ответить
194. 1cmax 152 20.04.15 23:53 Сейчас в теме
(132) budymir, Ага и все программисты быстро начнут разбираться в типовых конфигурациях, в бухгалтерии и в ЗУПЕ )) ну-ну...
... будут мямлить, дайте не написать простую атомарную функцию или объект, я не хочу думать о системе в целом
программист 1с тем и хорошо, что может ОБЩАТЬСЯ с клиентом, понимть, что он хочет и реализовывать, то что нужно с учетом своего опыта и знания типовых конфигураций
146. Brawler 454 15.04.15 18:41 Сейчас в теме
Почитал хабр по ссылке выше приведенной.
Обидно за свою профессию и приобретенные навыки. А это и программирование на 1С и работа с людьми, и тот же бух учет от которого раньше бежал как черт от ладана.
Там на хабре сборище ретроградов или и того хуже.
Уперлись в свои языки типа С++, JS и далее и совершенно не хотят осознать, что не все кто сейчас программирует на 1С только на нем и умею программировать.
Мы тут не из-за того, что отсталые, что нам не хватает ума писать на более "хороших" языках, а из-за того, что мы сейчас этими знаниями кормимся, и именно сейчас на наши знания спрос, и да решения 1С дешевле, да тормознутее, да не элегантные, но они действенны!!! они легки в освоении даже попавшим в сложную ситуацию бухгалтером хоть с каким-то выше плинтуса информационным образованием (молодое поколение). А попробуйте поднять среду разработки Deplhi XE и установить наборы компонентов и еще кучи всякой хрени, только чтобы понять где ошибка в программе, а это еще исправить нужно, потом пересобрать правильно...

Есть ниша, и мы ее заполняем, будет вариант, уйду в сферу C# с радостью, только не на учетные задачи!!! Но пока меня и 1С кормит, и как-то себя не считаю ущербным, как надеюсь и вы все себя.
snood; monkbest; +2 Ответить
147. awk 741 15.04.15 18:45 Сейчас в теме
(146) Brawler, Можно клюшникам (правда старым) напомнить про smalltalk, а жаберам про груви... И смотреть на реакцию... Делфи вроде как потихоньку вымирает...
149. comol 5051 15.04.15 18:59 Сейчас в теме
(146) Brawler, на хабре просто все типа true Programmers :)
Я их называю "сторонниками чистого искусства" :). А нам, к сожалению, некогда им заниматься. У нас НДС на носу :)))
151. Brawler 454 15.04.15 19:26 Сейчас в теме
(149) comol, НДС это 100 баллов. Не познали хабровчане всей печали нашего законодательства. Одна персонифицированная отчетность в ПФР чего стоит.
152. DitriX 2091 15.04.15 19:42 Сейчас в теме
(146) Brawler, та я вечно любитель поржать с этих зазнавшихся трушников, ибо 99% из них просто кодеры, которые не видят грань между языками и задачами.
Я просто и под Java пишу иногда, и даже asm когда то учил и работал, и С, и Delphi, и это помимо всяких js, vbs, xml,xsl,html и прочего, с чем приходится работать нам, 1сникам.
И я понял одно - есть задача, есть метод ее решения, если ты себя ограничиваешь, то ты сам виноват в искусственном сужении своего кругозора. Именно поэтому я их и тролю.
(148) ты не учитываешь одного, у тебя под этими 1.5Гб скрывается 100500 конфигураторов и конфигураций к которым ты одновременно имеешь доступ.
Т.е. ты открыл себе 3 базы, и кайфуешь, это раз, а два - это плюшки, которые даются в этом случае, такие как постоянный анализ всего кода, на что 1с иногда грешит, когда ты собираешь конфу, а там какой то модуль древний с ошибкой есть, и вот ты его не трогаешь, ибо даже не догадываешься о нем, а что бы выявить его - надо запустить полную проверку конфигурации. Ну и т.д.
(149) согласен, и вообще - есть время зарабатывать, есть время развлекаться, а когда пытаются развлечение притянуть к зарабатыванию, то у многих могут возникнуть проблемы :)
(147) не надо, а то вдруг узнают унылость своего существования и к нам начнут ломиться, оно нам надо? :)
Kinestetik; dr2c; CyberCerber; ZLENKO; JohnyDeath; eugeniezheludkov; h00k; +7 Ответить
155. AlX0id 15.04.15 21:44 Сейчас в теме
мм.. сей продукт и должен сделать, что мигнуть красивым значком и молча закрыться? ) у меня он делает именно так ))
156. DitriX 2091 15.04.15 21:45 Сейчас в теме
158. AlX0id 15.04.15 22:05 Сейчас в теме
(156)
А обязана быть 8? В ридми у них написано, что протестирован 7 и даже на 6..
Oracle Java 7u9
Oracle Java 6 Update 37
IBM Java 6 SR11
157. minimajack 80 15.04.15 21:53 Сейчас в теме
(155) AlX0id, похоже не та разрядность java и eclips - все или 64 или 32 bit
159. AlX0id 15.04.15 22:06 Сейчас в теме
(157) minimajack,
64 выдает ошибки какие-то ) Ну там ладно - наверное, с джавой надо разбираться 64битной.. но 32битный ваще как-то странно себя ведет..
161. awk 741 15.04.15 22:19 Сейчас в теме
(159) AlX0id, SDK поставь... в смысле JDK, а не только JRE.
164. AlX0id 16.04.15 00:00 Сейчас в теме
(161) awk,
Ага - дело именно в отсутствии СДК было.
162. h00k 50 15.04.15 22:59 Сейчас в теме
(159) AlX0id,
64 выдает ошибки какие-то )

У меня, на 8.1 Pro х64, запустился с JRE 7, версия автономная x64.
163. awk 741 15.04.15 23:35 Сейчас в теме
(162) h00k, Судя по выводу це линукс...
167. h00k 50 16.04.15 01:52 Сейчас в теме
(163) awk,
Судя по выводу це линукс...

Да я собственно к тому написал, что для запуска DT приходится сначала со сборками java повозится. Причем конкретных рекомендаций пока нет, помогает метод "научного тыка"...
170. 1Cynep4eJIoBek 16.04.15 08:10 Сейчас в теме
я вот думаю что в 1С не дураки сидят, там очень мощный отдел аналитиков и если они решили на Эклипсе, значит это лучший вариант. Вообще IDE эклипс очень удобная, у меня стоит для PHP, если там еще 1С будет это круто и удобно.
171. ZLENKO 398 16.04.15 09:46 Сейчас в теме
"я вот думаю что в 1С не дураки сидят, там очень мощный отдел аналитиков и если они решили на Эклипсе, значит это лучший вариант"

Видимо дураки сидят в Google ;-) : "платформа IntelliJ, разработанная JetBrains, стала основой для нового продукта Google — Android Studio." http://habrahabr.ru/company/JetBrains/blog/179815/
172. awk 741 16.04.15 10:20 Сейчас в теме
(171) ZLENKO, До этого был только eclipse. Потом докрутили VS, потом NetBeans, и только последним сейчас IntelliJ. Стесняюсь спросить вы историю учите или она у вас альтернативная?
174. ZLENKO 398 16.04.15 10:28 Сейчас в теме
(172) awk,

Был Android Studio на Еclipse, VS, потом NetBeans ? Видимо у Вас другие учебники истории :-)
177. awk 741 16.04.15 10:53 Сейчас в теме
(174) ZLENKO, Нет. Я просто четыре года назад писал приложение для торговых представителей (не на 1С).

(175) ZLENKO, Если 1С даст нормальное АПИ по выгрузке-загрузке конфигураций из файлов, то и VS b NetBeans и черт в ступе появиться...
178. ZLENKO 398 16.04.15 10:59 Сейчас в теме
(177) awk, "Если 1С даст нормальное АПИ по выгрузке-загрузке конфигураций из файлов"

Сомневаюсь...
179. awk 741 16.04.15 11:14 Сейчас в теме
(178) ZLENKO, Им придется, для своей же разработки делать...
181. ZLENKO 398 16.04.15 11:16 Сейчас в теме
(179) awk, "Им придется, для своей же разработки делать..."

Именно поэтому код их плагинов закрыт :-) Чтобы не открывать API !
183. minimajack 80 16.04.15 12:10 Сейчас в теме
(181) ZLENKO, код плагинов декомпилируется. Никто не узнает каким образом разработчик узнал о новых возможностях...
да и фигли там смотреть - тупой запуск 1С с ключами

а поповоду 1С совместимо...результатом работы все равно остается конфигурация...
если 1С совместимо на инструмент, то тут и разговор другой
184. pumbaE 16.04.15 12:35 Сейчас в теме
(183) когда-то и в веб клиенте был чистый и понятный js, потом переделали, так что рассчитывать на декомпиляцию не стоит.
Оставьте свое сообщение