Имя: Пароль:
1C
1С v8
Кто как ведет разработку своих алгоритмов
0 alexshape
 
21.08.17
12:20
Привет Всем. Хотелось бы узнать, кто как планирует свои алгоритмы. Порой разрабатываешь какой нибудь функционал, а в процессе работы всплывают новые требования.
К примеру подсистема "Обмен Данными" в БСП. Я думаю что одному человеку нереально все спроектировать и просчитать все наперед
1 aleks_default
 
21.08.17
12:29
Че там проектировать? Все уже спроектировано за Вас. ctrl+c - ctrl+v
2 France
 
21.08.17
12:30
1. а "кто и как" - кто то балуется каскадным методом проектирования и разработки, кто то Agile.. При каскадном - утром ТЗ, вечером разработка; при Agile - утром деньги, в обед модель, вечером деньги... результат - где то там, в будущем.
зы.. ну, ничего себе пример...
3 ildary
 
21.08.17
12:30
(1) проектирование "хренак хренак и в продакшн"
4 aleks_default
 
21.08.17
12:33
(3)А что проектировать в БСП?
5 vde69
 
21.08.17
12:38
сложные вещи сначала рисую на бумаге, далее

1. русским языкам пишу порядок работы алгоритма, например

// сначала заполним ТЗ текущими данными из файла
// потом проверим строки на ошибки
// далее связываем аналитики
// в конце записываем результат

2. потом между строчек комментария пишу код
6 alexshape
 
21.08.17
12:45
(2) А что с примером не так. Таких вещей у 1с довольно много. Хотелось бы узнать как они это делают
7 Irbis
 
21.08.17
12:51
(5) Прямо по МакКонелу
8 Вафель
 
21.08.17
12:53
(5) Это ж какой должен быть алгоритм, чтоб эти пункты забыть и записывать из предварительно
9 Irbis
 
21.08.17
12:56
(8) Сложный. А ещё если между комментариям пара экранов и на выходе новая сущность можно и функцию и/или процедурку запилить. Но это когда время есть.
10 Lama12
 
21.08.17
12:57
(5) +1 аналогично.
11 dezss
 
21.08.17
12:59
Общий план в голове, а дальше разработка "черных ящиков".
Если что-то более сложное, то общий алгоритм на бумаге, а потом разработка "черных ящиков".
12 dezss
 
21.08.17
13:00
(5) и что, никогда ничего не пересекается из разных блоков?
13 vadim777
 
21.08.17
13:19
Начальная стадия - на бумаге простым русским языком. Сложные моменты - лёжа на диване в тишине.
14 Garykom
 
гуру
21.08.17
13:24
(0) Подобные вопросы пропадут когда (точнее конечно если) научишься нормально программировать.

Вопрос из разряда: "А как вы составляете маршрут|траекторию движения на автомобиле"
15 alexshape
 
21.08.17
13:37
(14) Да, поэтому наверное 1с создали СППР.
16 H A D G E H O G s
 
21.08.17
13:41
Просто делаю
Алгоритмы - это просто
17 Garykom
 
гуру
21.08.17
13:45
(15) Вы не путаете бизнес-процессы с алгоритмами случаем?
18 alexshape
 
21.08.17
13:48
(17) В примере (0) Подсистема "Обмен Данными" Это Бизнес процесс?
19 Garykom
 
гуру
21.08.17
13:53
(18) Вы еврей?
20 alexshape
 
21.08.17
13:54
(19) нет
21 Garykom
 
гуру
21.08.17
13:54
(20) А почему вопросом на вопрос отвечаете?
22 alexshape
 
21.08.17
13:58
(21) чтобы ответить на вопрос (17)  мне нужно узнать ваше понимание, тогда я смогу ответить, путаю или нет
23 Garykom
 
гуру
21.08.17
14:00
Бизнес-процесс (как данные которые учитываем а не объект метаданных в 1С) может быть представлен в виде алгоритма(ов).

Подсистема БСП тоже в общем случае состоит из алгоритмов реализованных на платформе 1С и "правилах обмена".

Алгоритм -  это база/основа/кирпичики из которых ваяется все ПО.
Использовать 1С:СППР для всех алгоритмов - это похуже чем из пушки по воробьям, тут примерно как в БП учитывать расход пасты из ручек в офисе в мг...
24 Лефмихалыч
 
21.08.17
14:02
Беру и делаю.
Проектирую, когда много надо делать. Если после проектирования в ходе реализации выясняется, что все не так, как хотелось, грязно выругиваюсь и корректирую ход мыслей и образ действий.

Проект - это план. А план всегда отличается от факта. Особенно в разработке ПО он обязан отоичаться. Если кто-то соорудил по и в ходе реализации ни чего не поменялось, то это одно из трех:
1. Разработка тривиальна
2. Проект сооружали под готовое
3. Автор проекта врет, что ни чего не поменялось
25 dezss
 
21.08.17
14:04
(24) +100500
26 Garykom
 
гуру
21.08.17
14:05
(24) В очень-очень редких случаях бывает что в проекте было предусмотрено абсолютно все.
Но вероятность наступления этого события в общем случае можно не учитывать ))
27 France
 
21.08.17
14:05
(24) "Проект - это план. А план всегда отличается от факта" - спорное утверждение... кто ж в таком случае платит за то, что факт не совпадает с планом?...
28 Лефмихалыч
 
21.08.17
14:06
(27) обычно - тот, кому нужен результат, а не на гантта подрочить
29 Garykom
 
гуру
21.08.17
14:07
(24)(26)+ можно п.1 скорректировать:

1. Разработка тривиальна, относительно уровня исполнителя
30 H A D G E H O G s
 
21.08.17
14:09
Потом переделываю, иногда.

Так и появляются справочники "ВерсииАлгоритмов"
Процедуры ветвятся в подпроцедуры с префиксами СтараяВерсия, НоваяВерсия, _СуперНоваяВерсия для возможности отказа на продуктиве.
31 France
 
21.08.17
14:11
(28) тот, кому нужен результат, хочет понимать "время+деньги".. в модели, что любой проект заведомо не достигнет первоначальной цели клиент будет платит вечно.. либо, исполнитель попадет на бесконечные бесплатные доработки..
32 _Дайвер_
 
21.08.17
14:13
(0) Есть план(ТЗ), в договоре оказания услуг указывается, что все что сверху доплачивается либо заказчиком либо пополам. Если же в ТЗ не все учтено, и выяснились какие либо недочеты со стороны разработчика, это Ваша вина, и в этом случае как договоритесь с заказчиком, либо вы его убедите в сложности, и обоснуете повышение оплаты, либо делаете просто так.
33 Лефмихалыч
 
21.08.17
14:13
(30) блин, ну,слава богу! А то я уже лет пять думаю, что перемудрил с этой хреновиной в магните.
Раз не мне одному это в голову пршло, то значит все пучком
34 Адинэснег
 
21.08.17
14:14
(5)
// .уяк

// .уяк

// архитектура пприложения

https://cs5.pikabu.ru/post_img/2014/06/19/5/1403154705_1339773392.jpg
35 Адинэснег
 
21.08.17
14:15
36 H A D G E H O G s
 
21.08.17
14:15
(33) Я недоумевал, что такого нет в УПП. Ну как так то? Конфа работает по всей стране - ну что стоит сохранять старые шматки кода и включить возможность отката на них по одной галочке.
37 _Дайвер_
 
21.08.17
14:15
(32) РЕДАКТИРУЮ МЫСЛЬ: Есть план(ТЗ), в договоре оказания услуг указывается, что все что сверху доплачивается. Если же в ТЗ не все учтено, и выяснились какие либо недочеты со стороны разработчика, это Ваша вина, и в этом случае как договоритесь с заказчиком, либо пополам с заказчиком,Либо сам заказчик(обоснуете повышение оплаты), либо делаете просто так.
38 France
 
21.08.17
14:16
(36) а разве же ж хранилище не предназначена именно для этого?..
39 Лефмихалыч
 
21.08.17
14:17
(37) все равно все пули мимо - в топике не про техзадание, а про техпроект.
40 Адинэснег
 
21.08.17
14:18
а еще едешь такой домой после работы,  подъезжаешь к дому и думаешь блин надо запомнить, утром мысли на код переложу
заходишь домой, ужинаешь... и тебя отпускает...
41 1dvd
 
