Визуальный язык ДРАКОН

Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность

Инструменты пользователя

Инструменты сайта


drakon-sxemy_aleksandra_araptanova
Перевод этой страницы:

Форум: Язык ДРАКОН и система «1С:Предприятие»
Форум: Язык ДРАКОН и программа «ИС Дракон» для 1С

Дракон-схемы в 1С. Программирование, внедрение, обучение, поддержка

Зачем заморачиваться?

«Бизнес состоит из двух вещей - люди и системы.» Джош Кауфман.

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

Вот перечень основных вопросов:

  1. Что хочет пользователь?
  2. Можно ли реализовать желания пользователя, купив «коробку» 1С?
  3. Если коробочное решение требует доработки, что именно следует дорабатывать? И сколько это будет стоить?
  4. Какую «коробку» купить, чтобы дорабатывать меньше?
  5. Наши «доработки» полностью устроят заказчика?
  6. «Доработка» написана правильно? Может это «плохой» код?
  7. Если доработали, сколько будет стоить обновление?
  8. Как обучить людей быстро и понятно работать в новой системе?
  9. Если люди увольняются и принимаются, сколько времени новичок будет учиться?
  10. Новичок будет учиться самостоятельно? Или у него будет инструкция?
  11. Кто поможет новичку научиться работе в системе?
  12. Уволенный сотрудник может не передать информацию новичку?
  13. Программист-разработчик может уволиться. Легко ли новому программисту будет поддерживать систему?

Как эти вопросы при разработке и внедрении «победить»?

Язык ДРАКОН - большинство вышеизложенных вопросов он решает, или решает частично.

Есть и свои минусы по сравнению со традиционным подходом программирования 1С:

  1. Тратим больше времени на описание задания.
  2. Код который генерит транслятор программы «ИС Дракон» (здесь и далее будем рассматривать именно этот продукт, как основной инструмент разработки) выглядит необычно и сложен для понимания по сравнению с «традиционным» кодом.

Мое личное мнение - все эти минусы субъективные, но решать вам.

Надеюсь у тебя есть опыт внедрения или разрабатывал что нибудь в 1С-ке? Если ты планируешь нанять программиста, установить себе в контору «что нибудь», чтобы понять куда в твоем бизнесе уходят деньги. То тебе лучше почитать другую статью (напишу как время будет :-) и размещу здесь ссылку). Вообще в сети куча такой литературы.

Итак, решил попробовать? Читай дальше. :-)

С чего начать?

Поехали. Про сам язык (что это за схемы, как их читать и вообще) смотри тут: http://drakon.su/jazyk/start

Язык ДРАКОН остался бы языком с непонятной областью применения, если бы не было удобных «рисовалок» для простых смертных, для меня и для тебя. Обзор и сравнение этих продуктов делать в этой статье не буду (может позже :-)).

Рисовать схемы и генерить код 1С для модулей будем программой «ИС Дракон» глубокоуважаемого мною Геннадия Тышова. Хочу еще раз сказать ОГРОМНОЕ спасибо этому выдающемуся человеку за его работу. Подробнее можно почитать тут: http://drakon.su/programma_is_drakon

Найти этот продукт довольно просто:

Сразу скажу, продукт платный есть «пробный» период - 15 дней.

Надеюсь 1С-ка у тебя стоит?

1С-ка "по быстрому"

Если тебя не волнует всякая муть как «дружить» пользователей с 1С. И тебе просто хочется побыстрей начать «кодить» в Драконе… . Вот тебе инструкция, читать слева на право:

Вот как вставить ссылку на файл в блок-схему:

Вот как «перемещать» объекты в схеме:

Как "дружить" пользователей и 1С

«Бизнес? Отделы? Маркетинг? Покажите мне деньги! Покажите мне «мясо»!» Из интервью какого-то олигарха.

Знакомая картина? Встреча с заказчиком (не так, вот так: Заказчик):

  • «Вы 1С занимаитесь?» - Заказчик
  • «Да» - Программист 1С
  • «Купили 1С, знакомый программист установил, данные из старой 1С-ки перенес. Да вот стали ему вопросы по работе задавать, и он отвечал как-то «вяло» а потом пропал. Телефон не берет и вообще… . Можете помочь?» - Заказчик
  • «Надо глянуть… . А что купили?» - Программист 1С
  • «Вот коробка… . 1С «Управление небольшой фирмой». Вот… Бухгалтер она вам все покажет. Мы делаем мебель. Нужны отчеты по складу, кассе. Пока отсюда начнем. Потом нужно считать зарплату. Хочу знать прибыль. А то запутался совсем - мы прибыльные или нет?» - Заказчик
  • «Надо глянуть…» - Программист 1С
  • «Сколько будет стоить?» - Заказчик
  • »«Х» рублей в час» - Программист 1С
  • «А сколько времени займет?» - Заказчик
  • «Надо посчитать…» - Программист 1С

Вопрос оценки работы подробно рассматривать не буду - у каждого она своя. Вот что надо сделать, как я понял. Есть уже купленная «конфа». Почему именно она? Кто выбирал? Вопросы без ответов… . Главный вопрос: как ее «дружить» с этой фирмой и сколько это выйдет Заказчику? Отсюда будет ответ на вопрос, сколько я заработаю = сколько я потрачу времени и сколько часов мне оплатят? Надо понимать Заказчик хочет дешево, я хочу сколько нужно. Надо договориться. Договариваться нужно с аргументами в руках, желательно «с цифрами». Чтобы их получить »+/- километр», надо вникнуть в суть работы компании: описать бизнес-процессы. Поехали.

