Содержание

Форум: Язык ДРАКОН и система «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С

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

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

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

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

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

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

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

Как видно, элемент №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. Программист-разработчик может уволиться. Легко ли новому программисту будет поддерживать систему?

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

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

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