Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.01.2015
Сообщений: 21
1
1C 8.x

Составление блок схемы

01.06.2015, 11:17. Показов 3018. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите с составление блок схемы пожалуйста
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Процедура УчетЗанятостиДорожек()
    ЗанятостьДорожек.Очистить();
    ТекВремя = Дата('00010101') + (ТекущаяДата()-НачалоДня(ТекущаяДата()));
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |   Дорожки.Ссылка КАК Дорожка
    |ПОМЕСТИТЬ Дорожки
    |ИЗ
    |   Справочник.Дорожки КАК Дорожки
    |ГДЕ
    |   Дорожки.Функционирует
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |   СтатусыДорожек.Период,
    |   СтатусыДорожек.Время,
    |   СтатусыДорожек.Дорожка,
    |   СтатусыДорожек.Посетитель,
    |   СтатусыДорожек.Статус
    |ПОМЕСТИТЬ Статусы
    |ИЗ
    |   РегистрСведений.СтатусыДорожек КАК СтатусыДорожек
    |ГДЕ
    |   СтатусыДорожек.Период = &Период
    |   И СтатусыДорожек.Статус = &Статус
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |   Дорожки.Дорожка КАК Дорожка,
    |   Статусы.Период,
    |   Статусы.Время КАК Время,
    |   Статусы.Посетитель КАК Посетитель,
    |   Статусы.Статус
    |ИЗ
    |   Дорожки КАК Дорожки
    |       ЛЕВОЕ СОЕДИНЕНИЕ Статусы КАК Статусы
    |       ПО Дорожки.Дорожка = Статусы.Дорожка
    |
    |УПОРЯДОЧИТЬ ПО
    |   Дорожка,
    |   Посетитель,
    |   Время
    |ИТОГИ ПО
    |   Дорожка,
    |   Посетитель";
    Запрос.УстановитьПараметр("Период", Дата);
    Запрос.УстановитьПараметр("Статус", Перечисления.СтатусыДорожек.Занята);
    Результат = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока Результат.Следующий() Цикл
        ДеталиПосетитель = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        Пока ДеталиПосетитель.Следующий() Цикл
            Если ЗначениеЗаполнено(ДеталиПосетитель.Посетитель) Тогда
            ЭтоНачало = Истина;
            Детали = ДеталиПосетитель.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
            СозданаСтрока = Ложь;
            Пока Детали.Следующий() Цикл
                Если ЗначениеЗаполнено(Детали.Посетитель) Тогда
                    Если ЭтоНачало Тогда
                        ВремяНачала = Детали.Время;
                        ВремяОкончания = ВремяНачала+30*60;
                        ЭтоНачало = Ложь;  
                    Иначе
                        Если Детали.Время = ВремяОкончания Тогда
                            ВремяОкончания = ВремяОкончания + 30*60;
                        Иначе
                            Если ТекВремя <= ВремяОкончания и ТекВремя >= ВремяНачала Тогда
                                НоваяСтрока = ЗанятостьДорожек.Добавить();
                                НоваяСтрока.Дорожка = Детали.Дорожка;
                                НоваяСтрока.Посетитель = Детали.Посетитель;
                                НоваяСтрока.ЗанятоС = ВремяНачала;
                                НоваяСтрока.ЗанятоПо = ВремяОкончания;
                                НоваяСтрока.Статус = "Занята";
                                Прервать;
                            Иначе
                                ВремяНачала = Детали.Время;
                                ВремяОкончания = Детали.Время + 30*60;
                            КонецЕсли;
                        КонецЕсли;
                    КонецЕсли;
                КонецЕсли;
            КонецЦикла; 
            Если Не СозданаСтрока и (ТекВремя <= ВремяОкончания и ТекВремя >= ВремяНачала) Тогда
                НоваяСтрока = ЗанятостьДорожек.Добавить();
                НоваяСтрока.Дорожка = ДеталиПосетитель.Дорожка;
                НоваяСтрока.Посетитель = ДеталиПосетитель.Посетитель;
                НоваяСтрока.ЗанятаС = ВремяНачала;
                НоваяСтрока.ЗанятаПо = ВремяОкончания;
                НоваяСтрока.Статус = "Занята";
            КонецЕсли;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2015, 11:17
Ответы с готовыми решениями:

Составление блок схемы кода 1С
Здравствуйте! Прошу помочь в составление блок схемы Код: Процедура...

