Имя: Пароль:
1C
 
Реализация колбеков при реактивном программировании
0 LEHA_CALLBACK
 
23.01.17
15:43
Здравствуйте, подскажите, пожалуйста, best practise в использовании колбеков при реактивном программировании в 1С Предприятии, чтобы избежать callback hell.
1 shuhard
 
23.01.17
15:45
(0)[ реактивном программировании в 1С Предприятии]
излагай
2 trdm
 
23.01.17
15:45
Реактивное это какое? Когда и понос и дедлайн?
3 aleks_default
 
23.01.17
15:48
(2)кал+бег
4 LEHA_CALLBACK
 
23.01.17
15:48
Хотелось бы иметь класс, в которым будут хранится все переменные, отвечающие за общее состояние приложение и реактивно менять эти переменнные.
5 Масянька
 
23.01.17
15:48
(3) Самый лучший ответ.
6 Лефмихалыч
 
23.01.17
15:49
(0) (4) наркоман штоле?
7 NikVars
 
23.01.17
15:50
Реативное программирование с точки зрения Дт и Кт имеет важное значение в жизни каждого 1С-ка, поскольку существует независимо от того, знает он об этом или нет.
8 Живой Ископаемый
 
23.01.17
15:50
Изначально в 1С функция - это не fisrt-class citizen, поэтому коллбэки на клиенте обычно реализуются через обработку ожидания.
9 Масянька
 
23.01.17
15:50
(7) Пе-ре-ве-ди... Или - налей :)))))))))))
10 Локи-13
 
23.01.17
15:51
(4) Радченко. Практическое пособие разработчика.

Принимать по 3 главы 2 раза в день.
При рецидиве - повторить лечение.
11 polosov
 
23.01.17
15:52
Сейчас ТС начнет страдать от отсутствия инструментария в 1с, к которому он привык в других фреймворках.
12 polosov
 
23.01.17
15:54
(0) 1С - это боль. Все сурово, как суров космос или океан.
Так что иди обратно в жабу или в каких ты там сях программил...
13 LEHA_CALLBACK
 
23.01.17
15:55
(8) Какие есть способы обрабатывать ожидания?
(11) Ну вообще да, инструментарий здесь слабенький.
(10) Что там конкретно стоит почитать?
14 Dotoshin
 
23.01.17
15:56
(9) Вот нашел на просторах сети:
Реактивное программирование — парадигма программирования, ориентированная на потоки данных и распространение изменений. Это означает, что должна существовать возможность легко выражать статические и динамические потоки данных, а также то, что нижележащая модель исполнения должна автоматически распространять изменения благодаря потоку данных.
К примеру, в императивном программировании присваивание a := b + c будет означать, что переменной a будет присвоен результат выполнения операции b + c, используя текущие (на момент вычисления) значения переменных. Позже значения переменных b и c могут быть изменены без какого-либо влияния на значение переменной a.
В реактивном же программировании значение a будет автоматически пересчитано, основываясь на новых значениях.
Современные табличные процессоры представляют собой пример реактивного программирования. Ячейки таблицы могут содержать строковые значения или формулу вида «=B1+C1», значение которой будет вычислено исходя из значений соответствующих ячеек. Когда значение одной из зависимых ячеек будет изменено, значение этой ячейки будет автоматически обновлено.
https://ru.wikipedia.org/wiki/Реактивное_программирование
15 eklmn
 
гуру
23.01.17
15:57
(4) в 1с такой подход не прокатит
16 Это_mike
 
23.01.17
15:57
(10) а если траванется?
17 Лефмихалыч
 
23.01.17
15:58
(13) ты реально думаешь, что можно две главы проситать и всё, ты 1сник что ли?
18 Масянька
 
23.01.17
15:58
(14) А где про кнопочку "Обновить"?
19 Лефмихалыч
 
23.01.17
15:58
(16) человек уже под грибами какими-то, так что ему не страшно
20 Масянька
 
23.01.17
15:59
(17) А если ночь под подушкой?
21 Dotoshin
 
23.01.17
15:59
(16) Не траванется - максимум передозировка будет
22 MrSweety
 
23.01.17
15:59
->Сейчас ТС начнет страдать от отсутствия инструментария в 1с, к которому он привык в других фреймворках.
-----------------------------------------
А как добавить 1С в свой проект?
23 polosov
 
23.01.17
16:00
(22) Как хочешь.
24 Живой Ископаемый
 
23.01.17
16:00
(14) Ну вот так например:
ПодключитьОбработчикОжидания("ИмяПроцедурыОбработчикаКоллБэка", 1);
Это будет означать что раз в секунду будет передаваться управление в "ИмяПроцедурыОбработчикаКоллБэка" (можно чаще, но не чаще чем раз в 0.1 секунуды, и тогда процедура будет выполнена единоразово)

А процедура ИмяПроцедурыОбработчикаКоллБэка например опрашивает состояние чего-то на сервере, и если оно (состояние) изменилось - тогда и коллит бэк
25 Лефмихалыч
 
23.01.17
16:01
они походу на свет лезут...
26 Масянька
 
23.01.17
16:01
(25) Туши...
27 LEHA_CALLBACK
 
23.01.17
16:02
(17) А что мне нужно сделать, чтобы познать этот сложный язык? (24) Спасибо, буду пробовать!
28 polosov
 
23.01.17
16:03
(24) Вообще есть ФО, которые определяют функциональность решения.
Хотя, что там ТС задумал неизвестно.
29 Dotoshin
 
23.01.17
16:03
(22) Примерно так же как и засунуть жирафа в холодильник
http://psyworld.org.ru/2008/02/10/kak-zasunut-zhirafa-v-holodilnik.html
30 polosov
 
23.01.17
16:03
(27) Ехай в Непал ищи учителя.
31 Масянька
 
23.01.17
16:03
(27) Достичь нирваны...
32 Лефмихалыч
 
23.01.17
16:04
(27) то же, что и для познания любого другого языка. Жабу или там сисярп же свой ты как-то выучил. Вот так же и 1С.
Форум тут не поможет. Особенно форум 1сников. Сюда с конкретными вопросами приходить надо, а не с абстракциями.
33 Масянька
 
23.01.17
16:05
(29) Напомнило сцену из "Армагедона":
- Что Вы видите на этой картинке?
34 Dotoshin
 
23.01.17
16:05
(27) Посмотри познавательное кино для начала
https://youtu.be/s6b8EXmz8a4?list=PLSFncBcxU4aKMwuwUtL3eQQlbopY2HPLL
35 Локи-13
 
23.01.17
16:07
Реактивное программирование это какая-то помесь асинхронности с обработчиками ожидания?

Чот я не понял. Может кто объяснить?
37 Масянька
 
23.01.17
16:08
(35) Не парься... Эсникам не надо.
38 Локи-13
 
23.01.17
16:08
(37) я расширяю кругозор
40 Dotoshin
 
23.01.17
16:10
(35) Судя по объяснениям в википедии это когда есть какая-то взаимосвязь между объектами и изменение одного из них влечет изменение всех взаимосвязанных. Типа как формулы в экселе.
41 polosov
 
23.01.17
16:11
(38) Я так понимаю, объект (или решение целиком) торчит наружу "сервисами", как бы переменными, и оперативно меняет свое состояние от изменения этих "сервисов".
Где это применять в бизнес-решениях не ясно.
42 trdm
 
23.01.17
16:13
(11) Оно пришло за порцией Ъ()
43 Dotoshin
 
23.01.17
16:16
(41) Ну почему же не ясно?
У нас был один клиент, который хотел оперативно видеть как у него будет меняться прибыль при изменении например складских запасов. Ну то есть существует некая модель бизнеса с кучей взаимосвязей - за одну ниточку потянул и все перекосилось, за другую потянул и все выправилось.
Так вот этот клиент хотел эту модель запихнуть в учетную систему и видеть что он получит если например уменьшит или увеличит закупки.
44 polosov
 
23.01.17
16:18
(43) Ну оно как бы есть.
Есть движения в регистрах, есть последовательности, есть восстановление последовательностей, актуализация движений и прочие радости.

Но это время...
45 trdm
 
23.01.17
16:19
(14) > В реактивном же программировании значение a будет автоматически пересчитано, основываясь на новых значениях.

Excel блин!
46 Масянька
 
23.01.17
16:19
(43) S&P?
47 Локи-13
 
23.01.17
16:19
(41) так... из описания на тостере, получается что это некая функция, которая возвращает значение в другую функцию, которая  обрабатывает результат.

Кароче, получается пресловутое ОписаниеОповещения
и функция ВыполнитьОбработкуОповещения
48 Dotoshin
 
23.01.17
16:20
(44) Да есть, но только надо делать кучу телодвижений, а клиент хотел чтобы оно все само двигалось. Типа одну циферку поменял - остальные сами посчитались.
49 Локи-13
 
23.01.17
16:22
этими колбэками и реактивными программированиями сейчас все типовые истыканы, и отлаживать код это полнейший HELL
50 NikVars
 