Поговорил - нарисовали такую схему:

Да, любой бизнес-аналитик скажет: «Детское творчество!». Но «Яж программист» - мне «фиолетово», главное я могу теперь взять эту схему и начать предметный разговор и меня люди поймут (поймут, поймут - проверено на людях :-)).

Дальше. Надо бы понять, примерно, что за «конфу» купил Заказчик (купил же уже). Берем схему, найдем инструкцию по «конфе» и попытаемся, читая схему и инструкцию понять, насколько «конфа» подходит к схеме работы. Если он бы купил «ЗУП» и пытался бы эту схему в ней реализовать - сам понимаешь, ничего не выйдет. Тогда идем к Заказчику и говорим, что или «конфу» надо другую (вот эту например …) или поищите другого «тыж программиста».

В нашей истории «конфа» более менее подходит. Пока… . Беремся. Идем к Заказчику - рапортуем, и, главное, что будем делать в первую очередь узнаем. В нашей истории Заказчик попросил реализовать складской учет сначала. После разговора с кладовщиком наша основная схема принимает вот такой вид:

Как видно, элемент №9 теперь стал «Вставкой» - ссылкой на другую схему. Расшифруем схему работы Кладовщика, для модуля-вставка №9 из предыдущей схемы:

Получаем инструкцию по оприходованию товара Кладовщиком:

Нарисовали. Теперь садимся рядом с Кладовщиком и пытаемся эту схему реализовать. И вот, «всплывает». Оказывается, параметры печати нужно каждый раз менять вручную. Непорядок. Сделаем доработку, чтобы параметры печати устанавливались сами. И отразим это в схеме:

Внимание на элемент схемы №197. Так я отражаю изменения в конфигурации. Этот элемент входит в «Параллельные действия» с элементом №193. Это значит, что моя доработка «включается» когда пользователь нажимает эту кнопку. Заголовок «Доработка МФК-0002» означает, что эта доработка так называется в моих каталогах (веду маленькую картотеку своих работ, Дракон мне в этом помогает…). Эта доработка: просто пара строк в уже написанном коде. Оформление более серьезных доработок рассмотрим позже.

Имя модуля содержит краткий смысл доработки и адрес внесенных строк в конфигураторе. Текст доработки находиться в 3-ей точке ввода (видно, что она черного цвета). Вот текст, который вы там могли бы увидеть:

		''ТабДок = Элемент.Значение;
		//+ААА Задать параметры при печати этикеток
		Если Найти(ТабличныеДокументы[0].Представление, "Этикетка") > 0 Тогда
			ТабДок.ПолеСверху = 0;
			ТабДок.ПолеСнизу = 0;
			ТабДок.ПолеСлева = 0;
			ТабДок.ПолеСправа = 0;
			ТабДок.РазмерКолонтитулаСверху = 0;
			ТабДок.РазмерКолонтитулаСнизу = 0;
			ТабДок.АвтоМасштаб = Истина;
		КонецЕсли;
		//-ААА Задать параметры при печати этикеток
		ТабДок.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);''

Ничего сложного, как видите.

Подведем маленький итог на основе вопросов, заданных выше:

1. Что хочет пользователь?

  • Поняли это (примерно ;-)) составив дракон-схему основного алгоритма работы предприятия.

2. Можно ли реализовать желания пользователя, купив «коробку» 1С?

  • Сравнили дракон-схему и инструкцию по «конфе» - нужны будут небольшие доработки.

3. Если коробочное решение требует доработки, что именно следует дорабатывать? И сколько это будет стоить?

  • Не понятно пока, но скорее всего будут «небольшие» доработки. Ничего особо затратного.

4. Какую «коробку» купить, чтобы дорабатывать меньше?

  • Изначально купленная конфигурация подходит. Опять таки исходя из проведенного выше сравнения дракон-схемы и Инструкции по «конфе».

5. Наши «доработки» полностью устроят заказчика?

  • Наша доработка «маленькая» и полностью оправдана.

6. «Доработка» написана правильно? Может это «плохой» код?

  • Думаю да.

7. Если доработали, сколько будет стоить обновление?

  • Есть четко описание, что, зачем и как изменили - обновить будет легко.

8. Как обучить людей быстро и понятно работать в новой системе?

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

9. Если люди увольняются и принимаются, сколько времени новичок будет учиться?

  • Инструкции есть - учиться будет быстро.

10. Новичок будет учиться самостоятельно? Или у него будет инструкция?

  • Инструкции есть - учиться будет легко.

11. Кто поможет новичку научиться работе в системе?

  • Инструкция есть - полная и подробная. Она поможет. В крайнем случае - мой приемник или начальник ему поможет.

12. Уволенный сотрудник может не передать информацию новичку?

  • Все инструкции, в виде дракон-схем, в электронном и/или печатном виде храняться у руководства компании. И легко выдаются по мере необходимости.

13. Программист-разработчик может уволиться. Легко ли новому программисту будет поддерживать систему?

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

Не плохо для начала. Двинемся дальше.

* Дракон-схемы на мебельной фабрике

Дракон-схемы на мебельной фабрике

drakon-sxemy_aleksandra_araptanova.txt · Последние изменения: 2015/05/26 21:29 — Паронджанов В. Д.