Составление блок схемы
uses crt; var e,t,s,p:real; n,j:integer; begin clrscr; write('Введите наименьший член ряда...

Составление блок схемы
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;cstdlib&gt; int main(void) { int n, x;...

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

4
Модератор
Эксперт 1С
3783 / 2963 / 589
Регистрация: 10.03.2011
Сообщений: 11,665
Записей в блоге: 1
01.06.2015, 13:09 2
Цитата Сообщение от OneTwoThree4 Посмотреть сообщение
Помогите с составление блок схемы пожалуйста
Ты предлагаешь прочитать все твои ЕСЛИ и понять что у тебя там происходит?
0
0 / 0 / 0
Регистрация: 20.01.2015
Сообщений: 21
01.06.2015, 13:57  [ТС] 3
Именно так

Добавлено через 2 минуты
Возможно есть приложение или сайт составляющее блок схему на основе кода по 1с
0
Модератор
Эксперт 1С
3783 / 2963 / 589
Регистрация: 10.03.2011
Сообщений: 11,665
Записей в блоге: 1
01.06.2015, 14:00 4
Есть пример в интернете как самому реализовать такую обработку

http://www.100byte.ru/stdntswrks/1cgr/1cgr.html
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
04.06.2015, 10:29 5
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Вызывается при нажатии на кнопку "Линейная схема"
процедура кнопкаВыполнитьНажатие(кнопка)
 // грСх - элемент типа ПолеГрафическойСхемы
 грСх = элементыФормы.грСх;
 сх = грСх.ПолучитьСхему();
 схЭгс = сх.ЭлементыГрафическойСхемы;
 лС = новый текстовыйДокумент;
 сз = новый списокЗначений;
 к = 0;
 // Формируем список значений из элементов схемы без соединительных линий
 пока к < схЭгс.Количество() цикл
  эгс = схЭгс[к];
  если не типЗнч(эгс) = тип("ЭлементГрафическойСхемыСоединительнаяЛиния") тогда
   сз.Добавить(эгс, эгс.подсказка);
  конецЕсли;
  к = к + 1;
 конецЦикла;
 сз.СортироватьПоПредставлению();
 сз.ВыбратьЭлемент("Сортировка по Подсказке");
 к = 0;
 вс = сз.Количество();
 пока к < вс цикл
  эгс = сз[к].значение;
  нмр = эгс.подсказка;
  к = к + 1;
  если типЗнч(эгс) = тип("ЭлементГрафическойСхемыУсловие") тогда
   лС.ДобавитьСтроку(нмр + символ(160) + "Если " + эгс.наименование + " Тогда");
   кД = к;
   кН = к;
   нмрД = нмр + "1";
   нмрН = нмр + "2";
   д = стрДлина(нмрН);
   смвл = "";
   для л = 1 по д цикл смвл = смвл + символ(160) конецЦикла;
   // Ветвь "Да"
   однаВетвь(кД, вс, нмрД, д, сз, лС, смвл);
   лС.ДобавитьСтроку(смвл + "Иначе");
   // Ветвь "Нет"
   однаВетвь(кН, вс, нмрН, д, сз, лС, смвл);
   лС.ДобавитьСтроку(смвл + "КонецЕсли");
   к = макс(кД, кН) - 1;
  иначе
   лС.ДобавитьСтроку(нмр + символ(160) + эгс.наименование + ".");
  конецЕсли;
 конецЦикла;
 лС.Показать("Линейная схема");
КонецПроцедуры
 
процедура однаВетвь(кДН, вс, нмрДН, д, сз, лС, смвл)
 пока кДН < вс цикл
  эгс = сз[кДН].значение;
  нмр = сз[кДН].представление;
  кДН = кДН + 1;
  // Обнаружено действие, следующее сразу после Ветвления
  если типЗнч(эгс) = тип("ЭлементГрафическойСхемыДействие") и эгс.групповая тогда прервать конецЕсли;
  если лев(нмр, д) = нмрДН тогда
   лС.ДобавитьСтроку(смвл + символ(160) + нмр + символ(160) + эгс.наименование + ".")
  конецЕсли;
 конецЦикла;
конецПроцедуры
Тут, вроде, наоборот. Надо либо отразить, либо повернуть на 180°.
Правда, я не понял: программно не создать?
0
04.06.2015, 10:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2015, 10:29
Помогаю со студенческими работами здесь

Составление блок-схемы
Помогите пожалуйста составить блок схему к данной програмке: #include &lt;iostream&gt; #include...

Составление блок - схемы
Помогите составить блок - схему по тексту программы, пожалуйста! program Lab_4; var m: Array...

Составление блок-схемы
Помогите пожалуйста составить блок-схему. Задание. Дан массив d (20;4). Сформировать массив с...

Составление блок схемы
Я составил блок схему, но не уверен, что она правильная. вы не могли бы посмотреть, если не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru