- Начало.
- Ввод А, Б и В.
- Если А > Б Тогда
3.1.1. Б = В.
Иначе
3.2.1. А = В.
КонецЕсли - Вывод А и Б.
- Останов.
Этот алгоритм записывается в графической схеме в виде блок-схемы. Далее создается код, переводящий блок-схему в линейную схему.
Форма отчета с графической схемой
Форма отчета приведена на рис. 1.
Рис. 1. В графической схеме набрана блок-схема алгоритма
Элементы графической схемы имеют Подсказки, приведенные в нижеследующей таблице.
- Каждый блок снабжается Подсказкой, содержащей номер блока в блок-схеме. Принцип нумерации блоков описан выше.
- Действие, следующее после Ветвления, имеет флажок «Групповая». Наличие такого Действия воспринимается процедурой перевода блок-схемы в линейную схему как признак завершения блока Ветвление.
При нажатии на кнопку «Линейная схема» вызывается процедура, строящая по блок-схеме алгоритма его линейную схему.
Блок схемы на примере бюджетирования в 1C ERP
Преобразование блок-схемы в линейную схему
В общем случае алгоритм может содержать следующие блоки:
- Начало.
- Останов.
- Следование.
- Ветвление.
- Выбор.
- Цикл «С параметром».
- Цикл «Пока».
- Цикл «Для каждого».
Ниже приводится упрощенный вариант процедуры перевода блок-схемы в линейную схему, распознающий первые 4 блока из вышеприведенного списка с одним уровнем вложенности. То есть графическая схема может содержать такие элементы, как
- Точка старта.
- Точка завершения.
- Действие.
- Условие.
- Соединительная линия.
Рис. 2. Список элементов блок-схемы, упорядоченный по Подсказке
Линейная схема записывается в текстовый документ «ЛС».
В процедуре прежде формируется список значений «СЗ», содержащий в качестве значений все элементы графической схемы, кроме соединительных линий, а в качестве представлений — их Подсказки.
Далее в цикле перебираются элементы этого списка.
Все элементы, кроме Условия, дают новую строку текстового документа, содержащую Подсказку элемента графической схемы и его наименование. Подсказка и наименование разделяются символом неразрывного пробела — Символ(160).
При обнаружении Условия формируется конструкция Если — Тогда — Иначе — КонецЕсли, в ветвях которой может быть произвольное количество Действий.
// Вызывается при нажатии на кнопку «Линейная схема»
процедура кнопкаВыполнитьНажатие(кнопка)
// грСх — элемент типа ПолеГрафическойСхемы
грСх = элементыФормы.грСх;
сх = грСх.ПолучитьСхему();
схЭгс = сх.ЭлементыГрафическойСхемы;
лС = новый текстовыйДокумент;
сз = новый списокЗначений;
к = 0;
// Формируем список значений из элементов схемы без соединительных линий
пока к < схЭгс.Количество() цикл
Задание 2 Блок схемы алгоритмов 1С
эгс = схЭгс[к];
если не типЗнч(эгс) = тип(«ЭлементГрафическойСхемыСоединительнаяЛиния») тогда
сз.Добавить(эгс, эгс.подсказка);
конецЕсли;
к = к + 1;
конецЦикла;
сз.СортироватьПоПредставлению();
сз.ВыбратьЭлемент(«Сортировка по Подсказке»);
к = 0;
вс = сз.Количество();
пока к < вс цикл
эгс = сз[к].значение;
нмр = эгс.подсказка;
к = к + 1;
если типЗнч(эгс) = тип(«ЭлементГрафическойСхемыУсловие») тогда
лС.ДобавитьСтроку(нмр + символ(160) + «Если » + эгс.наименование + » Тогда»);
кД = к;
кН = к;
нмрД = нмр + «1»;
нмрН = нмр + «2»;
д = стрДлина(нмрН);
смвл = «»;
для л = 1 по д цикл смвл = смвл + символ(160) конецЦикла;
// Ветвь «Да»
однаВетвь(кД, вс, нмрД, д, сз, лС, смвл);
лС.ДобавитьСтроку(смвл + «Иначе»);
// Ветвь «Нет»
однаВетвь(кН, вс, нмрН, д, сз, лС, смвл);
лС.ДобавитьСтроку(смвл + «КонецЕсли»);
к = макс(кД, кН) — 1;
иначе
лС.ДобавитьСтроку(нмр + символ(160) + эгс.наименование + «.»);
конецЕсли;
конецЦикла;
лС.Показать(«Линейная схема»);
КонецПроцедуры
процедура однаВетвь(кДН, вс, нмрДН, д, сз, лС, смвл)
пока кДН < вс цикл
эгс = сз[кДН].значение;
нмр = сз[кДН].представление;
кДН = кДН + 1;
// Обнаружено действие, следующее сразу после Ветвления
если типЗнч(эгс) = тип(«ЭлементГрафическойСхемыДействие») и эгс.групповая тогда прервать конецЕсли;
если лев(нмр, д) = нмрДН тогда
лС.ДобавитьСтроку(смвл + символ(160) + нмр + символ(160) + эгс.наименование + «.»)
конецЕсли;
конецЦикла;
конецПроцедуры
Пример получаемого текстового документа показан на рис. 3.
Рис. 3. Линейная схема алгоритма
Если графическая схема создана в макете «мкт», то для ее отображения в форме можно употребить следующий код:
грСх = элементыФормы.грСх;
грСх.Очистить();
// мкт — макет с графической схемой
грСх.УстановитьСхему(получитьМакет(«мкт»));
Заключение
Демонстрация методов работы с графической схемой выполнена на примере построения блок-схемы алгоритма и ее последующего преобразования в линейную схему. Реализован упрощенный вариант преобразователя, не предполагающий вложенности блоков и оперирующий только половиной возможных блоков: Начало, Останов, Действие и Ветвление. Расширение функционала преобразователя является предметом самостоятельной проработки.
Литература
- Синтаксис-помощник 1С:Предприятие.
Источник: www.100byte.ru
блок-схема УТ. Блок-схема УТ. Блоксхема операций в 1с предприятие 3, конфигурация управление торговлей ред. 11. 3
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 15.27 Kb.
- Поступление товаров и услуг
- Счет-фактура полученный
- Расходный кассовый ордер (или списание безналичных ДС)
- Установка цен номенклатуры
- Заказ клиента (счет на оплату) (по необходимости)
- Реализация товаров и услуг
- Счет-фактура выданный
- Приходный кассовый ордер (поступление б/нал. ДС)
- Перемещение товаров (в розничный склад — магазин)
- Открытие смены, чек ККМ
- Z-отчет (закрытие смены), отчет о розничных продажах
- Выемка ДС из кассы ККМ
- Сдача выручки в кассу предприятия – ПКО (приходный кассовый ордер)
- Доверенность на получение товара
- Расходный кассовый ордер (выдача денег подотчетнику)
- Авансовый отчет (поступление товаров и услуг)
- С/ф – полученный (по необходимости)
- Расчет себестоимости товаров
- Отчет «продажи по номенклатуре » (валовая прибыль) (оптовая и розничная продажи)
- Отчет «прибыль по оплаченным отгрузкам» (оптовые продажи)
- Установка цен может выполняться как по документу – основанию (поступление товаров и услуг), так и отдельным документом (цены-(прайс-лист)
- Заказы поставщику/клиента – формируются в случае предварительных заявок
- Расчет себестоимости в УТ 11.3 (версия ПРОФ) – раздел «финансовый результат и контроллинг», ссылка – закрытие месяца, ссылка – «рассчитать»
- Создание номенклатуры и контрагентов в УТ 11.3 (ПРОФ) – находится в разделе НСИ и администрирование
Источник: topuch.com
Расширенная работа с графическими схемами. Построение схемы БП с помощью графической схемы. Переработка под 8.3 (8.2 и 8.1 так же поддерживается)
В 1с есть объект графическая схема. Но как знаете схема это только создается вручную и только. Программного создания нет. В предыдущих публикациях есть пример как ее собирать. Данный модуль имеет расширенную функциональность.
В нем разобраны все объекты полностью плюс добавлен объект Схема, который сам может строить графическую схему опираясь уже не на квадратики а только на логику.
В 1с есть объект графическая схема. Но как знаете схема это только создается вручную и только. Программного создания нет. Впредыдущих публикациях есть пример как ее собирать.
1. Код поставляется открытым.
2. Модуль не использует внешних компонент и стабильно работает у нас уже несколько лет.
3. Все элементы схем разобраны. Разобраны практически все свойства, по запросу разберу дополнительные если понадобяться.
4. Добавлен объект Схема, с помощью которого очень легко формировать схемы наподобие бизнес процесса (не обязательно можно рисовать любые зависимости, например подчиненные документы). С помощью этого объекта очень легко построить любую свою схему уже не думая над тем как именно должна идти линия, откуда выходит и в каких точках изгибается.
Впрочем смотрите все сами на нашем демо сервере.
Источник: newexp.ru