21.08.17
14:18
(38) не для этого
42 Лефмихалыч
 
21.08.17
14:19
(38) нет, не предназначено. Обсуждаемое предназначено для того, чтобы без обновления сначала включить обработку проведения по-новому, а потом, если что-то пошло не так - вернуть обратно, как было срочно, пока причиналы не оторвали
43 _Дайвер_
 
21.08.17
14:19
(39) Заметил, не правильно понял автора) Разработку алгоритмов не составлял) Все в процессе редактирую, Версия 1, Версия 2, потом наилучшее решение выкатываю)
44 Адинэснег
 
21.08.17
14:20
(38) хранилище для хранения, алгоритмы для исполнения и переключения в продуктиве
45 1dvd
 
21.08.17
14:22
(42) (44) нет, оно так понятно. Но, справочник нахрена?
46 alexshape
 
21.08.17
14:23
(23) А Вы сами работали в 1С:СППР. ERP говорят на СППР сопровождают.
47 Лефмихалыч
 
21.08.17
14:24
(45) сделаешь без справочника - приходи, показывай, обсудим
48 Garykom
 
гуру
21.08.17
14:26
(46) Ну нет секретного алгоритма или программы в виде "золотой пули". Все только своим трудом и мозгами дается.

Бывает что мозгов не хватает, а бывает мало трудится кто то.
49 dezss
 
21.08.17
14:26
(30) (33) (42) А можно чуть подробней что за справочник, что в нем хранится и как используется?
50 Адинэснег
 
21.08.17
14:26
(45) код чтоб править "онлайн"
51 France
 
21.08.17
14:27
(49) у них в фаворе команда "Выполнить"..
52 _Дайвер_
 
21.08.17
14:27
(50) "Онлайн" - это динамическое обновление?)
53 Адинэснег
 
21.08.17
14:28
(52) хуже, см (51)
54 dezss
 
21.08.17
14:29
(51) это что, в справочнике хранится кусок кода, его вытаскивают и делают выполнить?
55 H A D G E H O G s
 
21.08.17
14:29
(49) ПредопределенныеЭлементы и галочка Использовать

Например

СтарыйАлкогритмПроведенияРТУ
СтарыйАлгоритмСписанияЗадолженности
56 Адинэснег
 
21.08.17
14:31
cf ник загрузил и приехали)
57 Адинэснег
 
21.08.17
14:31
*в чистую
58 France
 
21.08.17
14:31
(54) ну, да.. и все это жутко медленно, и очень гемморойно..
59 H A D G E H O G s
 
21.08.17
14:31
(54) нет конечно, в этом справочнике просто флаги использования.

Процедура ПроведениеРТУ превращается в 3 процедуры:

Процедура ПроведениеРТУ()
Процедура ПроведениеРТУСтараяВерсия()
Процедура ПроведениеРТУ
НоваяВерсия()

В 1-ой процедуре, в зависимости от флага предопре. элемента вызывается либо 2 либо 3 процедура
60 H A D G E H O G s
 
21.08.17
14:31
Ну и все параметры передаются
61 France
 
21.08.17
14:32
(59) такая ручная модель наследования))..
62 France
 
21.08.17
14:32
ну, или полиморфизма))
63 H A D G E H O G s
 
21.08.17
14:33
(61) Я в этом всем объектно-ориентированном не разбираюсь и не хочу разбираться, ибо ересь.
64 dezss
 
21.08.17
14:33
(59) Оригинально. Спасибо, возьму на заметку. Самому такие мысли пока не приходили.
65 Адинэснег
 
21.08.17
14:33
(62) изма
66 H A D G E H O G s
 
21.08.17
14:34
Флаг Использовать можно заменить на ВерсияАлгоритма, числовой, тогда будет версионность, но не пригодилось пока.
67 H A D G E H O G s
 
21.08.17
14:35
Вот так мы ведем разработку "своих алгоритмов", ага.
Бумажечки они пишють.
68 Адинэснег
 
21.08.17
14:35
главное на распределёнке не практиковать :-D
69 H A D G E H O G s
 
21.08.17
14:36
(68) А что там?
70 alexshape
 
21.08.17
14:36
(48) А как ведется разработка больших проектов на других подвинутых языках
71 Адинэснег
 
21.08.17
14:37
половина магазинов провелись через ПроведениеРТУСтараяВерсия()
вторая - ПроведениеРТУНоваяВерсия()
72 France
 
21.08.17
14:37
(69) а, если конфа в подчиненный узел не ушла?.. или галочка "использовать"?))
73 Адинэснег
 
21.08.17
14:38
щас придем к тому, что надо алгоритмы надо хранить в отдельной базе и отдавать веб-серсивом :-D
74 Адинэснег
 
21.08.17
14:39
(72) если конфа - то обмен запнется тут же, а если галочка... то пока бухгалтера не заметят
75 France
 
21.08.17
14:40
в стародавние времена на предвестнике мисты вроде были дебаты.. где через объект "Обработка" реализовывали такие механизмы..
76 France
 
21.08.17
14:41
(74) при любом исходе фейл полный..
77 H A D G E H O G s
 
21.08.17
14:43
укуеть. Фьють, епта, сюда иди, э. Им хау ноу сливают, в надежде на уменьшение быдлокодеров, а они тут критиканство развели.

Высылается циркулярка - проверить галочку. Не проверили - получите звиздюль.
78 Вафель
 
21.08.17
14:45
(59) А если версий больше чем 2: версия 1, версия 2, версия 2.1 итд
79 Вафель
 
21.08.17
14:46
А вложенные процедуры тоже имеют версии.
замучаешься тестировать все варианты
80 H A D G E H O G s
 
21.08.17
14:47
(78) см (66), но, Анатолий, это - не потребовалось в моей работе.
81 Вафель
 
21.08.17
14:49
(80) У тебя 1 клиент и ты можешь галочку либо установить либо снять.
А вот когда у тебя будет 10 клиентов и половина не установила, а ты уже 3 релиз выпускаешь алгоритма.
Вот тогда и поговорим
82 H A D G E H O G s
 
21.08.17
14:49
(79) Вы, случаем, сейчас не на Тимирязевской сидите, за блоком быблокодинга в БСП?
83 1dvd
 
21.08.17
14:49
не, я пока только до реквизита "ВерсияПечатнойФормы" додумался.
Один раз реально помогло
84 H A D G E H O G s
 
21.08.17
14:50
(81) хехехе, Анатолий. Да я даже не знаю, сколько клиентов у меня было с этим алгоритмом. Ну сотен 5 наверное минимум. И, иногда, помогало.
85 Garykom
 
гуру
21.08.17
14:50
(70) Очень просто - нанимаются специалисты по разработке на этих языках, иногда сверху над ними нанимается и ставится архитектор проекта и среди спецов назначаются тимлиды.
86 France
 
21.08.17
15:00
(84) а, когда, "иногда" не срабатывало - "морду бить" клиенты не пытались))
87 H A D G E H O G s
 
21.08.17
15:02
(86) "иногда" - это имеется ввиду тот момент, когда новый алгоритм косячил. Естественно, это были критичные алгоритмы, подушку я не везде стелил.
88 Злопчинский
 
21.08.17
15:04
(5) делаю аналогично.
пишу по "сверху вниз"
набрасываю каркас и пошел детализировать, где операторами, где процедурами-болванками, потом процедуры детализирую... итд...
89 France
 
21.08.17
15:07
(88) поименуем метод )).. это нисходящее программирование - сверху вниз)).. когда создает каркас, и далее пишется код.. есть еще восходящее программирование (снизу вверх). - когда пишется куча процедур, и из них уже пытаются собрать целое))...
90 Злопчинский
 
21.08.17
15:08
Процедура СписаниеГТД()
  Если Условие Тогда
     СписаниеГТД_2014();
     Возврат;
  КонецЕсли;
..

Процедура СписаниеГТД_2014()
  Если УсловиеХренькакаятоОтБухии Тогда
     СписаниеГТД_2014_ХреньОтБухии();
     Возврат;
  КонецЕсли;
91 Злопчинский
 
21.08.17
15:09
(89) снизу-вверх - это типичный копипастинг.. ;-)
92 France
 
21.08.17
15:10
(91) ну, можно просто БСП использовать))..процедуры есть - как бы их воедино собрать))
93 charleman
 
21.08.17
15:14
(0) Что-то считаешь "наперед", что-то "взад".
Открываешь модуль. Пишешь немного кода и много комментариев.
Потом потихоньку заменяшь комментарии на код. Когда комментарии кончаться, алгоритм готов.
94 Злопчинский
 
21.08.17
15:15
еще иногда танцую от печки, то есть от пользовательского фейса.

сначала рисую интерфейс - как это должно выглядеть и работать. потом - пишу код...
95 Garykom
 
гуру
21.08.17
15:20
(90) Блок-схемы с подпрограммами (процедурами/функциями) это для новичков вынос мозга ))
96 Вафель
 
21.08.17
15:20
Кстати в 1с тоже иногда делают версионирование алгоритмов. Например РАУЗ/Партионный учет 1 / 2
97 Злопчинский
 
21.08.17
15:23
(95) для некоторых в вызове процедуры - букавки внутри скобок всего лишь букавки... словосочетание "формальные параметры" вводит в ступор.. глазками луп-луп...
98 Вафель
 
21.08.17
15:24
(97) Из какого ПТУ ты набираешь программистов?
99 Злопчинский
 
21.08.17
15:26
(98) не из какого ;-)
а есть ПТУ где готовят "программистов"..?
100 Масянька
 
21.08.17
15:27
Сто
101 Вафель
 
21.08.17
15:27
(99) Там бетонщиков и геологов готовят )))
102 novichok79
 
21.08.17
15:28
нигде не учился погроммировать. я делаю так - обычно допрашиваются люди, участвующие в процессе, по их объяснениям строится какая-то модель, сначала у меня в голове, далее - рисую на бумаге заготовки таблиц, и связи полей между ними, далее по мере зарисовки, придумывается куда и как это дело визуализировать пользакам. при сложно проектировании тоже рисуется на бумаге. ну и вперед.
как такой способ по-научному называется?
103 novichok79
 
21.08.17
15:29
если что-то реально сложное делается, то подсматриваю (копирую и редактирую) готовое из типовых, редактирую под свои нужды, одновременно пытаясь понять зачем именно так было сделано.
104 Вафель
 
21.08.17
15:30
В 1с не тсмыла на бумаге рисовать форму. так как элементы накидываются за 1 мин
105 novichok79
 
21.08.17
15:30
(104) имеется в виду схематически. конечно я не вывожу ручкой по линейке элементы управления.
106 Вафель
 
21.08.17
15:30
понимаю хтмл, тут пока цсс грамотный напишешь, хотя бы отдаленно похожий на результат - полдня пройдет
107 lanc2233
 
21.08.17
15:43
Кто-нибудь делает объемные разработки в команде?

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

Кроме комментариев в коде, есть какой-то протокол взаимодействия, не занимающий время автора начальной разработки?

Чтобы с одной стороны, не дергать первого разработчика на объяснения, с другой стороны, максимально уменьшить время другого специалиста на вникание?
108 novichok79
 
21.08.17
15:44
(107) евернот? все равно рисовать придется то, что ты делаешь. в том или ином виде, то есть придется тратить время, чтобы другие потом не теряли свое время, разбираясь в недокументированном коде.
109 Вафель
 
21.08.17
15:45
(107) Только документация может помочь.
110 Вафель
 
21.08.17
15:46
ну и еще тесты, что новый не запорол все работу
111 lanc2233
 
21.08.17
15:49
(109) хотелось бы увидеть хоть немного такой документации. Главное чтобы она была частью живого процесса, а не делалась для проформы.
112 Вафель
 
21.08.17
15:51
(111) Сампроизвольно никто ее писать не будет. Нужно пинать за это нещадно. ну и как бы время выделять на ее написание
113 Вафель
 
21.08.17
15:52
должен быть тим лид, который на постоянной основе принимает работу у кодеров.
и тогда код ревью без доки не проходит.
Иначе никаких шансов нет
114 novichok79
 
21.08.17
15:54
(113) Во франчах такого не видел, потому что куча клиентов и сроки. Это возможно в каком-нибудь отделе IT на большом предприятии, но таких не очень много.
115 Вафель
 
21.08.17
15:55
(114) Во вранчах единственный метод - х.к, х.к и в продакшн
116 novichok79
 
21.08.17
15:58
(115) ахах, это да. частенько после наших франчей дописываю / переписываю "доработки"
117 France
 
21.08.17
16:12
(102) ааа, вот откуда берутся погроммисты...
118 France
 
21.08.17
16:14
(116) вот, не поверю, что кто нибудь будет за франчами дописывать предварительно оплатив им выполнение.. другое дело, что поменялась постановка задачи, и франчи сказали "утром деньги"; либо, франчам дали задачу создать "скелет", а сами уже шлифуете..
119 Dotoshin
 
21.08.17
16:26
(0) Сначала формулирую требования и ограничения к функционалу (что он должен делать и чего наоборот не должен), далее опираясь на эти требования и ограничения составляю алгоритм в общем и целом. Потом делю на логически, взаимосвязанные блоки. Степень деления зависит от сложности, в простых случаях все может быть в одном блоке.
120 novichok79
 
21.08.17
16:30
(118) одна из доработок - пользователи жаловались на медленное перелистывание списка заказов в УТ 10.3, оказалось что франч вставил запрос ко всей таблице взаиморасчетов с контрагентами при каждом выводе строки.
121 novichok79
 
21.08.17
16:31
(117) ахаха, да, пришел, увидел, победил, что называется.
https://a.d-cd.net/7c17812s-960.jpg
122 France
 
21.08.17
16:32
(120) ну, тут да.. согласен.. бывает такое.. но, нужно онное пресекать на этапе приемки..
123 novichok79
 
21.08.17
16:35
(122) такого много - в УТ 11, вместо доработки типового регистра "формы, открываемые при начале работы", сделали условие типа

Если пользователь().Имя = "Петя" Тогда ОткрытьФормуМодально("ФормаОбработки");
КонецЕсли

это то что на ум сразу приходит.
124 France
 
21.08.17
16:40
(123) эээ.. а чтА это за регистр "формы, открываемые при начале работы"?
125 Вафель
 
21.08.17
16:40
(124) Во-во. И как ты будешь принимать. если сам половину функционала не знаешь?
126 France
 
21.08.17
16:45
(125) не объять необъятное.. там, где я не знаю, как работает, я сижу и копаюсь в типовом (не всегда в коде)..
127 Dotoshin
 
21.08.17
16:46
(124) Это перечень всяких там рабочих столов, помощников и напоминаний, которые должны открыться у пользователя при старте.
128 novichok79
 
21.08.17
16:46
(124) (125) а господа оказывается любители попридираться, имеется в виду перечисление "ФормыОткрываемыеПриНачалеРаботыСистемы" и регистр сведений "НастройкиОткрытияФормПриНачалеРаботыСистемы"
129 novichok79
 
21.08.17
16:48
(124) если вызывать форму через ОткрытьФормуМодально, то ее будет не развернуть, что неудобно, т. к. предполагался именно режим рабочего стола.
130 France
 
21.08.17
16:48
(128) ну вот.. ввел меня в заблуждение, и теперь товарищ на меня косо смотрит..
131 Вафель
 
21.08.17
16:50
Модально вообще нынче формы НЕЛЬЗЯ открывать
132 Dotoshin
 
21.08.17
16:51
(129) >> то ее будет не развернуть, что неудобно
Так может как в этом и есть главная задумка, типа - "Вы можете продолжить работу после просмотра рекламы" и пока не посмотришь, хрен продолжишь :)))
133 France
 
21.08.17
16:51
если нельзя, но очень хочется...
134 novichok79
 
21.08.17
16:53
(130) ничего страшного ))) я не злой (сегодня)
(132) да, особо любимым пользакам можно сделать поле html документа с рекламой.
135 novichok79
 
21.08.17
16:53
(131) и я о том же...
136 Dotoshin
 
21.08.17
17:03
(134) >>да, особо любимым пользакам можно сделать поле html документа с рекламой.
С баннером во весь экран и требованием денег за удаление этого баннера? :))))
137 vadim777
 
21.08.17
17:57
Блок-схема поиска крякозябров: https://habrahabr.ru/post/147843/
138 novichok79
 
21.08.17
18:50
(136) это будет эксклюзив ))))