|
Нет предела совершенству 1С | ☑ | ||
---|---|---|---|---|
0
su_mai
12.12.14
✎
07:54
|
Исходя из своего опыта убедился в том, что весьма удобно было бы указывать тип параметра процедуры или функции. Нет это не строгая типизация как в других языках, это просто декларирование типа для конфигуратора. Что то на подобии формализованного комментария. Так например указав что Таблица имеет тип ТаблицаЗначений при работе с этой переменной становятся доступными методы работы с ней.
Может я что то пропустил и когда то об этом говорили, но все равно интересно ваше мнение. П.С. Может orefkov реализует такое в Снегопате :) |
|||
1
Легат
12.12.14
✎
07:57
|
Согласен, особенно с параметром, но жить можно..
|
|||
2
su_mai
12.12.14
✎
08:01
|
(1) Ну в общем то да, но так было бы удобнее. А то есть стандарты что методы надо комментировать, а в прикладном смысле кроме как "для глаз" это пользы не дает.
|
|||
3
ice777
12.12.14
✎
08:07
|
не нужно. давайте имена типа ТЗтаблица и не парьтесь.
Чужой быдлокод читать в отладчике тоже не проблема. |
|||
4
Ненавижу 1С
гуру
12.12.14
✎
08:10
|
(3) "давайте имена типа ТЗтаблица"
это и есть быдлокод |
|||
5
su_mai
12.12.14
✎
08:12
|
(3) После точки не показываются свойства и методы
|
|||
6
kosts
12.12.14
✎
08:17
|
На безрыбье и рак рыба...
|
|||
7
su_mai
12.12.14
✎
08:19
|
(6) Или так
Если Ложь Тогда Таблица = Новый ТаблицаЗначений; Конец |
|||
8
Эмбеддер
12.12.14
✎
08:20
|
(7) а после того, как процедура написана, это можно удалить
|
|||
9
Андрюха
12.12.14
✎
08:20
|
Еще хочется инкрементального присвоения как в PHP, чтобы вместо
Область.Параметры.Представление = Область.Параметры.Представление + " (по контрагенту)";
писать Область.Параметры.Представление += " (по контрагенту)"; |
|||
10
ice777
12.12.14
✎
08:20
|
(5) зачем тебе точка, сильно ты коллекции по методам отличишь, хочешь- настрой.
2. в режиме отладки, когда тип значения уже определен, подведи курсор,- не стесняйся. или нажми уже shift+f9. и вообще, есть куча методов. каждый пользует, что ему нравится. |
|||
11
Dmitry1c
12.12.14
✎
08:21
|
А все уже видели, что "Найти в списке" вернут в 8.3.6?
Сорри за оффтоп :) |
|||
12
ice777
12.12.14
✎
08:21
|
(9) это из C пришло, а потом уже пэхапы появились.
|
|||
13
Kyon8
12.12.14
✎
08:22
|
(6) Между "#Если" и "Тогда" вообще можно что угодно ставить кроме зарезервированных выражений, я пишу через шаблон для повышения читабельности
#Если ДляСинтаксПодсказки Тогда //... #КонецЕсли Минус - могут в следующих релизах пофиксить) |
|||
14
kosts
12.12.14
✎
08:22
|
(11) Не помню. Где это применялось?
|
|||
15
su_mai
12.12.14
✎
08:26
|
(8) А если в последствии поправить надо кому то другому, то он её добавит, ошибется в заглушке и потом всем миром будут отлаживать :)
|
|||
16
su_mai
12.12.14
✎
08:27
|
(10) Никто не спорит, что сейчас выкрутиться можно, но это (имхо) порочная практика.
|
|||
17
su_mai
12.12.14
✎
08:28
|
(9) Хочу "делегаты" в 1С
|
|||
18
su_mai
12.12.14
✎
08:28
|
+(17) и лямбда ;)
|
|||
19
Эмбеддер
12.12.14
✎
08:29
|
(15) тогда надо установить пароль на модуль, чтобы кто попало не лазил туда
|
|||
20
quest
12.12.14
✎
08:30
|
(18) +500
Ну и макросы еще, как в лиспе |
|||
21
su_mai
12.12.14
✎
08:30
|
(19) Ну а если это не нужно, а нужно что бы ко не залезет - все понятно, все ОК! :)
|
|||
22
su_mai
12.12.14
✎
08:31
|
(20) И регулярные выражения добавить хотябы в поиске по текстам модулей
|
|||
23
ice777
12.12.14
✎
08:32
|
(19) пожалей себя. и так глюк на глюке, а если еще и шифрование вставят ;)
|
|||
24
quest
12.12.14
✎
08:35
|
(22) cl-ppcre на макросах сделана, без всяких заморочек. А вот то что невозможно невозможно расширять язык - напрягает
|
|||
25
su_mai
12.12.14
✎
08:40
|
(24) cl-ppcre можно прикрутить к конфигуратору?
|
|||
26
quest
12.12.14
✎
08:46
|
К конфигуратору можно прикрутить все (спасибо снегопату)
Стоимость этого - другой вопрос |
|||
27
WebberNSK
12.12.14
✎
09:30
|
(0), (26) Скоро будет средства разработки для 1С на эклипсе, думаю что там все подобные вопросы постепенно и решатся
|
|||
28
quest
12.12.14
✎
09:35
|
(27) Эта байка - про скоро - уже второй год ходит
|
|||
29
mrDru
12.12.14
✎
10:37
|
(27) ну и на кой ляд этот нафталин кому-то нужен? ладно бы еще на Intellij Idea сделали, а это тормозилище эклипс давно пора либо в топку, либо полностью переписывать.
Несколько лет назад ушел из 1С (начал работать с 8.0, уходил с 8.2) на java, был счастлив статической типизации и прочим плюшкам, но сейчас, поработав с буржуями (которые по сути пишут аналог 1С, не подозревая о существовании последней) понимаю, что все, что в платформе есть, присутствует там сильно не спроста. За последние годы понял, что всему есть логичное объяснение на этой платформе и реализовано все, что только может захотеть корпоративный пользователь, на очень высоком уровне. Сейчас сам пришел к тому, что строгая типизация только и годится, что для помощи IDE в подсказке автоподстановки. Прямые руки и тесты позволяют писать и без типов вовсе, а смещение рук от корректного положения не спасти и scala/haskel типами. Реально помогли бы в развитии языка только две вещи: замыкания и функции, как объекты первого класса. Ну и, пожалуй, встроенный маршаллер/парсер для json/yaml. |
|||
30
thezos
12.12.14
✎
10:57
|
Да ну фигня это всё, подсказки, снегопад. Человек должен знать что делает без всякой херни.
|
|||
31
Господин ПЖ
12.12.14
✎
10:59
|
(3) 1C венгерскую нотацию предает анафеме
|
|||
32
Турист
12.12.14
✎
10:59
|
(28) +100500, скоро станет таким мемом как и HL 3
|
|||
33
su_mai
12.12.14
✎
11:00
|
(29) Ты так жалостливо пишешь, может показаться, что хочешь обратно в 1С :)
Добавить транзитивные замыкания и функции обратного вызова это огромное по объему дело. И не только собственно кодинг платформы, а доучивание программистов-внедренцев до этого уровня. Другое дело добавить очередной удобный бантик, который ни к чему не обязывает, по моему реально. |
|||
34
quest
12.12.14
✎
11:32
|
(29)> Реально помогли бы в развитии языка только две вещи: замыкания и функции, как объекты первого класса.
Сперва хотел написать +500, но подумал и напишу +100500 |
|||
35
su_mai
12.12.14
✎
11:37
|
+(0) Почему бы не описывать правила сериализации и десериализации объектов прямо в соответствующих обработчиках модуля объекта?
|
|||
36
compors
12.12.14
✎
11:40
|
(3) > не нужно. давайте имена типа ТЗтаблица и не парьтесь.
Интеллиценз не сработает. А было бы удобно. в семерке это работает так: Процедура блаблабла(Параметр) //Параметр:ТаблицаЗначений Иногда просто делаешь: если 1 = 0 Тогда Параметр = создатьОбъект("ТаблицаЗначений"); конецЕсли |
|||
37
su_mai
12.12.14
✎
11:42
|
(36) === (7)
|
|||
38
compors
12.12.14
✎
11:44
|
+(36) Скрипты в семерке могут определять тип переменной по контексту вызова, типа
процедура вызов1(Параметр) КонецПроцедуры процедура вызов0() переменная = создатьобъект("Блабла") вызов1(переменная) КонецПроцедуры И из глобальника тоже могут вынимать типизацию. |
|||
39
mrDru
12.12.14
✎
12:06
|
(33) неее, меня в jvm уже не выгнать, эта платформа мне ближе, здесь тоже удобств всевозможных до задницы. Вот только для разработки корпоративного продукта в большинстве случаев я посоветую 1С, а для интеграции/вэба/не учетной специфики я за jvm.
|
|||
40
su_mai
12.12.14
✎
12:09
|
(39) :)
|
|||
41
su_mai
12.12.14
✎
12:10
|
+(40) Согласен главное из профессии не выпадать, а остальное дело удобства, вкуса и бюджета.
|
|||
42
Зеленый Кот
12.12.14
✎
12:20
|
о венгерской нотации никто не слышал?
мда... |
|||
43
su_mai
12.12.14
✎
12:23
|
(42) К чему й то ты?
|
|||
44
Vovan1975
12.12.14
✎
12:23
|
(42) простите, а почему Вам не пофик?
|
|||
45
quest
12.12.14
✎
12:25
|
(42) ты предлагаешь по префиксу тип восстанавливать? бред
|
|||
46
Зеленый Кот
12.12.14
✎
12:27
|
(43), (44), (45)
внимательно читаем, что хочет топик стартер - там все написано! |
|||
47
Vovan1975
12.12.14
✎
12:28
|
(46) и как венгерская нотация поможет топикстартеру?
|
|||
48
quest
12.12.14
✎
12:29
|
(46) ТС - сам не знает чего хочет. И в этом не знает ему венгерская нотация никак не поможет.
|
|||
49
su_mai
12.12.14
✎
12:30
|
(46) Я на правах топик стартёра ответственно заявляю!
Про венгерскую, польскую и прочие нотации мне все известно. Просто хочу декларативно указывать тип переменной или параметра для того чтобы после точки вываливались его методы и фсё. |
|||
50
su_mai
12.12.14
✎
12:31
|
+(49) И не фигачить всякие заглушки типа: (7)
|
|||
51
quest
12.12.14
✎
12:33
|
(49) на правах участника этой ветки ответственно отвечаю - возьми в руки руководство по снегопату и сделай все что тебе хочется.
|
|||
52
su_mai
12.12.14
✎
12:35
|
(42) Если уж говорить про венгерскую нотацию, то более разумным предложением для декларативного указания типа мне видится что то на подобии явного приведения типа:
Функция Привет((ТаблицаЗначений) Таблица) (51) Очень он нужен ваш снегопадт, сама 1С стоит не мало, а тут еще кому то деньги надо платить за возможность что то допиливать самому :) |
|||
53
quest
12.12.14
✎
12:36
|
(52) Ты вообще в теме? Снегопат ты бесплатно можешь скачать и пользоваться сколько хочешь.
>что-то допиливать самому Ленивые же одинесники пошли.... |
|||
54
su_mai
12.12.14
✎
12:37
|
(53) https://snegopat.ru/order.php А это что?
|
|||
55
su_mai
12.12.14
✎
12:38
|
+(54) Базовая стоимость одной лицензии составляет 4000 рублей.
|
|||
56
su_mai
12.12.14
✎
12:39
|
+(55) И ставить его надо у всех клиентов. У серьезных заказчиков, любые установки надо согласовывать с админи и тп
|
|||
57
quest
12.12.14
✎
12:39
|
||||
58
quest
12.12.14
✎
12:40
|
(57) - по слову "демо" имелось в виду
|
|||
59
quest
12.12.14
✎
12:41
|
(56) А вообще ты прав - напиши в 1С письмо - они и быстро это сделают. И качественно. И главное - тебе ничего настраивать не придется.
|
|||
60
su_mai
12.12.14
✎
12:42
|
(57) (58) (59) Мне тебя жаль.
В демо-версию встроены следующие ограничения: Ограничены поддерживаемые релизы 1С. Взависимости от вашего комплекта, может быть использован один из следующих релизов 1С: 8.2.16.368 8.2.17.169 8.2.18.104 Подсказка о параметрах методов иногда выводится в нечитаемом виде При включении опции перехвата штатного списка 1С он иногда не перехватывается При вызове макросов периодически появляется запрос нажать на нужную кнопку. Нет синхронизации скриптов снегопата и дополнительных скриптов с центральным репозитарием. |
|||
61
quest
12.12.14
✎
12:47
|
Год сижу на бесплатной версии.
За это время только один раз показало нечитаемо подсказки. Запрос нажатия - решаемая проблема если думать Синхронизация с центральным репозитарием - лично мне никуда не уперлась Минус - только то что не слезть с 9.2.18.104 - но для меня не критично. Я по клиентам не бегаю. А насчет жаль - читай (59). И продолжай надеяться на дядю который за тебя все сделает. |
|||
62
su_mai
12.12.14
✎
12:49
|
(61) >А насчет жаль - читай (59). И продолжай надеяться на дядю который за тебя все сделает.
Не, я об этом не спорю, надежды на то, что кто-то, что-то сделает практически нет. |
|||
63
su_mai
12.12.14
✎
14:31
|
(0) Можно реализовать объявление типа переменной/параметра в виде определенного типа области (на подобии using в C#):
Функция Привет(Парам1, Знач Парам 2, ... Парам N) #Область Наша область Использовать (Парам 1 как ТаблицаЗначений, Парам N как Число(15,2)) #КонецОбласти КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |