1С + Дракон?

Публикация № 19635

Разработка - Математика и алгоритмы

20
Некоторые мысли про применение космических технологий к нашей 1С :-)

http://www.computerra.ru/readitorial/418507/

Очень интересная статья про визуальное программирование процедурных языков (статья вводная, конечно, идти по ссылкам внизу, все книги есть в онлайне)

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

По моему скромному мнению, язык Дракон очень бы неплохо смотрелся именно в паре с 1С.

Почему?

"Рисование" программы на понятном заказчику языке, акцент на понятности работы программы для конечного пользователя!

Защищенность от написания ошибочного кода (!) путем повышения эргономики разработки.

Простая адаптация к процедурным языкам без заголовков и предописаний (а язык 1С именно такой!)

 

Т.е. сегодняшнюю некоторую "отсталость" 1С в области, например, объектных технологий и типов можно превратить в достоинство и использовать, связывая процедуры через визуальный редактор в языке Дракон.

 

Ребят, кажется, это шанс сделать из 1С не просто хорошую рабочую систему, а систему, которая будет революционной в RAD, как когда-то Delphi.

Ссылка на книгу разработчика (Автор про нее знает и одобряет такое распространение его идей, так что даю с чистой совестью)

Дракон-редактор (Интерфейс так себе, но уже работает)

20

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Арчибальд 2708 14.04.09 11:13 Сейчас в теме
Ну надо же. В 84-86 годах на всяких ведомственных семинарах и конференциях мне доводилось делать доклады по графическому программированию. Не ожидал, что графическое программирование кто-то доведет до ума - и это при том, что в 85, кажется, году ВАК перестала принимать к рассмотрению "лингвистические" диссертации.
+ за ностальгию.
2. Душелов 3897 14.04.09 11:16 Сейчас в теме
3. Арчибальд 2708 14.04.09 11:24 Сейчас в теме
(2) Там наработочки по эргономике приличные. Полезны для упорядочения мыслей заказчика/разработчика. Но вот транслятора/интерпретатора, похоже, нет, либо есть, но для очень экзотической платформы (у военных много эксклюзивных машин было тогда).
4. keleg 318 14.04.09 11:30 Сейчас в теме
Да, там интерпретера нет, (кроме военного) есть только транслятор в Oberon :-)
Но вообще-то наваять интерпретер сейчас не такая сложная штука для знающих yacc.
Но вот чем больше читаю, тем больше мне кажется что к 1С эта штука применима. Действительно - сейчас в управляемом приложении (8.2) есть компоновка для отчетов и автоформы. Осталось визуализировать всяческие циклы и if ы, что и делается здесь :-)
И получим... ой, самому страшно мечтать становится.
Но мечтать не вредно, вредно не мечтать!
5. Душелов 3897 14.04.09 11:36 Сейчас в теме
Циклы-циклами, а запросы как будут визуализированы?
10. Anything 81 14.04.09 15:32 Сейчас в теме
Спасибо за ссылку. Мозг поразмять есть чем. :)