23.01.17
16:23
Щас исследование 1С-ков покажут, что с точки зрения реактивного программирование - А+В - есть реактивное программирование, не говоря уже о принципах двойной записи в бухгалтерских счетах.
51 Dotoshin
 
23.01.17
16:23
(46) Да, что-то наподобие, но не так глобально :)
52 Лефмихалыч
 
23.01.17
16:25
Начинать по-любому надо всегда с теории, чтобы потом хотя бы на одном языке разговаривать с теми, кому вопросы задавать будешь и не морозить вот эту сказочную поебень.
Вот тут православные книги: http://v8.1c.ru/metod/books/#lt1
там на вкус и цвет все фломастеры разные.

Мое ИМХО - вот эти две
http://buh.ru/books/detail.php?ID=42714
http://buh.ru/books/detail.php?ID=42696
и вот эта
http://buh.ru/books/detail.php?ID=42709
особенно полезные

После того, как с терминологией и теорией функционирования платформы ознакомишься, можно приступать к практическим задачами, с конкретными вопросами по которым, - вэлкам сюда.
53 Лефмихалыч
 
23.01.17
16:27
ОТдельно по СКД - вот эта
http://buh.ru/books/detail.php?ID=42693

Про управляемый интерфейс вот талмуд:
http://buh.ru/books/detail.php?ID=42644

но это уже просто справочники, их нет смысла читать, как сказку от начала до конца, их надо открывать на нужной главе и читать, как решать вот эту конкретну задачу здесь и сейчас
54 Масянька
 
23.01.17
16:29
Вот только что: звонит бух - в РСВ не заполняется ОКВЭД организации.
Подключаюсь, смотрю... В организации есть, РСВ перезаполняем - нет...
Кнопочку "Обновить" нажать надо...
А вы - реактивное программирование, реактивное программирование...
55 Мимохожий Однако
 
23.01.17
16:30
(54) Это реактивное обновление...если чо
56 Лефмихалыч
 
23.01.17
16:30
(54) это вообще к программированию не имеет ни какого отношения
57 2dolist
 
23.01.17
16:33
(0) так а что надо-то? Мы тут народ простой, парадигм не знаем по-девелоперски не фурычим
58 eks1985
 
23.01.17
16:36
Смех смехом, а сам себя начал подлавливать, что после веб программирования в 1с иногда начинает не хватать кое-каких инструментов.

>>Хотелось бы иметь класс, в которым будут хранится все переменные, отвечающие за общее состояние приложение и реактивно менять эти переменнные.

Рассматривай каждую открытую форму как отдельное приложение

В любой форме есть реквизиты - считай в них и хранится текущее состояние приложения

Поменял значение в реквизите - форма перерендерилась автоматически, верно и обратное - поменял на форме интерактивно - изменились данные в реквизитах формы

Реквизиты формы связаны с данными, хранящимися непосредственно в бд. В большинстве случаев они синхронизируются автоматически, но не всегда.

Это все про УФ было.
59 2dolist
 
23.01.17
16:38
Просто не совсем понятно что автор хочет. Я так понимаю, что колбеки это наши местные Оповестить().
60 Масянька
 
23.01.17
16:38
(55) Теперь будет новый тренд: кнопка "Обновить ac`!!!@
(56) А к чему это имеет отношение?
61 Масянька
 
23.01.17
16:39
(60) Блин... "Обновить фсё!!!"
62 DailyLookingOnA Sunse
 
23.01.17
16:40
Какое в 1С в прикладном смысле реактивное программирование? Ну вот поменяли поступление товаров с НДС-ом. А деклараций НДС сформированных уже шесть штук, первоначальная и пять корректировочных. Все пересчитать? Или новую сформировать?
63 Dotoshin
 
23.01.17
16:40
https://dn-cnode.qbox.me/FuZwYSW_r8zRaGMTQB7WsuVFVS7f
Так вот он какой загадочный колбек....
64 Мимохожий Однако
 
23.01.17
16:41
(61) Кнопку "Сделать всё!" я для Шефа уже делал.
65 Масянька
 
23.01.17
16:41
(63) Дас ист фантастиш (С)
66 Мимохожий Однако
 
23.01.17
16:42
(63) Изостихи А.Вознесенского
67 2dolist
 
23.01.17
16:42
(63) что это за жесть
68 Масянька
 
23.01.17
16:42
(64) Теперь придется лепить...
69 2dolist
 
23.01.17
16:42
(66) ага, читать с интонацией:
Зыс инсталл бокс!
Зыс степ один!
70 Масянька
 
23.01.17
16:43
(26) Не правильно, однако...
Правильно: туши свет, бросай гранату (С)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.