(5) Визуализировать запросы можно. Я даже придумывал нотацию для описания запросов в 1С. Искал готовую, но не нашел, пришлось придумывать. Помогла один раз при разгребании головоломного запроса. :)
6. Душелов 3897 14.04.09 11:36 Сейчас в теме
7. keleg 318 14.04.09 11:53 Сейчас в теме
Дык, они уже неплохо визуализированы :-) Нафига изобретать велосипед еще раз? Сделать одну из иконок запросом и все... он же линеен по алгоритму.
8. Арчибальд 2708 14.04.09 13:06 Сейчас в теме
Владимир, а тебе редактор драконов скачать удалось?
9. PowerBoy 2911 14.04.09 13:50 Сейчас в теме
Автор интегрированной среды DRAKON – 1С программист 2-й категории Геннадий Николаевич Тышов :)
Очень интересно - почитаю. Спасибо.
11. Арчибальд 2708 14.04.09 16:55 Сейчас в теме
Поигрался с редактором. Все ж таки минимально серьезный алгоритм сразу теряется в квадратиках. Наверное, такая штука хороша при преподавании информатики - в плане развития систематического мышления и архитектурных приемов. В исходной предметной области, когда общаются инженеры с алгоритмистами - тоже, наверное, хорошо. Управленческий сценарий написать можно. А учет - вряд ли.
Но и перечисленное весьма обширно.
12. keleg 318 16.04.09 03:52 Сейчас в теме
(11) Не-а, не теряется. Если правильно все делать - разбивать на ветки и использовать свертку процедур, то любой алгоритм остается обозримым.
Но, конечно, экран желательно побольше чем 15 дюймов :-)
Я тут посмотрел как делаются компилеры на .net - семь экранов кода.
Думаю, попробовать сделать свой дракон-редактор простенький, который бы exe-шник компилил.
15. PowerBoy 2911 21.04.09 06:52 Сейчас в теме
(12) Был бы хороший ActiveX по рисованию схем, тогда можно было бы прикрутить его в обработке и формировать алгоритмические схемы уже в контексте конфигурации, а отдельный редактор не взлетит :)
17. keleg 318 21.04.09 09:55 Сейчас в теме
(15) ActiveX есть, но они только рисунок выдают, а хочется сразу код :-)
(16) И пусть. Я лучше учет буду ставить в организациях, это всяко интереснее, чем тупое кодирование глючных алгоритмов. Программированию - высокий уровень! :-)
28. PowerBoy 2911 21.04.09 12:41 Сейчас в теме
(17) А что у Вас за ActiveX? Можно на него глянуть?
29. keleg 318 21.04.09 12:49 Сейчас в теме
(28) Я подробно не смотрел, т.к. исходная задача была найти что-то в исходниках, чтоб текст программы или даже код генерить.
Где-то в районе
http://sharptoolbox.com/categories/graphics
или
http://www.devdirect.com/ALL/DIAGRAM_PCAT_1900.aspx
видел бесплатную ActiveX для vision-like диаграмм.
PowerBoy; +1 Ответить
13. keleg 318 16.04.09 03:55 Сейчас в теме
Там очень прикольно обходятся некоторые 1С-проблемы. Например - длинные переменные, дающие необозримый код. Присваивание - в две строчки, сверху переменная, снизу выражение.
Использование для длинных переменных алиасов-псевдонимов, чтоб формулы писать.
14. keleg 318 16.04.09 04:39 Сейчас в теме
Добавил прямые ссылки на основную книгу и на дракон-редактор
16. MSensey 49 21.04.09 09:53 Сейчас в теме
Не боитесь, что вместо нас начнут бухгалтера дорабатывать конфигрураци? :)
19. Арчибальд 2708 21.04.09 10:02 Сейчас в теме
(16) Им давали КОБОЛ в свое время. И незаметно было, чтоб кто-то все бросил и программить начал.
20. keleg 318 21.04.09 10:04 Сейчас в теме
(16) Ну, значит КОБОЛ несовершенен. Excelом же они пользуются и вовсю!
18. MSensey 49 21.04.09 09:56 Сейчас в теме
Хотя, что боятся, ведь из 1с-ков хорошие бухгалтера получаются ))
21. Арчибальд 2708 21.04.09 10:05 Сейчас в теме
(18) Предлагали мне и главбухом, и финдиректором у себя. Влом, однако.
22. keleg 318 21.04.09 10:07 Сейчас в теме
(21) Не. Программировать это ведь не писать код, это ставить процессы, чтоб они потом независимо от тебя работали. Выработка технологий. А кто их исполняет - процессор или люди, это уже вопрос второй.
Все равно уже сейчас написание инструкций и обучение бывает не менее важно, чем само кодирование.
23. Арчибальд 2708 21.04.09 10:20 Сейчас в теме
(22)Согласен. Кодирование, скорее, отвлекает от программирования, чем составляет основу.
"Хорошим программистом становится только тот, кто своевременно уходит от пульта" (с) Э.Дейкстра.
24. keleg 318 21.04.09 10:23 Сейчас в теме
(23) Тут в обсуждении на партнерском форуме мысль возникла.
- Хороший программист думает сразу на языке программирования!
- Т.к. скорость думания зависит от совершенства языка (см. хотя бы алгебру до изобретения формул - ужас полный), значит можно реально повысить скорость программирования. В общем-то об этом книга и написана.
25. Арчибальд 2708 21.04.09 10:37 Сейчас в теме
(24) Вах, зачем нехорошим программистом меня обозвал? ;-)
Я на русском языке думаю. Ежели "Все видит, все понимает, а сказать не может" - это умный собак, а не прогрпммист.
26. artbear 1156 21.04.09 12:17 Сейчас в теме
(24) Мысль про "думает сразу на языке программирования" неверна, это давно известно :(
Хороший разработчик как раз не должен думать на языке программирования, он должен разрабатывать свои программы с использованием языка программирования.
Например, в 1С нет ООП, но можно придумать обходные пути.

ЗЫ рекомендую почитать книгу Макконелл "Совершенный код" - куча всего полезного.
На 1С мир еще не заканчивается, и есть куча способов обойти несовершенство конкретного языка программирования.
27. keleg 318 21.04.09 12:24 Сейчас в теме
Ну, про "думает на языке" говорил мой оппонент.
(задумался, на каком же языке думаю я? :-)
Прикол еще и в том, что в общем-то если убрать управляющие конструкции то большинство языков очень похожи.
30. Паронджанов 21.04.09 21:52 Сейчас в теме
Уважаемые коллеги!

Меня зовут Владимир Паронджанов. Я автор книги "Как улучшить работу ума: Алгоритмы без программистов -- это очень просто! М.: Дело, 2001. 360с".
Я также автор статьи в Компьютерре, о которой Вы знаете. Меня очень интересует тема Вашего обсуждения. Если ко мне есть вопросы, я с удовольствием отвечу.

Примерно в 2000 году специалист по 1С Александр Шилин из города Волжский написал материал под названием "Дракон помогает бухгалтеру" и прислал его мне. В нем сравниваются тексты 1С и дракон-схемы для алгоритмов "Работа с документом Приходный кассовый ордер" и "Обработка счета 62". Я решил использовать этот материал при переиздании своей книги и вставил его в одну из глав. Книга еще не опубликована.
Специально для Вас я повесил все это на Народе. Если хотите, можете скачать.

http://narod.ru/disk/7934439000/%D0%93%D0%BB%D0%B0%D0%B2%D0%B0%2016%20%D1­%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D0%BB%D1%8F%D0%9D%D0%B0%D1­%80%D0%BE%D0%B4.doc.html

Мой мейл vdp2007@bk.ru
Московский тел (495)331-50-72

Желаю успеха Вашему обсуждению.
ILM; PowerBoy; +2 Ответить
31. Паронджанов 21.04.09 22:30 Сейчас в теме
По поводу дискуссии Арчибальда и keleg в пунктах 11 и 12.
Предлагаю вашему вниманию

РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ СИЛУЭТА
И ПРИМИТИВА

1. Силуэт — главное достоинство языка Дракон. Более того, силуэт — его ЕДИНСТВЕННОЕ достоинство.

2. Примитив не в счет, так как его вообще не следует использовать (почти).

3. Алгоритм (или программу) надо рассматривать как последовательную декомпозицию силуэтов. В том смысле, что каждый силуэт может содержать много вставок, каждая из которых раскрывается как силуэт. Примитивы при этом не используются (совсем или почти совсем).

4. Тем не менее, полностью отказываться от понятия «примитив» не следует по двум причинам.

5. Первая причина — педагогическая. Примитив — это прообраз (зародыш) ветки. Основные понятия и правила Дракона удобно объяснять на самой простой модели. То есть на примитиве. И только после этого переходить к рассказу о силуэте.

6. Вторая причина — необходимость описания «мелких огрызков». Откуда берутся «мелкие огрызки»? В процессе декомпозиции силуэта может случиться (очень редко), что какая-нибудь вставка окажется очень простой, элементарной. Настолько простой, что ее неудобно представлять в виде силуэта. Такую вставку можно назвать «мелким огрызком». Вот в этом (исключительном) случае полезно использовать примитив.

7. Добавим еще одну мысль. Ни в коем случае нельзя представлять программу как систему примитивов. Потому что в этом случае НЕВОЗМОЖНО БЫСТРО УВИДЕТЬ ГЛАЗАМИ, как эти примитивы логически связаны между собой. Чтобы понять эту связь, нужен трудоемкий мыслительный анализ, который требует усилий, отнимает время и снижает производительность труда.

8. Систему примитивов всегда можно превратить в силуэт. При этом каждый примитив превращается в ветку силуэта. (Иногда часть примитивов превращается в ветки силуэта более низкого уровня на лестнице декомпозиции).

9. В заключение повторим еще раз основные рекомендации.
• Алгоритмы и программы следует изображать как силуэты.
• Сложные алгоритмы и программы следует изображать как силуэты, в которых многократно используются иконы «вставка». Последние, в свою очередь, раскрываются как силуэты и т.д.
• Примитивы рекомендуется не использовать совсем или использовать только в крайних случаях.
32. O-Planet 6974 21.04.09 23:12 Сейчас в теме
Посмотрел материал. Интересно. Так и не понял, правда, чем указанное графическое представление отличается от блок-схем. Или блок-схему отсюда берут начало? Но не в этом дело. В сложных программах такое представление требует интеллектуальной, многоуровневой графической среды. Кстати, встречал такую среду, когда немного работал с ЧПУ. Был дорогущий пакет от Siemens, который позволял программировать полный цикл работы со станком именно по указанному принципу. Сперва программировался набор термов и лексем, применительно для описания предметной области и процессов станка. Затем составлялась блоксхема программы. После этого, можно было войти в любой участок блоксхемы и составлять программу, оперируя инженерными понятиями. Это мог делать уже не программист. В принципе, корректировать блоксхему тоже. Не скажу, что пакет был прост в эксплуатации. Описание занимало целый cd.
46. Арчибальд 2708 22.04.09 08:22 Сейчас в теме
(32) Принципиально не отличается. Добавлен набор эргомомиеских правил для повышения наглядности = снижения вероятности ошибок.
(34) В корне не согласен, что всякая задача изначально линейна (последовательна). Диаграммы Ганта - яркий пример "крупноблочных" параллельных задач. Примерно так: мы хотим получить результат (набор данных) А. Он зависит от данных Б, В, Г , т.е. А=F(Б,В,Г). Ниоткуда не следует, что мы должны получать аргументы последовательно, если конечно нет зависимости, скажем, В=G(Б,Г). Как только готовы исходные данные для блока (функции), мы можем запускать процесс, вычисляющий эту функцию. Процесс завершает свою работу прерыванием, сигнализирующим о готовности данных.
Программируем (мыслим) мы, конечно, последовательно, т.к. имеем всего один процессор. Система прерываний, однако, существует - это всякому известно - так что налицо квазипараллелизм мышления.
33. CheBurator 22.04.09 00:22 Сейчас в теме
> Чтобы облегчить работу читателя и сделать алгоритм дружелюбным, разработчик дракон-схемы должен заблаговременно разрезать «длинную кишку» и разбить ее на смысловые части.
//
весь вопрос в том, что создание алгоритма и есть, по сути выделение смыслов, разбиение на процедуры/функции (реализующие эти смыслы)... готовый алгоритм красиво нарисовать - не сильно большая проблема (возмоно что при красивом рисовании смыслы будут упрощены/перетаосваны...)... ничего принципиально итересного не увидел.. тот же подход к проектированию "сверху вниз", который еще на вышке в 80-х годах усваивали... то, что разработана графическая удобная нотация - это да... а что еще???
34. CheBurator 22.04.09 00:29 Сейчас в теме
> При этом разделение проблемы на N смысловых частей реализуется путем разбиения алгоритма на N веток.
...тихий хитрый ход, однако ;-)
разделение проблемы на ЭН смысловых частей как выполняется - паралельно, сорри, человек еще мыслить не научился (шизофреники разве), все мышление идет линейно, проблема "пробегается" (прикидывается варинт решения) по линейной неделимой ветке, и потом ее начинаем укрупнять и делить/паралелить на отдельные смысловые цепочки...
..имхо НЕЛЬЗЯ РАЗБИТЬ АЛГОРИТМ НА ЭН ВЕТОК. это разбиение на ЭН веток применяется к уже ГОТОВОМУ АЛГОРИТМУ (а не рождаются ветки в процессе разработки алгоритма) - только сначала этот алгоритм нариован ЛИНЕЙНО, "В КРУПНУЮ КЛЕТКУ", а дальше - разворачивай алгоритм до нужной степени детализации сверху-вниз - вычленяй отдельные смыслы - закидывай их в отдельные блоки/векти и т.д.
...
не втыкаю...
50. Паронджанов 22.04.09 15:46 Сейчас в теме
(34) Che Burashka пишет:
"..имхо НЕЛЬЗЯ РАЗБИТЬ АЛГОРИТМ НА ЭН ВЕТОК. это разбиение на ЭН веток применяется к уже ГОТОВОМУ АЛГОРИТМУ (а не рождаются ветки в процессе разработки алгоритма)"

Ответ. Вы не совсем правы. Алгоритм (а если есть поддержка, то и программа) разрабатывется в процессе работы с дракон-редактором. Ветки рождаются в процессе разработки алгоритма. Допустим, Вы нарисовали алгоритма из 7 веток. Посмотрели - не понравилось (или увидели ошибку). Что делать?
Ответ ясен - исправлять, добавлять новые элементы, убирать старые, менять в них надписи и т.д. Одним словом, надо думать и работать.
В итоге число веток в вашем алгоритме может измениться. В конце работы их будет не 7, а 9 или 10 или еще что-нибудь. А может быть, их будет 6, потому что В сделали вставку (вызов процедуры, а в этой процедуре, в свою очередь, вы сделали (примерно таким же способом 8 веток.
51. CheBurator 22.04.09 15:57 Сейчас в теме
(50) конечно же, согласен. Вопрос упирается в технологию работы и проектирования. Я очень сомневаюсь, что СРАЗУ при наброске дракон-алгоритма непростой задачи будет рождено 7-15 веток.. скорее всего, либо сначала будет глобальный примитив, или 2-3 укрупненные ветки...
Вообще, мне конечно понравилось, думаю взять на вооружение.
Было бы очень интересно посмотреть ролик разработки реального какого-нибудь (или учебного примера) поразвесистей размером - наблюдение за живой работой зачастую дает возможность оценить перспективность предлагаемого решения (Дракона как сути) гораздо быстрее и правильнее, чем чтение кучи книжек...
35. CheBurator 22.04.09 00:39 Сейчас в теме
простое соображение: так сложилось, что для нас привычнее читать/воспринимать слева-направо и сверху-вниз. Дракон предлагает перевернуть сног на голову: читать сверху-вниз и слева-направо. Возьмем средней величины алгоритм, развернем его в Дракон-нотацию (причем не сильно подробно!) - количество веток будет - МНОГО! притом, что в самой ветке - примитивов не так уж и много... получается гораздо выгоднее располагать ветки горизонтально! а не вертикально - возьмите тот же учетный алгоритм 1ски - да это сполшные если-то-иначе (ветки) и повестьте их как гирлянды в дракон-нотации - будут висет как серпантин и мешаться друг-другу......
хотя, конечно, может я и не в теме...
36. CheBurator 22.04.09 00:49 Сейчас в теме
> Чтобы алгоритм был понятным, он должен быть стройным, красивым, упорядоченным, то есть эргономичным.
- опочки.. много чего намешано, без обоснования...
рассмотрим классическую задачу - "перключателя", требуется значение "флажка" перключать между крайними значениями (0,1/1,2) - типичная 1совская задача с пометками; для набора флажков 1 и 2, самое красивое решение: ф=3-ф; - оно стройное! красивое! и еще визуально упорядоченное! (не в пример конструкциям если). А вот понятен ли с ходу данный кусочек алгоритма...???
37. CheBurator 22.04.09 00:54 Сейчас в теме
> До сих пор мы пользовались правилом «Чем правее, тем хуже». Однако здесь оно не имеет смысла. Поэтому на рис. 20 выбрано другое правило «Чем правее, тем больше скорость ракеты».
- предлагается на этапе разработки алгоритма выбрать правило некой оценки "сложности/красоты" алгоритма... а неизвестно, что взять за такой критерний!!! вот неизвестно с ходу - и все! сложность/красота алгоритма определяется желаемой конечной целью и способом ее достижения... зачастую алгоритм строится для получения конечного решения, а не для получения красивого решения (известная трилемма "дешево, качественно, быстро")
38. CheBurator 22.04.09 00:56 Сейчас в теме
> Правило хорошей хозяйки. Если постараться, порядок всегда можно навести.
Именно! даже штатные блок-схемы при правильной их отрисовке и выбора нужной стпени детализации будут понятны и прозрачны ничуть не менее чем Дракон-нотация...
39. CheBurator 22.04.09 01:01 Сейчас в теме
из всего этого пока что какой можно сделать вывод? да как обычно: перед тем как что-то начать делать - спланируй и нарисуй, причем желательно - понятно не только для себя, но и для "соседа". Что предлагает Дракон - вполне определенную нотацию (набор правил), позволяющую "рисовать" понятные алгоритмы (на начальном этапе)... - чем это отличается от того, что мы знали раньше - да ничем...
40. CheBurator 22.04.09 01:08 Сейчас в теме
> считаются вредными и категорически запрещены.
..масло масленное, типа как "немножко беременна". Т.е. что предлагает Дракон - он вдалбливает в меня мысль "ДАЖЕ НЕ ДУМАЙ О ТОМ, ЧТОБЫ НАРУШИТЬ ПРАВИЛО" (в противовес тому, что в иных "местах", допустимо такое: "если данное решение эффективно, то для его реализации можно пренебречь правилами) - вот и все... за счет уменьшения количества допустимых действий повышается "эффективность" алгоритма, заключающаяся в его визуальной понятливости для его быстрой оценки. - Это есть премущество? в каких-то местах (и их наверное подавляющее большинстов) - да (это как наборы очень коротких инструкций процессора - для реализации сложного оператора не изобретают сложный и дорогой автомобиль, а сажают на велосипед кучу маленьких гномиков)
41. CheBurator 22.04.09 01:16 Сейчас в теме
> Таким образом, пример на рис. 24 подтверждает справедливость теоремы 21.
..очень опасное заявление.
рассмотрим теорему (типа ;-): для любых целых последовательных идущих друг за другом пятерки чисел справедливо равенство
a*a+b*b+c*c = d*d + e*e
..
например:
10*10+11*11+12*12 = 13*13+14*14
подтверждает ли данный пример справедливость теоремы - фигушки! (а по автору - подтверждает ;-) мало того - на числовой оси такая пятерка чисел - ЕДИНСТВЕННАЯ! сумма, кстати, = 365 (дней в году - ни на какие мысли не наводит?)
42. CheBurator 22.04.09 01:34 Сейчас в теме
Например: у меня есть процедура, выполняющая некие действия.
и у меня есть потребность выполнить нескольо иные действия, очень похожие на исходные. Из типологии Дракона мне следует "нарисовать" две разные ветки, ибо смысл _немного_ разный? или все-таки усложнить исходную ветку, реализовав требуемый мне функционал за счет добавления в исходную ветку несколько "если"....? где он, баланс...?
43. CheBurator 22.04.09 01:38 Сейчас в теме
ну и сама оболочка Дракон (по ссылкам) слабовата все-таки.. при выходе задается вопрос "сохранить - да или нет" и отсутсвует такая часто требуемая опция как отказаться от выхода!!! и продолжить работу!!!! видать Дракон проектировали не на Драконе... (а вот я когда писал диплом - транслятор отлаживал на самом себе - ккак снежный ком шло - быстро и эффективно)...
44. CheBurator 22.04.09 01:39 Сейчас в теме
Хотя если применить предложенный Дракон-путь, то тут достаточно эффектно могут получиться конструкторы нужных инструментов/результатов"... некое ООП...
45. keleg 318 22.04.09 08:07 Сейчас в теме
Спасибо, Че, за множество идей и комментариев.
Автор (Спасибо, Владимир! Я очень рад, что правильно понял Вас и мои выкладки совпали с вашими :-) очень правильно сказал, что силуэт это главное и единственное преимущество Дракона перед любой другой нотацией - текстовой или графической. А что главное в силуэте? Даже не ветки, они только иллюстрация принципа двумерности кода.
Любые сегодняшние блок-схемы это все равно одномерные структуры, параллельно-одномерность ведь тоже одномерность.
Создатель Дракона же "включил" в код двумерность изначально.
Возможно, это сделано не идеально. Но это ж не догма, это руководство к тому, чтобу думать и делать самому.
Дракон - первая цельная и полная система двумерного представления кода программы. И это, как минимум, ОЧЕНЬ интересно :-)
47. Арчибальд 2708 22.04.09 08:32 Сейчас в теме
+46 Конечно, способ решения задачи "цель -> способ" не очень характерен для учетных задач. Там "событие -> представление события" в основном используется. Исключение составляет, пожалуй, алгоритм закрытия периода - существенно ветвящийся.
48. keleg 318 22.04.09 09:31 Сейчас в теме
(47) А как пример автора из приведенной главы? Конечно, он несколько устарел с точки зрения бухгалтерии (НП давно уже нет) но как принцип?
49. Арчибальд 2708 22.04.09 09:41 Сейчас в теме
(48)Примеры красивые. И, наверное бухгалтеру понятны => полезны. Однако я бы рассматривал их скорее как иллюстрацию к комменту Че (45)
52. Паронджанов 22.04.09 16:05 Сейчас в теме
По-моему, кто-то сказал, что дракон не поддерживает параллельные процессы.

Это не так. Дракон ПОДДЕРЖИВАЕТ параллельные процессы. См. "Как улучшить..." , стр. 171-173 (см. также ссылки на рисунки).

Желаю удачи вашей дискуссии.
53. Арчибальд 2708 22.04.09 17:55 Сейчас в теме
(52)НЕ поддерживает - не говорилось. Поддерживает - да, но не ориентирован на них. Или точнее: ориентирован на вычисления, управляемые командами. А для создания истинно параллельных вычислительных систем/алгоритмов характерна архитектура, при которой вычисления управляются данными. Сидит супервизор и обслуживает очередь (толпу) процессов и очередь (толпу) процессоров.
61. Anything 81 04.07.09 11:23 Сейчас в теме
(52) (56) (57) (60)

Лучше бы конечно ветка в форуме была... Комментарии сложно отслеживать.
Ну да ладно. Оживлю немного дискуссию. :)

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

По многим пунктам согласен с Сhe Burashka, и повторяться не вижу смысла.

Главное, с чем я никак не могу смириться - это отход от классических "замыкающихся" конструкций. Я имею в виду правило, что любой цикл или ветвление должно иметь один вход и один выход - соответственно, внизу схемы ветки снова должны сходиться в одной точке.

|
-<>-
| |
| |
-----
|


Без этого правила схемы превращаются в мешанину с непредсказуемыми переходами (GOTO). Соответственно, ухудшается их читабельность и повышается вероятность ошибок.

Без этого правила схемы становятся немасштабируемыми, т. е. нельзя "свернуть" или вынести в отдельную функцию цикл или ветвление. Соответственно, усложняется процесс оптимизации алгоритма при помощи укрупнения блоков и растет количество ошибок при необходимости "выкусывания" незамыкающихся блоков.

Наконец, без этого правила автоматический перевод дракон-схем в программу на языке высокого уровня (в т. ч. 1С) становится достаточно сложной задачей.

Ну, и что еще поразило - это Дракон-редактор. И поразило не в лучшем значении этого слова. Редактор должен быть удобным и мощным, тогда дракон-схемы могли бы получить большее распространение, хотя бы на концептуальном уровне. К сожалению, автор программы похоже никогда не видел графических редакторов и не знаком с современным программным обеспечением, иначе, я не знаю, чем объяснить такой самобытный пользовательский интерфейс.
65. keleg 318 06.07.09 07:23 Сейчас в теме
(61) Современные языки все же очень отошли от классической Виртовской схемы "один вход - один выход". return, break, continue - суть упорядоченные goto. А ведь есть еще и exception...
67. Anything 81 09.07.09 18:48 Сейчас в теме
(65) В том-то и дело, что при варианте с "замкнутыми" ветками операторы return, break, continue можно изображать одним элементом, и без(!) всяких стрелок.

Потому что границы циклов и процедур легко обозреваются глазами и видно, куда перейдет управление.
54. CheBurator 24.04.09 01:29 Сейчас в теме
Читаю книжку описания языка.
Глава 3. Циклы
Рис.69 Пример цикла "пока" - напанятна!!!
в примере: 3 вертикальные линии, 4 излома.
а если примитивы цикла насадить на левый шампур (поменяв да-нет местами) - будет 2 вертикали и 2 излома - почему не так???
55. CheBurator 24.04.09 01:32 Сейчас в теме
56. CheBurator 09.05.09 06:31 Сейчас в теме
Жалко, что ветка заглохла... Исходный форум по Дракону - взял "на карандаш"...
57. keleg 318 12.05.09 03:45 Сейчас в теме
Я тут готовлю потихоньку большую статью про 1С в свете Oslo и Дракона.
Есть интересные мысли
58. PowerBoy 2911 12.05.09 06:26 Сейчас в теме
(57) Где бы почитать про эту "Oslo"?
60. Арчибальд 2708 14.05.09 09:11 Сейчас в теме
62. Anything 81 04.07.09 11:25 Сейчас в теме
Попробую еще раз изобразить рисунок... :)
Код
   |
 -<>-
|      |
|      |
 -----
   |
Показать полностью
63. Anything 81 04.07.09 11:40 Сейчас в теме
Кроме того, в Драконе не хватает формализованного представления данных.

Данные - это неотъемлемая часть алгоритмом, а иногда и алогритмообразующая, как заметил Арчибальд. Без описания данных дракон-схемы будут иметь чисто академическое применение. Этим же страдают и классические блок-схемы.

Вот, если придумать грамотную нотацию описания данных: простую, масштабируемую, аналитичную... и удачно вплетающуюся в схему алгоритма... То в паре с ней Дракон-нотация (или даже обычные блок-схемы) могли бы приобрести практическое значение.
64. keleg 318 06.07.09 07:15 Сейчас в теме
(63) Я тоже, когда закапываюсь на тему 1С и Дракона сразу упираюсь в данные - для 1С они вполне алгоритмообразующи.
Минимально необходимой, возможно, может быть обычная реляционная схема данных (типа используемой в Access).
Но в любом случае трудно представить себе схему данных неортогональной схеме алгоритма, очень уж по-разному они устроены.
Хотя... возьмем схему проведения документа 1С. Реквизиты документа, взаимодействуя друг с другом (иногда довольно сложным образом) пишутся в регистр.
Схема тут просто просится! На входе реквизит(ы) документа, на выходе реквизит(ы) регистра, схема показывает их взаимодействие, можно проследить для каждого откуда он берется.
Почти как в стековой машине - есть начальное состояние (значение реквизита), есть операции над ним и результат - тоже состояние.
68. tarroman 20.08.09 15:38 Сейчас в теме
(64) в свое время медитировал над нотацией, интуитивно понятной как пользователю, так программисту (я про проведение документов в 1С). Тем более, что поток данных в конфигурациях 1С строится строится по данным документа, т.е. в регистры информация попадает из документа + алгоритмические преобразования и доп. источники. Вот эту то связь и хотелось зафиксировать, чтобы на уровне между алгоритмами и функицианально-прикладном фиксировать логику работы систем (особенно когда работаешь с большими конфигурациями типа УПП 8.1, и комплексная конфигурация 7.7). Закончилось все шаблонными таблицами excel + были наброски системы проектирования бизнес-процессов на структуру данных тиражного решения (на 8-ке). А дальше все заглохло - проект зачах.

А вообще, задача визуализации/автоматизации процессов программирования всегда будет актуальной, особенно для людей, которые хорошо воспринимают графику (а визуалов думается большинство). Особенно это важно, когда нужно "перекинуть" мостик от проектирования к собственно адаптации/разработке решения на 1С.
66. Арчибальд 2708 06.07.09 12:26 Сейчас в теме
(63, 64) Думается, для сложной программной системы следует использовать два типа графов.
Дракон-схема уместна при реализации "черного ящика", полученного при проектировании системы "от данных", т.е. модуля, реализующего получение набора выходных данных из набора входных.
При самом проектировании выделяются этапы преобразований входного (для системы) набора данных в выходной с выделением промежуточных наборов данных. Здесь может появиться параллелизм, а в целом граф будет подобен графу (диаграмме) Ганта. Событие - это готовность набора выходных данных модуля, т.е. завершение исполнения Дракон-схемы. Кстати, реализация "параллельного исполнения" графа Ганта алгоритмически несложна.
71. Геннадий Тышов 26.11.12 19:24 Сейчас в теме
Ссылки на темы: язык Дракон и интегрированная среда ИС Дракон.

В.Д. Паронджанов, Как улучшить работу ума ...
Паронджанов В.Д. Язык Дракон. Краткое описание
Паронджанов В.Д. Занимательная информация
Паронджанов В.Д. Учись писать, читать и понимать алгоритмы. 2012г. В продаже.

Геннадий Тышов. ИС Дракон, Выпуск от 19.11.2012, выложено для скачивания бесплатно.

Ефанов С.Д. сайт Алгоритмический язык ДРАКОН Описание практики проектирования и программирования микроконтроллерных устройств в ИС Дракон. Имеется 4 видео фильма. Описание дано по состоянию ИС Дракон на январь 2012г.

ИС позволяет выполнять проектирование алгоритмов и выполнять программирование на ряде языков, в т.ч. на 1С.

Mixail Заголовок сообщения: Re: Как алгоритмизировать клиентские задачи для 1С ?
http://forum.oberoncore.ru/viewtopic.php?p=76096#p76096
Проектирование АРМ кассира.
Моя дебютная попытка использования Дракона для уяснения новой для меня задачки, формализации исходных требований, представления другим участникам проекта и т.д. и т.п. Я не программист ни по образованию, ни по должности. Моя задача именно проектирование и выдача спецификаций/заданий программерам. Проект не для 1С, но для 1С он бы ничем не отличался (знаю 1С77 по старой памяти). Пару диаграмм в картинках и весь комплект в .DRT в ZIP

С уважением,
Геннадий Тышов.
72. Геннадий Тышов 02.12.12 07:42 Сейчас в теме
Выпуск ИС Дракон от 02.12.2012 здесь
Возможно последний в 2012 году - году Дракона.

Перечень выпусков здесь

Прошу сообщать Ваши отзывы, замечания и предложения.
73. DrAku1a 1300 02.07.13 03:00 Сейчас в теме
Если охота поиграться в "программирование без программирования" - то рекомендую попробовать HiAsm... Идея там довольно классная. Хотя к 1С отношения не имеет...
74. AlexanderKai 09.01.17 10:50 Сейчас в теме
(73)
HiAsm то же самое программирование- for, ifelse. Только совершенно ненаглядное. В тексте гораздо проще ориентироваться, чем в HiAsm.
Дракон предлагает другой подход. Мы видим, что делает программа на человеческом языке. Интересует реализация, тогда смотрим код.
Плюс правила построения блок-схемы. Которые делают ее простой и наглядной.
В HiAsm в первом же примере мешанина из стрелок и блоков.
Оставьте свое сообщение

См. также

"Хочу универсально!" [Часть 1] 65

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Математика и алгоритмы Практика программирования Разработка

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

02.09.2019    3857    SeiOkami    35       

Кодогенерация и метагенерация в 1С 24

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    3946    kirovsbis    28       

Иерархия без "В ИЕРАРХИИ" 113

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

Говорится о том, как эффективно представлять иерархию в СУБД, как получать и использовать эти представления при решении задач в запросной технике. Уточняются и дополняются запросы из статьи "Уровни, глубина, прародители, циклы и аналоги запросом" [https://infostart.ru/public/160707/].

22.08.2019    4263    ildarovich    16       

EnterpriseData – часть 3. Загрузка данных, идентификация объектов 61

Статья Программист Нет файла v8 v8::УФ 1cv8.cf ОС Бесплатно (free) Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    3274    ids79    7       

Запрос SQL для нахождения самого большого простого числа меньше заданного 6

Статья Программист Нет файла Windows Бесплатно (free) Математика и алгоритмы

Данный запрос MS SQL демонстрирует некоторые возможности MS SQL Server, о которых часто неизвестно большинству программистов 1С. В тексте постараюсь объяснить интерес данного запроса (или скрипта).

16.08.2019    1187    alex_bitti    18       

Обработчики событий при записи объектов. Зачем и что за чем? 189

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта.... Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019    10175    4    AlbinaAAA    22       

Как проводятся документы в типовых конфигурациях от 1С 135

Статья Программист Нет файла v8::ОУ ERP2 УТ11 Россия УУ Windows Бесплатно (free) Математика и алгоритмы Практика программирования Разработка

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    14788    skv_79    32       

Управление качеством кода 124

Статья Программист Руководитель проекта Нет файла v8 Бесплатно (free) Математика и алгоритмы Рефакторинг и качество кода

О SonarQube, АПК, EDT. Какие преимущества дает их использование. Для каких команд подходит.

22.07.2019    6856    Stepa86    23       

Что делает "В ИЕРАРХИИ" в запросе? 85

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

Описание действий платформы 1С при использовании конструкции "В ИЕРАРХИИ" в запросах.

16.07.2019    6546    YPermitin    29       

Создание отчетов с помощью СКД - основные понятия и элементы 190

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Математика и алгоритмы

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    17114    ids79    16       

Реализуем Стек, Очередь и Приоритетную очередь в 1С 51

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

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

24.06.2019    7074    RonX01    63       

Почему вообще работает мой запрос? или Ещё раз о планах запросов 45

Статья Программист Нет файла v8::Запросы Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

Другие статьи на эту тему объясняют, что такое план выполнения запроса, но не рассказывают о том, как его получить. Эта заметка призвана заполнить этот пробел. Её цель - популяризировать общедоступные инструменты получения плана запроса среди разработчиков, которые ещё не начали их использовать.

10.06.2019    5490    DataReducer    12       

Вычисление 200 тысяч знаков числа pi 73

Статья Программист Нет файла v8 Россия Бесплатно (free) Математика и алгоритмы

В статье рассматриваются возможности платформы выполнять сверхточные вычисления без использования сложных алгоритмов и внешних компонент на примере вычисления числа pi.

28.05.2019    3583    Oleg_nsk    93       

Регистры накопления. Виртуальные таблицы. Часть №1: Обороты 82

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

Описание работы платформы 1С:Предприятие 8.2 с виртуальной таблицей "Обороты" регистров накопления.

20.05.2019    9732    YPermitin    4       

Выдержки из книги Чистый код 24

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Недавно я прочитал книгу "Чистый код" Роберта Мартина (Robert Cecil Martin). В ней описываются принципы организации и форматирование исходного кода программы так, чтобы в дальнейшем было легко поддерживать такой код. Эта книга является библией для многих программистов, но вот в среде программистов 1С, к сожалению, не очень распространено чтение подобной фундаментальной литературы. Книга более 400 страниц и так много порой лениво читать, да и времени всегда не хватает. По этому я решил выделить в виде цитирования по разделам самые важные моменты. А также снабдил текст своими примерами кода.

16.05.2019    5540    FreeArcher    82       

Что такое алгоритм? 5

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Как ответить на этот вопрос и не попасть пальцем в небо.

25.02.2019    2876    mkalimulin    272       

Криптовалюты, а также иные взгляды на природу денег в терминах 1С 6

Статья no Нет файла Бесплатно (free) Математика и алгоритмы

Это отчасти полемическая статья. Я задумал написать ее как ответ на другую хорошую статью о криптовалютах. Хотелось поспорить с некоторыми утверждениями автора, а ещё больше с некоторыми комментариями. А чтобы текст был более понятным для местной аудитории, я решил использовать, где только возможно, терминологию и практику 1С.

28.01.2019    3566    mkalimulin    89       

Как писать код? Технологии древних цивилизаций, или все новое - это хорошо забытое старое 70

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Все современные технологии - это развитие и доведение до ума (или маразма) древних идей. За последнее время не придумали ничего нового - все, что мы видим, было придумано тысячи лет назад. Не является исключением и программирование, которое в сути своей является переводом с языка условностей технического задания или заявки пользователя в формализованный и абсолютно точный язык математической логики. А логику придумали (по крайней мере первыми опубликовались в ведущих научных журналах) еще древние греки.

23.01.2019    8571    starik-2005    43       

Многоязычное программирование: создание систем с использованием нескольких языков 17

Статья Программист Нет файла Россия Бесплатно (free) Математика и алгоритмы

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

09.01.2019    5551    kalyaka    33       

Размышления о хороших практиках, навеянные одной статьей 12

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Прочитал статью "Ректальное программирование: основы для практикующих 1С-программистов". Статья очень хорошая и своевременная. Но у меня возникло некоторое сомнение. А достаточно ли автор любит и понимает предмет, о котором пишет? Насколько богат его опыт ректального программирования и занимался ли он им вообще? Как человек обладающий многолетним опытом РП, я решил представить вам необходимые дополнения к статье.

21.12.2018    4397    mkalimulin    61       

Ректальное программирование: основы для практикующих 1С-программистов 293

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Одной из самых популярных и зарекомендовавших себя методологий программирования в 1С является так называемое ректальное программирование. Редкий проект внедрения и сопровождения учётных систем на платформе 1С обходится без его использования. Зачастую без знания данной методологии программистам даже бывает сложно найти работу в сфере 1С, потому что работодатели, особенно фирмы-франчайзи, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям.

19.12.2018    30470    for_sale    340       

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С 125

Статья Программист Нет файла v8 v8::blocking 1cv8.cf Бесплатно (free) Математика и алгоритмы Практика программирования

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    20684    ids79    40       

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C 144

Статья Программист Нет файла v8 Россия Бесплатно (free) Математика и алгоритмы Практика программирования

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

23.08.2018    21025    Rain88    42       

Учебный курс. Повышение качества разработки. Ошибки программы 96

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Рефакторинг и качество кода

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекции № 3,4,5. Эти лекции посвящены ошибкам программ, их классификации и способам исправления

10.07.2018    15714    Артано    90       

Що там у них в Java 19

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Развенчание мифа о тяжёлой жизни не 1С программистов на примере создания веб сервиса редактирования таблички с использованием framework spring в Java.

24.05.2018    9155    van_za    62       

Учебный курс. Повышение качества разработки. Вводная лекция, часть 2 49

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекция №2. Эта лекция посвящена абстракциям, их свойствами и практическому применению в рамках классических парадигм программирования.

24.05.2018    10646    Артано    36       

Учебный курс. Повышение качества разработки. Вводная лекция 116

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста.

10.05.2018    15519    Артано    51       

Правила программирования и автоматизации 73

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Изложил свой опыт программирования, больше десяти лет.

21.02.2018    16200    Dzenn    127       

Творим Историю вместе 55

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Расширяем границы, выходим за рамки, ставим новые цели - все, как вы любите.

17.01.2018    14838    1c-intelligence    108       

Использование git при разработке на 1С 121

Статья Программист Нет файла Россия Бесплатно (free) Математика и алгоритмы

Продолжение цикла статей по основам CI. Данная статья расскажет о реализации возможности хранения кода продукта в системе управления версиями git и познакомит со специализированным инструментарием, предназначенным для решения этой и других смежных задач.

27.12.2017    25830    real_MaxA    57       

Об уровне абстракции и сложности системы 14

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

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

21.12.2017    9633    m-rv    15       

Двоичное дерево, двоичное дерево поиска, двоичная куча, B-дерево 34

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

В большинстве реляционных СУБД в качестве структуры данных для индексов (та или иная их реализация) используются именно деревья. И не просто деревья, а сбалансированные деревья поиска. В этой статье как раз о них.

24.11.2017    12356    Irwin    4       

Введение в CI для 1С 87

Статья Программист Нет файла v8 Россия Бесплатно (free) Математика и алгоритмы

Значение роли тестирования при разработке ПО трудно переоценить, его применение позволяет повысить надёжность продукта и улучшить качество кода. Для продуктов для платформы 1С:Предприятие существует ряд инструментов для проведения тестирования, в том числе и от самого вендора. Но, также появились открытые инструменты, реализующие мировые практики проведения тестирования (проверки продукта), поддерживаемые сообществом. В этой статье описаны базовые принципы, которые необходимо понимать перед началом применения этих инструментов.

21.11.2017    18779    real_MaxA    22       

Как работает серверный вызов в 1С 456

Статья Программист Нет файла v8::УФ Бесплатно (free) Математика и алгоритмы

Клиент-серверная архитектура заложена в платформе изначально — со времен «1С:Предприятие 8.0». Однако при разработке на 8.0 и 8.1 о разделении кода на клиентскую и серверную часть можно было не заботиться, поскольку на клиенте (на толстом клиенте) был доступен тот же функционал, что и на сервере. Всё изменилось с выходом платформы «1С:Предприятие 8.2», когда появился тонкий клиент. Теперь на клиенте доступен один функционал, на сервере — другой. Клиент и сервер «общаются» между собой с помощью серверного вызова. Конечно, это усложнило процесс разработки, но с другой стороны – можно создавать более оптимальные (быстрые) решения, поскольку все сложные задачи выполняются на сервере.

18.11.2017    42743    pahich    75       

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода 43

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Математика и алгоритмы Универсальные функции

Зачастую почти любой модуль в 1С содержит от одного до несметного множества вызовов других модулей. Как с этим бороться, чтобы было проще куда-то что-то переносить - в этом посте.

12.10.2017    14430    for_sale    58       

Некоторые особенности разработки ММО-игр на платформе 1С:Предприятие 25

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Добрый день, уважаемые коллеги! На первый взгляд может показаться, что статья посвящена довольно необычным вещам, но поверьте мне, эти вещи всем нам вполне привычны, просто мы их обычно видим под другим углом зрения. Поговорим о том, что такое MMO. Многие из вас уже знают, что это такое, потому что существует такая игра, как World of Tanks, а те, кто в нее напрямую не играл, безусловно, о ней слышали. Игра World of Tanks является классическим MMO. MMO расшифровывается как Массивная Многопользовательская Online-игра. С технологической точки зрения это – нагрузки, нагрузки и еще раз нагрузки.

08.09.2017    9362    Inkasor    21       

Групповая разработка конфигураций в крупном холдинге 68

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

О чем мы сегодня поговорим? • О становлении и развитии групповой разработки конфигураций 1С в крупном холдинге с использованием хранилища конфигураций. • Обсудим практически все аспекты использования хранилища в командной разработке. • Я расскажу про те методы и идеи, которые мы пробовали использовать, какие используем до сих пор, от каких отказались и почему.

15.08.2017    17012    stas_ganiev    15       

Применение нейронных сетей и генетических алгоритмов в прикладных решениях на платформе 1С 170

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Сегодня мы поговорим про нейронные сети и генетические алгоритмы. • Для тех, кто не изучал их в университете, я сначала напомню теорию – что это такое, для чего это надо. • Мы рассмотрим, какие задачи с их помощью можно решать в 1С. • И в конце для тех, кто любит что-то делать руками (работать, программировать), мы разберем, как по факту собрать нейронную сеть или генетический алгоритм в 1С – что написать в коде и как это потом применить.

03.07.2017    31813    comol    63       

Автоматизация процесса 1С-разработки 91

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

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

07.06.2017    22505    ekaruk    9       

Пишем игру Минер. Обработка событий ActiveX в 1С 29

Статья Программист Нет файла v8 Россия Windows Бесплатно (free) Практика программирования Математика и алгоритмы

Пример демонстрирует обработку событий генерируемых компонентой ActiveX в 1С.

29.05.2017    12386    user621724_Dimav1979    11       

Как я доступ на kb.1c.ru получал 90

Статья Программист Нет файла v8 Россия Бесплатно (free) Решение задач на 1С:Специалист Математика и алгоритмы

kb.1c - база знаний по технологическим вопросам крупных внедрений и не только. В этой базе знаний собираются методики и решения технологических проблем эксплуатации 1с, check-list'ы и инструкции по настройке ПО на серверах. Какие-то из размещенных статей дублируются на ИТС. Когда я искал пути получения доступа к нему я столкнулся с проблемой: мало кто доподлинно знает как получить доступ к нему, не работая у франчайзи 1с. Я опишу путь, который прошёл я, как физическое лицо.

01.05.2017    22020    ikekoval    33       

Маленькая хитрость СКД - выводим строки X раз 26

Статья Программист Нет файла v8::СКД 1cv8.cf Россия Бесплатно (free) Практика программирования Математика и алгоритмы

Здесь я расскажу, как вывести в отчет СКД произвольное количество одинаковых строк.

17.12.2016    15349    alexandersh    16       

"Распределение в запросе" или "избавляемся от перебора" 182

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Математика и алгоритмы Универсальные функции

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    27740    alexandersh    45       

Некоторые принципы оптимизации запросов 1С (+SQL) 115

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

Разработка нового функционала часто связана с созданием новых таблиц в базе и написанием запросов. Собственно, размышляя о запросах, мы и формируем в голове содержание таблиц, индексы и количество таблиц и индексов. Заранее можно уверенно рассуждать о том, какая нужна архитектура, если задачу удалось понять. На этом этапе важно привлекать свой опыт. Что же делать, если его нет? Как рассуждать о запросах и формате хранения?

17.11.2016    8597    ture    40       

Использование git для доработки типовых конфигураций 1С 229

Статья Программист Нет файла v8 Беларусь Украина Россия Бесплатно (free) Математика и алгоритмы

Рассмотрены способы доработок типовой конфигурации 1C для различных изменений, и на картинках продемонстрирован подход к разработке с использованием git и частично с тестами.

11.10.2016    185856    pumbaE    31       

Оптимизация запросов 1С:Предприятие – от теории к практике 114

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Математика и алгоритмы

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

07.10.2016    31005    bpc222    20