Имя: Пароль:
1C
1С v8
На будущее, об отказе от модальных окон
0 Поросенок Петр
 
09.11.13
20:37
Все, кто слышал об отказе от модальных окон в 1С, тот слышал об отказе от модальных окон в 1С.
(с) Капитан КО.

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

Знаете, ребята, я с вами.

Типовые ох как не скоро перейдут на этот режим. И щас я расскажу почему.

Перед этим я хочу чтобы все понимали, что такое "всего лишь отказ от модальных окон".

Смотрите: Как написано в зазеркалье, мы раскладываем следующую процедуру:

Процедура УзнатьПроПиво()
    
    Ответ = Вопрос("Буш пить пиво?", РежимДиалогаВопрос.ДаНет);

     Сообщить(Ответ);


КонецПроцедуры;


В следующую конструкцию:

Процедура УзнатьПроПиво()

ОписаниеОповещения = Новый ОписаниеОповещения("ЯСпросилПроПиво");
ПоказатьВопрос(ОписаниеОповещения, "Буш пить пиво?", РежимДиалогаВопрос.ДаНет ,);

КонецПроцедуры;


Процедура ЯСпросилПроПиво(Результат, Параметры)

    Сообщить(Результат);

КонецПроыедуры


Это прекрасно работает в таком виде. Что происходит? Системная заLOOPа не стопорится. Все процедуры прошли, окна ждут своих эвентсов.  Функция, открывшая окно, закончилась, и контекст ждет твоих указаний, милорд. Ну, после того как ты закроешь окно. И пошлешь ему чего-то.

А вот теперь представим, что вопрос мы задаем в функции.


Например:

Процедура А()

УзнатьПроПиво();
Сообщить("Как вы думаете, я уже знаю про пиво или нет?");

КонецПРоцедуры;


Что произойдет? Я думаю Вы поняли. Функция "УзнатьПроПиво" откроет окно и закончится. А функция A продолжится (выводом сообщением "Как вы думаете....") а когда пользователь ответит на вопрос.... Процедуре A() будет уже наплевать.
Я нашел в последней типовой, что функция с вопросом вызывается четвертой в стэке. Т.е. четыре вложенных функций, а потом Бац! вопрос. Так что не скоро. Но они...

Конечно они придумают. Например, стэк контекста. Или заставят типовые не баловаться вопросами. Придумают.

Это просто вопрос.

Просто жвачка. Для твоего разума! Гуд бай.
1 zak555
 
09.11.13
20:38
перепил пиво ?
2 IamAlexy
 
09.11.13
20:40
(0) в чем собственно проблема то?
3 Поросенок Петр
 
09.11.13
20:43
Проблемма в том, что чтобы задать вопрос в вызываемой функции нужно сальто через голову сделать.
4 H A D G E H O G s
 
09.11.13
20:43
(3) Это херня, а не сальто.
5 Поросенок Петр
 
09.11.13
20:46
Не, если дадите ссылки на хорошие решения с отказом от модальных окон, буду безмерно рад.
6 Chai Nic
 
09.11.13
20:48
(2) В отказе от однопоточной парадигмы вычислений.. придется в очередной раз переучиваться, а лень.)
7 IamAlexy
 
09.11.13
20:59
(3) вы так говорите кабута модальные окна это хорошо
8 Ork
 
09.11.13
21:02
(7) Стесняюсь спросить - а чем это плохо?
Ну ладно в браузере. Но в своем собственном родном клиенте..?
Если алгоритм требует дождаться ответа пользователя и только потом принимать решение.
9 Ork
 
09.11.13
21:03
+ (8) Решение о том, какую ветку алгоритма выполнять.
10 Поросенок Петр
 
09.11.13
21:10
(7) Модальные окна это всего-лишь включение пользователя в процесс вычислений. Что в этом плохого?
Т.н. "Отказ от модальных окон" в 8.3. это не отказ от модальных окон в принципе как интерфейсного элемента, это эмуляция этих самых окон другими средствами.
И блин, разработчики платформы, наверняка смогли бы эмулировать эти окна не ставя всях разработчиков раком.
11 Лефмихалыч
 
09.11.13
21:19
12 spectre1978
 
09.11.13
21:39
Похоже, что там где обойти вопрос к пользователю окно будет нельзя, будет глобальная переменная. И бесконечный цикл с ее проверкой в конце и "прокачкой" системных сообщений в теле. Правда, зачем такое изъ..бство - непонятно.
13 Поросенок Петр
 
09.11.13
21:44
(12) Да не. Просто ОписанияОпевещния будут складываться в с тэк. Когда юзер нажмет на кнопку они будут разворачиваться из стэка обратно. Стосорокшесть процентов, что стек будет релаизован либо платформенно, либо в БСП. Если не будет такого до конца 14-го года, я... Да я сотру этот ник с форума, если подобного не придумают.
14 Asmody
 
09.11.13
21:49
Чувак, ну почитай, например, как устроено асинхронное программирование в node.js. Или как обрабатываются браузерные события в javascript.
15 Вуглускр1991
 
09.11.13
21:57
Кстати, ник ужасный.
Программа, которая не задает вопросов - это и правда хороший стиль. Моя последняя поделка получилась с одним модальным окном ввода штрихкода руками. Это тоже можно исключить. Но те моменты, которые "надо спросить" - реализованы "wizardaми". Считать не начнет, пока не пройдет шаги. Не модальность окна, а модальность процесса. Хочешь другой процесс - бога ради, а этот не сдвинется в следующую точку, пока ты не введешь в экран все нужные данные.
16 kosts
 
09.11.13
22:01
(13) Думал, но ничего не понял про стек и т.д.
Пока не вижу проблем с новым подходом.

Было


Процедура УзнатьПроПиво()
    
    Ответ = Вопрос("Буш пить пиво?", РежимДиалогаВопрос.ДаНет);

    Если Ответ = Да Тогда
        ВыполнитьДействия();
    КонецЕсли;


КонецПроцедуры;


Стало


Процедура УзнатьПроПиво()

    ОписаниеОповещения = Новый ОписаниеОповещения("ЯСпросилПроПиво");
    ПоказатьВопрос(ОписаниеОповещения, "Буш пить пиво?", РежимДиалогаВопрос.ДаНет ,);

КонецПроцедуры;

Процедура ЯСпросилПроПиво(Результат, Параметры)

    Если Параметры = Да Тогда
        ВыполнитьДействия();
    КонецЕсли;

КонецПроыедуры
17 Asmody
 
09.11.13
22:03
(15) визарды плохи когда ты делаешь частую одинаковую операцию
18 spectre1978
 
09.11.13
22:05
(16) а если вопросов более одного?
19 Вуглускр1991
 
09.11.13
22:11
(17) Если операция частая - то это маленький, но процесс.
Если это вопрос "рисуем проводку, да?" и так 40 раз, то это политика.
Можно найти исключение, например ручные изменения, редактирование кодов / номеров документов. Те вещи, где просто необходимо ткнуть пользователя носом, и это не процессы, и это плохо, если это политики. Это гемор.
Но нет в мире совершенства.
20 IamAlexy
 
09.11.13
22:13
(18) больше одного вопроса подряд и вы делали это через Вопрос() ?

гы гы гы гыы



бедные ваши пользователи
21 kosts
 
09.11.13
22:14
(18) По цепочке...


Процедура УзнатьПроПиво()

    ОписаниеОповещения = Новый ОписаниеОповещения("ЯСпросилПроПиво");
    ПоказатьВопрос(ОписаниеОповещения, "Буш пить пиво?", РежимДиалогаВопрос.ДаНет ,);

КонецПроцедуры;

Процедура ЯСпросилПроПиво(Результат, Параметры)

    Если Параметры = Да Тогда
        ОписаниеОповещения = Новый ОписаниеОповещения("ЯСпросилПроПиво2");
        ПоказатьВопрос(ОписаниеОповещения, "Буш пить пиво?", РежимДиалогаВопрос.ДаНет ,);
    КонецЕсли;

КонецПроыедуры

Процедура ЯСпросилПроПиво2(Результат, Параметры)

    Если Параметры = Да Тогда
        ВыполнитьДействия();
    КонецЕсли;

КонецПроыедуры


ит

(20) +1
22 spectre1978
 
09.11.13
22:17
(21) вы не совсем верно поняли. Речь не про подряд задаваемые вопросы, а про вопросы, возникшие по ходу выполнения алгоритма. К примеру, удаляем кучу файлов, а среди них оказался помеченный атрибутом "только для чтения". А может, и не оказался, тогда вопроса не будет.
23 IamAlexy
 
09.11.13
22:18
а вообще

точно так же ныли все когда 1С 8.2 выпустили..
типа клиентсервер и теперь надо все делить на эти дурацкие наклиенте да насервере.. и о боже наклиентенасерверебезконтекста
24 IamAlexy
 
09.11.13
22:18
(22) гениально..

удаляем кучу файлов.. 10 000 например..

из них 8342 оказались помеченными на удаление и мы задаем модальный вопрос на каждом..

суперски :)
25 kosts
 
09.11.13
22:22
(22) Ну да как-то выкручиваться, но все равно не понятна проблема. Алгоритм должен быть завершен. И вызван после закрытия вопроса. Не удобно, но не вижу принципиальных проблем. Возможно в (0) это неудобство и имелось ввиду?...

(24) Не, вопрос допустим, если есть кнопка удалить все (как в тотале к примеру).
26 КонецЦикла
 
09.11.13
22:22
(24) вопросы иногда задавать нужно
для этого в продвинутых программах есть "да" и "да, для всех" :)
27 spectre1978
 
09.11.13
22:23
(24) вы о чем? Я привел пример внятный вполне, а вы ерунду какую-то написали.
28 Aleksey
 
09.11.13
22:23
(24) Да, к примеру у меня идет создание приходных документов. В какой то момент времени обработка завершилась с ошибкой, и я спрашиваю у пользователя продолжить?  так обработок будет больше чем одна


Вариант 2 те же вводные, только документы не проведен автоматом, я модально открываю документ и жду когда пользователь проведет его интерактивно, при этом пока пользователь не закрылд документ, я не должен двигаться дальше, при этом я не знаю когда мне это понадобиться, может быть все 10 000 документов создадутся без проблем, а может быть и 8432 проблемы, и я должен дать пользователю возможность прервать выполнения операции или продолжить


Расскажи как без модальных окон это сдлелать?
29 Aleksey
 
09.11.13
22:24
(27) Это его стиль общения всякую фигню писать типа по делу
30 IamAlexy
 
09.11.13
22:24
(27) внятный пример вы не привели..
вы привели пример из которого первый же приходящий в голову вариант - вопрос задаваемый в цикле обработки помеченных..

если я ошибся и вы спрашиваете ДО цикла, то опять же  - новая реализация никак и ничем вам не мешает..
31 Aleksey
 
09.11.13
22:25
(20) открой типовую, там задают 2 вопроса подряд

Записать изменения?
Провести документ?

Что по твоему в 1С дураки
32 IamAlexy
 
09.11.13
22:25
(28) а вот это хороший пример.. надо подумать про реализацию но думаю что можно и это реализовать
33 spectre1978
 
09.11.13
22:27
(30) если человек не дурак и ему надо сделать его работу, то ему существенно все это не помешает. Вопрос только в том, что реализация может усложниться и сделаться менее читаемой... Вот, собственно, и все.
34 spectre1978
 
09.11.13
22:29
Короче, хоть голосувалки в этот раз и нет, но в целом... не вижу смысла паниковать. Придрочимся :)
35 Ork
 
09.11.13
22:30
(24) Может вы конечно видели Windows только на картинках яфона... Но именно так поступает проводник, когда удаляет 10000 файлов и что-то при удалении 8432-го файла у него не получилось. Он (держите себя в руках) задает модальный вопрос. И не удаляет оставшиеся пока не получит ответ от пользователя.

И все с этим живут...
36 spectre1978
 
09.11.13
22:32
(35) ну да. И не только проводник - держитесь - другие менеджеры файлов тоже!.. Кошмар. И как только их пользователи до сих пор живы...
37 smaharbA
 
09.11.13
22:38
эта байда процветает в юникслайк и осХ - там практически все разработчиики ипануты
38 Ksandr
 
09.11.13
22:45
За крайние пару лет мне ни разу не понадобилось открыть что-либо модально, поэтому проблемы не вижу. Чтение Алана Купера изменило мой подход.
Проектируйте взаимодействие по другому и будет счастье.

Пока не увидел нерешаемых задачу с новым подходом.
39 spectre1978
 
09.11.13
22:46
(37) угу, зашибись. И по факту мы выяснили, шо процветает таки везде - в винде, юникс-лайк и осХ. А где тогда не процветает?
40 NcSteel
 
09.11.13
22:47
(38) +1

Просто все необходимые параметры спрашиваются заранее.
41 spectre1978
 
09.11.13
22:48
впрочем, спорить об идеологиях - дело заведомо пустое. Я закругляюсь. Думаю, что привыкнем к новому механизму, как привыкали ко всему и всегда.
42 Aleksey
 
09.11.13
22:49
(38) Записать? Провести?
43 Aleksey
 
09.11.13
22:50
(40) какие параметры ты запросишь заранее в (28)
44 IamAlexy
 
09.11.13
22:50
(42) 2 кнопки: "записать и провести" и "записать"

не ?

и вообще не надо никаких диалогов..
45 Aleksey
 
09.11.13
22:51
(44) Не знаю, мне больше кнопка ОК нравится чем батарея из кнопок
46 ifso
 
09.11.13
22:51
(28)
> Расскажи как без модальных окон это сдлелать?
Решение найдется, если за творчество с модальными платить не будут?
47 IamAlexy
 
09.11.13
22:51
(45) а в типовых же 2 кнопки ?
и кнопки "ок" в документах нет.

и тут сразу повторяем (35) - все же так живут :)
48 Aleksey
 
09.11.13
22:52
Т.е. вместо кнопки ОК у нас будет 3 кнопки "Записать" "Провести" и "Закрыть" и все лишь потому что у кого то яйца зачесались
49 smaharbA
 
09.11.13
22:52
(38) не с той стороны ты читал

Чё делать когда окно перекрыто, куда жмать ?
50 NcSteel
 
09.11.13
22:53
(43) На форме выводится параметр "флаг"...

"Продолжить обработку при возникновении ошибки?".

Подобный механизм реализован в универсальных обработках загрузки файлов обмена, а именно флаг "Отладка".
51 Aleksey
 
09.11.13
22:53
(46) решения есть, но оно выливается в 1000 строк кода там где в 7-ке можно сделать одной строкой, плюс опять таки машинное время на обработку этих строк, плюс задержка связанная с асинхронностью обработки событий
52 IamAlexy
 
09.11.13
22:54
(48) нет, "провести и закрыть", "записать", "провести"
53 Aleksey
 
09.11.13
22:54
(50) мне не надо продолжить, мне нужно чтобы пользователь выполнил действия (завел договор, проставил счета учета, проверил остаток, да мало ли что ещё), а уж потом принял решения продолжать или нет
54 smaharbA
 
09.11.13
22:54
надо на механике поставить 4-5 + 1 рычаг передачи
55 IamAlexy
 
09.11.13
22:54
(51) ну в общем то ты прав..
в 7ке проще было..
опять же, на клиент/сервер делить не надо было..
56 Aleksey
 
09.11.13
22:55
(52) какая разница как эти 3 кнопки называются? если раньше достаточно было 1 кнопка ОК
57 Ksandr
 
09.11.13
22:55
(53) ОбработкаПроверкиЗаполнения?
58 IamAlexy
 
09.11.13
22:55
(56) одна кнопка "ок" и 2 модальных вопроса..

то есть пользователь вместо нажатия одной кнопки нажимал 3 кнопки..
гениально..

и где удобство ?
59 Aleksey
 
09.11.13
22:55
(57) и что она проверит? Что остаток на другой складе?
60 NcSteel
 
09.11.13
22:56
(53) Делай подготовку заранее. Нет задач, когда нельзя формализовать все параметры...

Если такая задача возникнет, то вопрос пользователю не поможет, так как разраб не сможет спрогназировать проблему.
61 IamAlexy
 
09.11.13
22:56
+(58) причем пользователю надо не просто нажать 2 раза "да" ему еще надо потратить время на то чтобы прочитать а что же от него хочет система.. осознать это..

и где вы тут считаете что удобнее и эргономичнее ?
62 Aleksey
 
09.11.13
22:57
(58) Да гениально, он нажал Ctrl+Enter и затем 2 раза enter, вместо этой мышиной возни по всему экрану, сначало нажми записать, потом подведи курсор мыши к кнопке закрыть и нажми на неё
63 smaharbA
 
09.11.13
22:57
бред несете, не туда смотрите
64 Ksandr
 
09.11.13
22:58
(62) А теперь Ctrl+Enter или Esc + будет задан вопрос, если объект модифицирован
65 NcSteel
 
09.11.13
22:58
(63) У тебя затраты не закрываются?
66 Aleksey
 
09.11.13
22:59
(64) мы же уходим от вопросов, не так ли?
67 IamAlexy
 
09.11.13
22:59
(62) да нет нигде кнопки закрыть :)

есть кнопка "записать"  и есть кнопка "провести и закрыть" ну и конечно же - "провести"

по сути пользователь глядя на документ решает что ему надо сделать и делает это одним нажатием..

все ситуации выведены на экран..


в твоем примере не зависимо ни от чего он три раза нажимает на кнопку
68 Aleksey
 
09.11.13
23:00
(67) я и мои операторы против мышиной возни
69 IamAlexy
 
09.11.13
23:01
(68) молодцы.. но не надо всех по себе равнять
70 Поросенок Петр
 
09.11.13
23:02
ИМХО, никто не проникся приколом вызова модельного окна в вызываемой функции.



Вот, кто нибудь, сможет такое написать без модальных окон?:

Функция А()
    Возврат Б();
КонецФункции;


Функция Б()
    Возврат В();
КонецФункции;


Функция В()
    Ответ = Вопрос("Чо я делаю на мисте в субботу в полдвенадцатого?");
    Возврат Ответ;
КонецФункции;
71 NcSteel
 
09.11.13
23:02
(69) Действительно зачем операторов заставлять за вопросами следить?

Им что делать нечего?
72 Aleksey
 
09.11.13
23:04
(71) Нет оператор на автомате нажимает ему не надо кнопку на экране искать, чтобы ткнуть туда
73 Ork
 
09.11.13
23:04
(67) "все ситуации выведены на экран.."
А если ситуаций много? На каждую по кнопке? Или одну кнопку - "Сделать все и меня не ипает как"?
74 Ksandr
 
09.11.13
23:04
(63) Я, честно говоря, не понял вопроса. Вопрос в том, что главное окно перекроет вопрос?
75 Поросенок Петр
 
09.11.13
23:05
+(70) Простите, Так цывильней:

//Перепишите это на режим с отказом от модальных окон:

// Функция а вызывается хер знаит откуда
Функция А()
    Сообщить(Б());
КонецФункции;


Функция Б()
    Возврат В();
КонецФункции;


Функция В()
    Ответ = Вопрос("Чо я делаю на мисте в субботу в полдвенадцатого?");
    Возврат Ответ;
КонецФункции;
76 banco
 
09.11.13
23:05
(5)  БСП 2.2 без модальных окон, скачай, посмотри
77 IamAlexy
 
09.11.13
23:06
(73) приведите пример в котором череда из 3х вопросов более эргономична чем 3 кнопки..
78 Aleksey
 
09.11.13
23:08
79 Aleksey
 
09.11.13
23:09
(77) что проще для запоминания одна горячая клавиша или 3? Где пользователю проще запутаться ?
80 EvgeniuXP
 
09.11.13
23:10
(24) а там следующее окно, с галочкой, чтоб больше не задавать этот дурацкий вопрос :)))
81 GedKo
 
09.11.13
23:10
(77) в случае, когда все следующие вопросы зависят от предыдущих ответов.
да, можно нарисовать комбинации всех вариантов. только вот пользователь будет их осмысливать гораздо дольше. если вообще будет.
82 IamAlexy
 
09.11.13
23:10
(79) что проще один раз кликнуть мышкой или 3 ?
83 IamAlexy
 
09.11.13
23:11
(80) и чем это отличается от нажатия на кнопку "... для всех" без каких либо вообще диалоговых окон.. ну или флажок там " применять для всех" перед запуком обработки ?
84 NcSteel
 
09.11.13
23:11
(79) Тебе любой кассир скажет, что три кнопки предпочтительнее, чем три раза жать одну и туже...

одни ра нажал и все.
85 IamAlexy
 
09.11.13
23:12
(81) только эту цепочку вопросов и ответов без возможности "вспомнить" что было на позапрошлом шаге - вообще наглухо неудобно..

ни разу.
86 smaharbA
 
09.11.13
23:12
будет у вас десяток, а то и сотня открытых вопросов к концу сеанса
87 NcSteel
 
09.11.13
23:12
(81) В таких ситуациях влгоритм дробят....

Пример - различные арм.
88 Ork
 
09.11.13
23:12
(75) В клиент-серверной реализации от 1С вопрос нужно задать "до того как". Даже если по ходу ответ на него будет не нужен.

Типа такого:

Функция АВВариантеАХренЕгоЗнает()
    Сообщить(Б("АХренЕгоЗнает"));
КонецФункции;

Функция АВВариантеЗарабатываюНаТарелькуСупа()
    Сообщить(Б("ЗарабатываюНаТарелькуСупа"));
КонецФункции;

Функция АВВариантеОтдыхаюОтЖеныИДетей()
    Сообщить(Б("ОтдыхаюОтЖеныИДетей"));
КонецФункции;

.... все доступные варианты ответов
.... если какой вариант не угадан - программист СЗЗБ


Функция Б(реж)
    Возврат В(реж);
КонецФункции;

Функция В(реж)
    Возврат Если ""АХренЕгоЗнает";
КонецФункции;
89 NcSteel
 
09.11.13
23:13
(86) Это и так понятно... поэтому в задницу вопросы...
90 smaharbA
 
09.11.13
23:13
+

"Провести документ №123 ?"

"Сделать непроведенным документ №123 ?"


единовременно
91 IamAlexy
 
09.11.13
23:13
1Сники как всегда..

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

типа как спор между построителем и скд например..
92 Ork
 
09.11.13
23:13
(77) Вопрос может и не возникнуть. Или возникнуть в 3-х случаях из тысячи. Кнопки - будут всегда.
93 IamAlexy
 
09.11.13
23:14
(92) но мы то должны предусмотреть что вопрос может возникнуть в 9 случаях из 10 ?

да ?

или нет?
94 smaharbA
 
09.11.13
23:14
(89) без вопросов - выбор единовременно двух значений
95 NcSteel
 
09.11.13
23:14
(92) Любой кассир будет просить вывести на экран кнопки с часто продаваемыми товарами... что бы не искать их , а нажать кнопку... Тут тоже самое.
96 smaharbA
 
09.11.13
23:15
почему в обозревателях добавили функцию блокировки всплывающих окон ?
97 IamAlexy
 
09.11.13
23:16
(94) флажком - да можешь 2 выбрать значения, переключателем нет, только одно..

и кто мешает сделать форму с закладками из 10 этапов через которые пройдя пользователь выйдет на нужный результат алгоритма опроса ?

причем тут пользователь может вернутья к предыдущему ответу, передумать, у него окно всегда на одном месте (а не всплывает каждый раз посередине) и вариантов ответов можно ему дать больше чем "ок, отмена"
98 Поросенок Петр
 
09.11.13
23:17
Блин, чего гадать. Поищите в бете ERP или в УТ11 как последние наработки одинцэ вопросы или предупреждения. Или помещение файлов. Они сплошь используются в вызываемых функциях. Для режима отказа от модальных окон это всё придется переписать.
99 NcSteel
 
09.11.13
23:17
(97) Такое решение еще и дороже продать можно, так как солиднее выглядит.
100 Поросенок Петр
 
09.11.13
23:17
100
101 IamAlexy
 
09.11.13
23:17
(98) перепишут.. не переживай..
102 NcSteel
 
09.11.13
23:18
(98) В типовых много атавизмов.
103 NcSteel
 
09.11.13
23:18
(96) Ты сегодня у нас "мастер вопросов"))
104 Torquader
 
09.11.13
23:18
На самом деле, спор даже не о том, можно ли что-то открыть модально или нет, а о том, что у системы должна быть какая-то нить исполнения.
То, что мы делаем всякие обработки оповещения и т.п., не решает проблему модальности - это просто её реализация, когда нет модальных окон.
Но, проблема гораздо шире - если пользователь видит сообщение, которое приостановило исполнение кода, то какая-то часть информации об обрабатываемом коде просто осталась в памяти (иначе откуда мы знаем, что мы будет делать дальше). И вот пользователь "теряет" это окно и начинает запускать новый алгоритм (и не обязательно этот же). Если модальных окон нет, то никто не может ему запретить выполнить ещё что-то, а потом ещё что-то, пока вся память не будет израсходована на незаконченные алгоритмы.
Так что, если мы хотим, чтобы какой-то алгоритм задал вопрос пользователю и не позволил бы ему продолжить исполнение, то всё равно от модальности не отказаться.
105 Aleksey
 
09.11.13
23:19
(97) ты сам приводил пример с почтой.

Пользователю нужно из 1С скачать почту с заявками
Пользователь и 1С не знает
А. сколько там писем
Б. Все ли письма будут успешно прочитаны (например обрыв интернета, или место под темп кончилось)
В. Пользователь не знает сколько из этих заявок прислано повторно, т.е. необходимо будет уточнить у пользователя конкретно вот заявку от Васи переписать или оставить старую?
106 IamAlexy
 
09.11.13
23:19
(104) а мы этого хотим?
в каких ситуациях?
107 NcSteel
 
09.11.13
23:20
(105) На отдельную закладку выводим проблемные письма и пользователь галками отмечает что будем делать или одной кнопкой жмет - загрузить.
108 Torquader
 
09.11.13
23:20
(96) Просто, если на странице висит модальное окно, то другие элементы страницы недоступны. Для страницы такой подход неверен.
Эту проблему решают через два div-а, когда один открывается на весь экран, а второй поверх его изображает модальную форму. Выглядит как настоящее модальное окно, но без всяких окон - из недостатков только то, что такое "окно" нельзя подвинуть, чтобы под него заглянуть (хотя и это тоже реализуется).
109 Aleksey
 
09.11.13
23:21
(107) Это при условии что письма можно обрабатывать асинхронно
110 IamAlexy
 
09.11.13
23:21
(105) ну да.. как с клииентбанком..
скачиваем все, выводим результирующую таблицу и кнопка "загрузить"

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

ибо пользователь может так сидеть терпеливо на 100 вопросов отвечать да да не нет да нет да да а потом выяснить что он грузит не тот файл :)
111 smaharbA
 
09.11.13
23:21
(108) Вы не поняли вопрос.
112 NcSteel
 
09.11.13
23:22
(109) Ситуаций когда нельзя думаю привести не сможешь )))))
113 Поросенок Петр
 
09.11.13
23:22
Короче, у меня есть наработка, которая не использует модальных окон уже в 8.2. Она открывает ряд рабочих страниц, и перед закрытием спрашивает о сохранениии некторых настроек. Плюс есть модальные окна для выбора прочих вещей. Короче модальные окна используются вовсю. Но чтобы они работали, приходится заводить стэк вызовов. Кому интересно -выложу.
114 NcSteel
 
09.11.13
23:22
(113) Упаси ... нас от этого ужаса
115 IamAlexy
 
09.11.13
23:23
(113) у тебя по сути один вопрос. чем тебя рекомендуемый алгритм не устраивает - непонятно..
116 smaharbA
 
09.11.13
23:23
Рычаг управления передачами в коробке один - и переключать возможно только последовательно
117 Поросенок Петр
 
09.11.13
23:23
И кто скажет что и тут можно обойтись без "модальных окон"...\
(114) А я вот возьму и выложу...
118 Torquader
 
09.11.13
23:23
(106) В любом случае, когда процесс требует участия пользователя, он должен выдать пользователю сообщение и дождаться ответа.
(110) Ну, можно задать не сто вопросов по одному, а один раз сразу сто с галочками - но один-то вопрос всё равно будет - без него некуда.

Если алгоритм не задаёт вопросов, то его смело можно выносить в фоновое задание, так как он прекрасно может выполняться без пользователя. Я, конечно, понимаю, что это мечта о кнопке "сделать всё и сразу", но до реальности ей ещё очень далеко.
119 Aleksey
 
09.11.13
23:24
(112) Почему? Письма содержат изменения от филиала, и нужно чтобы сначало гарантированно было загруженно предыдущие, иначе у тебя будут фактуры без документов основания, или накладные без товара. При этом решения об этом должен принять пользователь, потому что вдруг он знает что там только справочник и можно загрузить асинхронно
120 IamAlexy
 
09.11.13
23:24
(116) клавиш на клавиатуре порядка 100
и никто не  жмет одну клавишу 12 раз пока она нужную букву не высветит на экран :)
121 IamAlexy
 
09.11.13
23:24
(117) делай как все умные люди делают: флажок "сохранить параметры перед закрытием"

и все
122 Aleksey
 
09.11.13
23:24
(120) ты про телефон?
123 Asmody
 
09.11.13
23:25
(116) у меня вариатор, оно там как-то само собой живет
124 IamAlexy
 
09.11.13
23:25
(119) сам то в это веришь, ну в то что "он вдруг знает что там и что можно грузить асинхронно" ?
125 Torquader
 
09.11.13
23:25
(111) На самом деле, блокировка всплывающих окон - это блокировка рекламы, и она никак не относится к модальности, так как "всплывающее" окно можно просто закрыть или сбросить вниз - оно основную страницу не блокирует.
126 smaharbA
 
09.11.13
23:25
(120) не поверишь - одновременно нажать можно только пару-тройку клавишь - все остальные последовательны
127 IamAlexy
 
09.11.13
23:26
(122) то то от телефонных все нафиг отказались и реализуют клавиатурки где одно нажатие - одна буква..

ага - именно про телефон..
клавиатурные телефоны отмирают (по крайней мере в сценариях где надо текст набирать регулярно)
128 Aleksey
 
09.11.13
23:26
(124) Да, в чем проблема
129 IamAlexy
 
09.11.13
23:26
(126) потому что пальцев не хватает.. но сам принцип - одно нажатие - один результат.. никаких "нажми три раза чтобы получить нужную букву"
130 smaharbA
 
09.11.13
23:26
(123) оно может одновременно включить реверс и вперед ?
131 IamAlexy
 
09.11.13
23:27
(130) а у слона пенис 2 метра длинной
132 Ork
 
09.11.13
23:27
(104) Фишка в кривой реализации клиент серверной архитектуры от 1С.
Управление нельзя "по ходу жизни" передать с клиента на сервер и наоборот. (пресловутые &наСервере, &наКлиенте). А модальное окно имеет смысл только на клиенте. И поэтому как только вам это понадобилось и вы перешли на клиент - забудьте обо всем, что делалось на сервере. Ничего уже нет и ничего уже не исправить.
Вот для этого 1С и подставляет "костыль" в виде отказа от модальных окон.
133 Поросенок Петр
 
09.11.13
23:27
http://www.fayloobmennik.net/3341976

Кстати в обработке наполовину написанный аутентичный конструктор запросов под УФ, наполовину работает. Тока я его решил переписать, так что выкладываю халявно.
134 Asmody
 
09.11.13
23:27
(126) но ты же не будешь спорить с тем, что никакой «модальности» ни в одной «оконной» ОС на самом деле нет?
135 Gepard
 
09.11.13
23:28
Я так делал (не в 1с) в момент создания окна передаешь в него контекст текущего,  вызывающая форма лочится.  При закрытии окна выбора вызывается процедура контекста с параметром ответа. Форма разлочилась и выполнила нужные действия.
136 IamAlexy
 
09.11.13
23:28
(132) вы знаете примеры реализации клиент-серверной архитектуры где вопрос заданный на сервере виден на клиенте без передачи контекста на клиент и без прерывания работы серверной процедуры вызвавшей вопрос ?
137 Torquader
 
09.11.13
23:29
И, самое главное, что отсутствие модальных окон - это первый шаг к многопоточности - то есть пользователей приучают, что их замечательный код не должен ни от чего другого зависеть - если нужно взаимодействие с пользователем - нужно его информировать, а не прерывать его работу.
138 NcSteel
 
09.11.13
23:29
(119) Всел просто... доходим до проблемного письма и прерываемся и на форме КРАСНЫМ выводим инфомрацию об ошибке... пользователь выполняет действия и нажимает продолжить.
139 Aleksey
 
09.11.13
23:29
(136) да 1С 8.0
140 smaharbA
 
09.11.13
23:29
(134) модальность суть человека и времени
141 Asmody
 
09.11.13
23:29
(130) оно же электроника, а не человек. Ей странные идеи (типа использования ntfs под linux) не ведомы
142 IamAlexy
 
09.11.13
23:29
(139) это типа вопросы в процедуре "обработкапроведения" ?
143 Aleksey
 
09.11.13
23:30
(142) как пример - да
144 IamAlexy
 
09.11.13
23:30
(143) и чего вы тут углядели хорошего  и правильного ?
145 NcSteel
 
09.11.13
23:30
(139) в 8.0 он выполняется на клиенте.
146 IamAlexy
 
09.11.13
23:31
(143) а уверены что эта процедура именно на сервере исполняется ?
147 Torquader
 
09.11.13
23:31
И вопрос даже не в модальности - вопрос в том, что если мы отдаём управление клиенту, мы должны завершить процедуру.
148 Aleksey
 
09.11.13
23:31
(144) Причем тут правильно или нет? В этом деле не бывает правильно или нет, потому что работает - значит правильно, всё остальное вещи субъективные
149 Torquader
 
09.11.13
23:32
То есть получается не единый алгоритм, а игра - шаг пользователя - шаг компьютера и т.п.
150 IamAlexy
 
09.11.13
23:32
(148) про то что оно на сервере - вы точно уверены?
не на клиенте ли там проводится все ?
151 Gepard
 
09.11.13
23:32
(135) + и в андроиде тоже есть просто вызов,  есть вызов для результата,  во втором случае вызывается предопределенная процедура при закрытии дочернего окна
152 Asmody
 
09.11.13
23:32
(140) ну, у человека вытесняющая многозадачность по природе
153 smaharbA
 
09.11.13
23:32
не будут никогда люди так работать, будут только лишним загружены - сами создадут "модальность" - после ошибок начнут писать на бумажке (в уме) куда и когда нажать.
154 IamAlexy
 
09.11.13
23:33
(149) это и есть алгоритм..
он конечно чуть сложнее чем напихать предупреждения и вопросы в обработку проведения.. но что же делать..

в детстве тоже все было просто.. проснулся, поел поспал снова поел погулял и снова поспал..

а с каждым годом все сложнее. то в садик надо, то в школе уроки начали задавать, институт потом а затем бац - и работа..
155 NcSteel
 
09.11.13
23:33
(149) И этот механизм уже давно в 8.2 есть...
156 smaharbA
 
09.11.13
23:33
+ так уже происходит в некоторых приложениях
157 NcSteel
 
09.11.13
23:33
(153) Будут...
158 Поросенок Петр
 
09.11.13
23:33
Данунахир. С филосовской точки зрения любой процесс, в том числе и программынй, означает что кто-то делает чего-то с чем-то. И в процессе этого делания может возникнуть необходимость в решении человека. Для этого существуют модальные окна.

1С не отказалось от модальныъ окон. Никто в здравом смысле от них не откажется. Ваш любимый майнкрафт это модальное окно.

1С просто сделало это по гм своему.
159 Torquader
 
09.11.13
23:34
(155) Да этот "чудесный" алгоритм ещё в командной строке ДОСа был реализован.
160 smaharbA
 
09.11.13
23:34
(157) нет
161 IamAlexy
 
09.11.13
23:35
(158) посмотри типовую БП - в ней обработку клиентбанка..

вот тебе типичный пример когда надо обработать дохрена инфы а потом выборочно исходя из решений пользователя (разных для каждого обрабатываемого объекта) эти объект ыобработать и загрузить поступления и списания..

вот пример красивой реализаци то что тут многие предлагают делать вопросами пользователю в процессе чтения файла :)
162 NcSteel
 
09.11.13
23:35
(158) Прерывай алгоритм и спрашивай пользователя... Все нормально работает.
163 smaharbA
 
09.11.13
23:35
уже в 8.х есть "отказ от модальности" - открыли док - перешли в форму списка - распровели - вернулись - получили банан
164 Torquader
 
09.11.13
23:36
Ещё на будущее - смысл отказа от модальных окон в возможности быстро выносить исполнение в фоновые задания - то есть, в этом случае, если вы реализовали обмен с пользователем уведомлениями, то ничего не мешает вашему алгоритму исполняться параллельно с работой пользователя - просто, когда алгоритму нужно участие пользователя - он обращается к форме, где выводится его состояние, чтобы что-то сообщить.
165 IamAlexy
 
09.11.13
23:36
(163) ну да..
и это же хорошо.. чего в этом плохого ?

зато можно открыть документ, уйти на обед и это НЕ остановит работу других пользователей
166 smaharbA
 
09.11.13
23:36
+ после этого пользователь это помнит и создает "модальность" запомнив последовательность действий
нахера бы ?
167 Поросенок Петр
 
09.11.13
23:37
(161) Не говори мне про клиент-банку, у меня 300 магазинов эквайринг (в смысле половину из них, а другие по-другому) принимает одной платежкой, мне пришлось эту хрень всю переписать.
168 IamAlexy
 
09.11.13
23:37
(163) хотя тут вы уже к блокировкам плавно перебираетесь.. причем тут модальность собственно ?
169 NcSteel
 
09.11.13
23:37
(164) Именно и получаем многозадачность, а не курящего пользователя в сторонке.
170 Torquader
 
09.11.13
23:37
(163) Это уже проблема информации об изменениях. По идее, следующим шагом будет реализация информирования текущей формы документа об изменениях в базе.
171 Ork
 
09.11.13
23:37
(136) Каша вот где :
"без прерывания работы серверной процедуры вызвавшей вопрос"
Нет никаких "серверных процедур вызвавших вопрос".
На стороне сервера - только хранение данных. Грубо говоря чтение и запись. Вся логика - на клиенте. Встретился код по выборке данных - сходили на сервер, получили курсор - обрабатываем, спрашиваем меняем... Встретился код записи - передали курсор на сервер - он записал.

Это абсолютно не означает, что в хранимых процедурах не выполняется обработка. Также в запрос к данным разрешается указать одним из полей запроса результат серверной процедуры.

При этом никаких &наСервере, &наКлиенте ...
172 Asmody
 
09.11.13
23:37
(158) пока компьютер был персональным, можно было играть в "модальность". Но нынче программа может выполняться черт знает где. И лочить работу сервера-кластера-облака из-за одного окна у одного пользователя как-то не совсем правильно
173 NcSteel
 
09.11.13
23:38
(166) Все прошлые вопросы - ответы можно выводить в одном окне. Пользщователю ничего записывать не придется.
174 IamAlexy
 
09.11.13
23:38
(167) чего ? и что вы там переписывали ? модальные окна с вопросами вставляли или что?

речь идет не о том что вы там что то переписывали или что то там вам не нравилось и вы дорабатывали а речь идет о том что эта обработка является замечательным примером того как большое количество инфы можно обработать без модальных вопросов и предупреждений
175 Torquader
 
09.11.13
23:39
(169) А чего мы тогда спорим - я пишу на Сях - там прекрасная многозадачность - только вот случаются курьёзы - пользователь может, например, записать на диск файл в процессе его получения из сети (записывается только полученная часть файла) и т.п. Но, зато окно программы никогда не висит, ожидая когда что-то произойдёт.
176 IamAlexy
 
09.11.13
23:40
(171) "На стороне сервера - только хранение данных. Грубо говоря чтение и запись. Вся логика - на клиенте"

у вас вот тут каша..

вернее эта ваша парадигма на 8.1 застряла.. когда действительно на сервере чтение и запись а все обработки на клиенте..

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

нафига мне грузить клиента этой мутью?
177 Asmody
 
09.11.13
23:40
(171) вся логика как раз на сервере. Клиент только рисованием занимается
178 NcSteel
 
09.11.13
23:41
(175) ВРоде постоянно соглашался )))) не помню спора )

Так легко и на 1С реализовать.
179 Torquader
 
09.11.13
23:41
А после программирования интерфейса на php вообще все вопросы с модальностью снимаются - там то нет возможности спросить пользователя без формирования для него отдельной Web-страницы с вопросом.
180 IamAlexy
 
09.11.13
23:42
(179) откуда у 1Сника опыт программирования в пхп :)

7.7+8.0+8.1 и вуаля.. 1Сник считает что познал мир и знает как правильно должны работать клиентсерверные решения.. и самое главное он точно знает что 1С-кривое гамно а все остальные системы умеют лучше и правильнее и там таких проблем нет..
181 Torquader
 
09.11.13
23:42
(177) Логика - она в исполнителе алгоритма, который может быть на сервере, а может быть на клиенте. При этом, все взаимодействия исполнителя с сервером (базой данных) и клиентом строго регламентированы и ограничены, чтобы его проще было переносить с одного места на другое.
182 IamAlexy
 
09.11.13
23:43
(181) и  ?
183 Torquader
 
09.11.13
23:43
(180) Вот поэтому они и привыкли к модальным окнам.
Я, например, их замаялся в 7.7 выпиливать, чтобы иметь возможность штатно завершить работу программы без участия пользователя.
184 smaharbA
 
09.11.13
23:43
отделите котлеты то
185 Torquader
 
09.11.13
23:44
(182) И что - исполнитель не может прерываться, когда он заканчивает исполнение - он возвращает результат. Движение алгоритма далее - это следующая команда для исполнителя.
186 Asmody
 
09.11.13
23:45
(181) да не должно быть на клиенте никакой логики, за исключением той, что нужна для "рисования". Это в пределе. В реальности, конечно, не так, но все же.
187 Torquader
 
09.11.13
23:45
(184) Так там всё и отделили - мухи на клиенте, а котлеты - на сервере. А алгоритм - между ними.
188 IamAlexy
 
09.11.13
23:45
(185) это называется "визард" и реализация этого механизма с помощью инструмента вопрос() одно из самых тупых и косых решений которые только можно было в 1С реализовать..
лидер тупизны практически...
189 NcSteel
 
09.11.13
23:45
(184) У пользователя не должно быть котлет?
190 IamAlexy
 
09.11.13
23:46
(187) между ними канал связи. узкий и нестабильный
191 Aleksey
 
09.11.13
23:46
(189) Пусть сидит голодным и не задаёт лишних вопросов
192 Asmody
 
09.11.13
23:46
Главное для одинесника — никогда не читать книг по функциональному программированию
193 Torquader
 
09.11.13
23:46
(186) Когда мы запускаем толстый клиент, то вся логика в нём, когда Web - вся логика на сервере. При этом, общение логики с экраном и с базой реализовано так, чтобы она работала вне зависимости от того, где она находится.
194 IamAlexy
 
09.11.13
23:46
(189) пусть сидит мух ловит
195 Ork
 
09.11.13
23:46
(176) "в 8.2 уж пусть на сервере все обработки делаются тяжелые без перегона данных на клиент.. " - кнопка "Сделай все и меня не ипает как".

(177) "вся логика как раз на сервере" - вот это и есть путь 1С.

Еще раз. Занимался клиент-серверными приложениями для баз данных не на 1С. В моих силах было принять решение какие и когда гнать данные на клиента и какой объем. Кешировать их на клиенте или каждый раз брать с сервера...

В 1С решили "такой фигней" не страдать и пошли своим путем. Отсюда и война между остро/тупоконечниками.
196 Torquader
 
09.11.13
23:47
(190) Если канал нестабильный, то какая разница, что по нему будет передаваться - всё равно ничего не дойдёт.
197 IamAlexy
 
09.11.13
23:47
(193) в актуальных системах происходит отказ от толстых клиентов..
собственно по этому в актуальных системах постепенно и уходят от модальных окон.
198 IamAlexy
 
09.11.13
23:48
(195) "В 1С решили "такой фигней" не страдать и пошли своим путем" гениально.. ваша осведомленность просто феноменальна..
199 IamAlexy
 
09.11.13
23:48
(196) чем меньше передаваемый объем данных тем ниже требования к каналу..
200 Torquader
 
09.11.13
23:49
(195) Просто в Web-программировании есть асинхронные запросы - когда клиент что-то спросил с сервера, а ответа ещё не получил. Там приходится думать над тем, как в этом случае работать - особенно, если таблицу для данных на экране уже нарисовали, а самих данных ещё нет.
201 Asmody
 
09.11.13
23:49
(195) это не «путь 1С». Это путь всех «тяжелых» систем: «Разделяй и властвуй» называется. Каждая часть должна заниматься своим делом, там, где ей удобнее
202 IamAlexy
 
09.11.13
23:49
(195) >> "вся логика как раз на сервере" - вот это и есть путь 1С
приведите примеры многопользовательских систем, желательно промышленно используемых и современных где это не так?
203 Torquader
 
09.11.13
23:50
(197) Самый тонкий клиент - это передача информации с экрана в одну сторону, а нажатия клавиатуры и мыши - в другую.
204 IamAlexy
 
09.11.13
23:51
(203) 1С идет своим путем.. ибо пользователям мало экрана.. им надо принтеры, работу с файлами (включая редактирование и сохранение на локальные носители), работу с локальной а не удаленной сетью, работу с различной переферией местной а не той что "где то там на сервере"
205 Torquader
 
09.11.13
23:51
(202) На самом деле, в сложных системах есть несколько уровней - а вся логика действительно на одном из серверов - сервере приложений, так как для баз данных обычно отдельный сервер, который исполняет только SQL-запросы и следит за правильностью хранения данных.
206 Ork
 
09.11.13
23:51
(197) "актуальных системах происходит отказ от толстых клиентов.."
Вы сами читаете, то что пишете? Или вы считаете, что ЯВА выдуман только для "отображения", а не для переноса логики на сторону клиента? Для отображения недостаточно голого ХТМЛ?

И с какого боку к балансировке нагрузки между клиентом и сервером толстый клиент?
207 IamAlexy
 
09.11.13
23:51
(205) в 1С так же :)
208 Поросенок Петр
 
09.11.13
23:52
Блин, опять сто сорок шесть.. Ну нихрена вы от ни не откажетесь. Когда 1Ску закрываете, она спрашивает Вас, закончить работу или нет. Тема про реализацию этого. А кто считает, что можно сделать продукт без модальных окон, тупо не хавает. Поср*ть что вы на планшете можете перключиться куда угодно.
209 Aleksey
 
09.11.13
23:52
когда уже будет так?
http://nikolay1880.blogspot.ru/2012/08/blog-post_19.html
210 Torquader
 
09.11.13
23:52
(204) 1С хочет работать на любой системе, где есть браузер, а это сложнее, чем на тонком клиенте.
211 IamAlexy
 
09.11.13
23:52
(206) приведите примеры толстых клиентов на яве для многопользовательских систем :)
212 IamAlexy
 
09.11.13
23:53
(209) надеюсь никогда :)
213 IamAlexy
 
09.11.13
23:54
(209) хотя вам и сейчас никто не мешает свою форму реализовать  и рисовать на ней чтоугодно
214 banco
 
09.11.13
23:54
(208) реализацию смотри в БСП 2.2
215 Ork
 
09.11.13
23:54
(211) Еще раз - вы путаете понятия.
216 EvgeniuXP
 
09.11.13
23:54
(133) ищи ошибку:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
    
    СтруктураПути = ПолучитьСтруктуруПутиКФайлу(ОбработкаОбъект.ИспользуемоеИмяФайла);
    
    DC_КаталогОбработки = СтруктураПути.Каталог;
    
    Инициализировать();
    
КонецПроцедуры


{Обработка.DataCommander30.Форма.Форма.Форма(28)}: Поле объекта не обнаружено (ИспользуемоеИмяФайла)
    СтруктураПути = ПолучитьСтруктуруПутиКФайлу(ОбработкаОбъект.ИспользуемоеИмяФайла);
217 IamAlexy
 
09.11.13
23:54
(210) в том то и дело - и по этому для всех единые правила.. ибо 1С хочет стандартизации. хочет чтобы раз написанное решение работало и в толстом и в тонком и в веб клиенте..
218 Aleksey
 
09.11.13
23:54
(208) тут есть одно маленькое НО

В новом варианте для формы ФормаВводТекста (которая будет открываться в блокирующем окне) нужно установить свойство РежимОткрытияОкна в значение БлокироватьВесьИнтерфейс. Это обеспечит модальность для пользователя:
(с) http://v8.1c.ru/o7/201301nm/
219 Asmody
 
09.11.13
23:54
(206) какой феерический бред! Или вы из параллельной вселенной? В нашей нынче популярны такие вещи, как Amazon, Asure и прочие океаны. А у вас, смотрю, каждый сам с собой по серверу таскает
220 IamAlexy
 
09.11.13
23:54
(215) нет не путаю
221 Torquader
 
09.11.13
23:55
Ну и чего вы яву вспомнили - логика обработки и ввода данных должна быть на клиенте, чтобы за каждым нажатием клавиши на сервер не лазить, а вот логика обработки данных должна быть на сервере, чтобы данные на клиента и обратно не передавать.
222 Asmody
 
09.11.13
23:57
(221) а верификацию введенных данных где делать: на сервере или на клиенте?
223 NcSteel
 
09.11.13
23:58
(221) Тот же самый mvc этого требует
224 NcSteel
 
09.11.13
23:59
(222) Если сверять на количество введенных символов и т.д., то можно наклиенте... вся остальная обработка на сервере.
225 Aleksey
 
09.11.13
23:59
Вообщем ждет нас после нажатия кнопки записать такой код

Функция ЗаписьЭлемент()
    
  // Проверка необходимости и возможности записи.
  Если      НужноЗаписатьЭлемент(Объект) = 0 Тогда //лезем на сервер проверяем
    Возврат 1;
  ИначеЕсли МожноЗаписатьЭлемент(Объект) = 0 Тогда //опять на сервер
    Возврат 0;
  КонецЕсли;
  
  ОбъектЗаписать(Объект);//опять на сервер
        
  Возврат 1;
...
226 Поросенок Петр
 
10.11.13
00:01
(216) пАСИьб за бактрекинг! Буду искать. Вот работа с файлами в ней тонкое место. Недавно 26-й файрфокс вот начал на переместитьфайлы ругаццо....

Ну а шоб не уныло было, выложу DC2.3.

http://www.fayloobmennik.net/3342014

Работает в обычном клиенте. Можно бысто выполнить произвольный алгоритм над данными полученными запросом, подключением к ADO, или MXL, или клюшек. Можно быстро склеить ссылки в одну и т.д.
227 Ork
 
10.11.13
00:01
(221) "логика обработки и ввода данных должна быть на клиенте" - вот в этом и суть. И в каждом конкретном случае объем данных на клиенте (для правильного принятия решения) должен быть свой.

В 1С решили - на клиенте ссылка на объект. За каждым значением дополнительного поля - на сервер. И получить все данные сразу - никак не возможно. Даже если это действительно нужно. Вместо одного обращения к серверу за большим массивом данных - миллион мелких. Это действительно оптимальное решение?
228 NcSteel
 
10.11.13
00:03
(227) Если разработчик считает, что информации мало на клиенте, то при создании формы на сервере может в реквизиты/параметры передать произвольный массив информации.
229 Ork
 
10.11.13
00:05
(220) Понятие тонкий/толстый и балансировка нагрузки - все-таки разные понятия.

В толстом все данные - на клиенте.
В клиент-серверном приложении (не в стиле 1С) обработка распределяется между сервером и клиентом.
В клиент-серверном приложении в стиле 1С обработка на сервере и соответственно никаких модальных окон.
230 Ork
 
10.11.13
00:09
(228) Поработайте на клиенте с таблицей значений. Без реквизита формы.

Например если в таблицу вам нужно собрать только некоторые записи вашего реквизита, а потом их обработать. Вы сначала передадите условия выборки на сервер, которые их выберет. Потом вы их как-то покажете на клиенте. Потом опять передадите на сервер для обработки. Вместо того, чтоб принять решение на клиенте и только потом отдать на сервер для обработки.
231 NcSteel
 
10.11.13
00:11
(230) Что тебе запрещает принять решение на клиенте?
232 IamAlexy
 
10.11.13
00:14
(229) вот собственно и хотелось увидеть примеров именно "В клиент-серверном приложении (не в стиле 1С)" - желательно тяжелых многопользовательских систем.
233 Aleksey
 
10.11.13
00:16
(231) Без предварительного просмотра?
234 IamAlexy
 
10.11.13
00:17
(233) смотри как банкклиент сделан в БП3

вроде как раз пример решения.. не ?
235 Aleksey
 
10.11.13
00:20
(234) Да как пример (230)
236 IamAlexy
 
10.11.13
00:21
(235) то есть вопросов нет и все решаемо, благо примеры есть уже в типовых. так ?
237 NcSteel
 
10.11.13
00:22
Фактически любое поведение можно реализовать, кроме некоторых особенно дебильных. Так что без вопросов можно жить!
238 Aleksey
 
10.11.13
00:22
(236) У меня вопросов нет
Берем (209), ставим БлокироватьВесьИнтерфейс из (218) и вуля

Процедура УзнатьПроПиво()
    
    Ответ = МодальныйВопрос("Буш пить пиво?", РежимДиалогаВопрос.ДаНет);

     Сообщить(Ответ);


КонецПроцедуры;
239 Aleksey
 
10.11.13
00:23
точнее
ОткрытьФорму("МодальныйВопрос",Параметры)
240 Поросенок Петр
 
10.11.13
00:26
(239) Ты в другой процедуре свою вызови, там посмотрим.
241 Torquader
 
10.11.13
00:27
Кстати, вы мух от котлет отделили - а в лужу всё равно сели.
У нас система многозадачная - если мы откладываем вопрос пользователю на какое-то время, то может оказаться, что в тот момент времени, когда пользователь на него ответил, он уже неактуален.
Например, мы задаём вопрос на какой из аналогов заменить хлеб при списании ингредиентов в рецепт - вопрос улетает на клиента, а пользователь его видит уже намного после того, как был проведён другой рецепт, который поменял количество ингредиентов (и, может быть, был даже оприходован сам товар, который мы собираемся заменять).
Так что иногда избавление от модальности натыкается на невозможность "войти в одну воду дважды".
242 Aleksey
 
10.11.13
00:28
(240) в другой чего?
243 Поросенок Петр
 
10.11.13
00:28
+(240) Т.е. твоя процедура должна будет знать, что вызываемая процедура может открыть модальное окно и на том успешно завершиться. Впрочем в типовой подобное уже есть с фоновым формированием ОСВ, например, .... Но дрючить так каждый вопрос...
244 IamAlexy
 
10.11.13
00:29
(241) ну а что мешает написать алгоритм проверки достаточности игредиентов правильно?

например как оно в общепите написано рарусовском
245 Поросенок Петр
 
10.11.13
00:29
(242) В другой процедуре.
246 Torquader
 
10.11.13
00:32
(244) Это я как пример того, что иногда можно спросить пользователя "про вчерашний день" - понятно, что в идеале система сама списывает то, что ей кажется более подходящим (а в данном случае, что бы мы не списали, без повара мы вообще не узнаем, что было положено в блюдо реально).
247 Aleksey
 
10.11.13
00:35
(245) не понял какая разница откуда вызывал если интерфейс будет полностью заблокирован?
248 IamAlexy
 
10.11.13
00:36
(246) и снова мимо.
вы пытаетесь придумать для чего бы вам надо было бы стопорить алгоритм и спрашивать пользователя приводя неправильные примеры.

если мы пытаемся выпустить блюдо и нет ингредиента, то даже сейчас на 8.1 без каких либо модальных окон все решено легко просто и понятно:

1. флаг автозамен в форме который пользователь ставит если у него возможны автозамены
2. флаг недовложений  который позволит использовать остаток даже если он меньше нормы для производства полуфабриката
3. отмена проведения если передыдущие флаги сняты и нет игредиента в наличии.

тут модальное окно с вопросом вообще никоем боком и не в тему..
так тчо пример незасчитан..
249 Torquader
 
10.11.13
00:39
(248) Я хотел привести пример не того, когда спрашивают пользователя, а о том, что иногда уже поздно спрашивать.

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

Потом, если можно выполнить какое-то действие, то потом с большой вероятностью можно выполнить и обратное действие. Так что вместо вопроса можно сразу показывать результат, который потом, при желании, пользователь может поправить.
250 Aleksey
 
10.11.13
00:40
я не вызываю стандартный вопрос, я рисую свою форму которая эмулирует внешний вид вопроса, и в свойствах формы я указываю блокировать весь интерфейс
251 IamAlexy
 
10.11.13
00:41
(249) и мы в итоге как раз и приходим к тому что модальный вопрос не особо то часто и нужен.
по крайней мере в вашем примере он точно не нужен.

ряд параметров до проведения
отмена проведения если ошибка и информирование об ошибке

модальный вопрос тут никуда не вписывается..
252 Asmody
 
10.11.13
00:41
К тысячному посту одинесники опровергнут CAP-теорему…
253 Torquader
 
10.11.13
00:41
(250) А надо ли блокировать весь интерфейс - иногда, чтобы грамотно ответить на вопрос "да или нет", нужно заглянуть в базу.
254 Поросенок Петр
 
10.11.13
00:41
(247) Контекст ёпта! Контекст не будет заблокирован. Код будет продолжаться дальше. Т.е. любая процедура вызвавшая другую, котороая откроет "модальное окно" нихераа о нём не будет знать и будет продолжаться как-будто его нет.
255 Aleksey
 
10.11.13
00:42
(249) Например открыты 2 окна "поступления" и "реализация" и возник вопрос, неверно выбран договор и сидишь и чешешь репу с какого документа этот вопрос?
256 Torquader
 
10.11.13
00:42
(254) А что в этом плохого - хотите участия пользователя - завершите код и ждите, пока он запустит другой.
257 Aleksey
 
10.11.13
00:43
(252) Какую?
258 Torquader
 
10.11.13
00:43
(255) Ну, если кто-то не догадался в заголовке вопрос написать, откуда он возник, то какой смысл в ответе на этот вопрос ?
259 Torquader
 
10.11.13
00:44
(255) Другое дело, что если дать пользователю право работать в момент выполнения кода, то он может успеть поменять документ, который проводится - по крайней мере, в Web-приложениях такое было сплошь и рядом.
260 Aleksey
 
10.11.13
00:45
(258) Это просто первое знакомство с типовыми на УФ в режиме отдельных окон
261 Aleksey
 
10.11.13
00:45
(259) не еще круче, пользователь запускает видеть что ничего не происходит (так как работа в фоне идет) и пытается еще раз запустить, перезапустить 1С
262 Ksandr
 
10.11.13
00:46
(255) В такси невозможно иметь два открытых окна
263 Torquader
 
10.11.13
00:47
(261) Ну, здесь проблем нет, если процедура запущена, то повторный запуск должен выдать сообщение "уже работает" - если кто-то не смог реализовать такой функционал - сам виноват.
264 Поросенок Петр
 
10.11.13
00:47
(256) Блин. Любая процедура которая взовет другую процедуру, которая может чего-то спрносить у пользователя, должна теперь это предусмотреть. А когда пользователь нажал на с*ную кнопку, теперь мы в обработке оповещения должны вспомнить кто блин нас вызывал и продолжить его контекст. Через  стэк конеткста, разве что.
265 Torquader
 
10.11.13
00:47
(262) А вот это уже называется "фигура из четырёх букв" - тут и модальные окна не нужны, если каждое окно само модальное.
266 Aleksey
 
10.11.13
00:48
(263) Типа не могу закрыть 1С насяльника, жду данные с сервера?
267 Ksandr
 
10.11.13
00:49
(264) А нечего писать спагетти код, чтоб стек вызывов не влазил в окно.
Будет две процедуры - все действия до вопроса и собственно действия после.
268 Torquader
 
10.11.13
00:49
(264) Если все параметры передавать через структуры, то ничего страшного не произойдёт. Просто вместо вызова очередной процедуры вы вынуждены будете запихнуть в параметр имя того, кого вызываем и имя того, кого вызвать после вызова - ну и вернуть управление системе - я такое на VbScript делал - там механизма вызова одного из другого не было, но всё работало достаточно стабильно.
269 Поросенок Петр
 
10.11.13
00:50
(265) Единственная панацея - открывать "модальные окна" только в "первой" стадии, т.е. когда пользователь что-то нажал. Непосредственно в обработке события. Задавать вопрос в вызываемой функции, ведет к ацким гимороям.
270 Torquader
 
10.11.13
00:51
(266) Таки нужно информировать задания о том, что их результата никто не дождётся - и если им важно выдать результат, то самое время завершиться, а если можно продолжить - то результат могут получить и при следующем входе.
271 Ksandr
 
10.11.13
00:52
(269) все равно не понимаю в чем проблема. На клиенте подготовили данные, возможно сделали внеконтекстный вызов, задали вопрос при необходимости и ушли с полным набором информации на сервер
272 Torquader
 
10.11.13
00:52
В общем, вместо стека вызовов делим код на участки, которые можно выполнять независимо - между участками передаются данные в строго структурированном виде.
(Потом участки станут классами и - здравствуй Java)
273 Поросенок Петр
 
10.11.13
00:52
Это можно сделать. Храним стэк контекста с его параметрами, и когда пользователь нажимает кнопку, стэк освобождается, вызывая всё нужные методы. Но блин, одноэсники с этим не справяйа.
274 IamAlexy
 
10.11.13
00:52
все еще не было примера где бы от модального вопроса нельзя было бы обойтись..
275 Torquader
 
10.11.13
00:54
(274) А такого примера не будет - если есть вопрос, то есть код до и код после - его можно разнести на две независимых процедуры.
Другое дело, что на каждый вопрос гонять данные с сервера на клиент и обратно не очень хорошо.
276 Ksandr
 
10.11.13
00:54
(275) На сервере и сейчас нельзя вопрос задать. Тут ничего не поменялось
277 Torquader
 
10.11.13
00:55
(274) Хотя - критическая ошибка на сервере требует на клиенте модальное окно с вопросом "повторить да-нет".
278 IamAlexy
 
10.11.13
00:55
(275) не было примеров где без заведомой кривизны требовалась серия вопросов..
279 Aleksey
 
10.11.13
00:55
(274) вон в сапе нет своих отчетов, они Crystal Reports юзают. Означает ли что и 1С должна избавиться от табличного документа и сразу в ексель выводить?
Ведь можно же обойти это?
280 Ksandr
 
10.11.13
00:55
(277) Ага, в транзакции :)
281 Поросенок Петр
 
10.11.13
00:55
(271) Вобщем-то и вопрос о том. Станут ли типовые задавать вопросы только в пользовательских событиях. Как было сказано в сабже, я нашел в бете ERP когда вопрос задается в четвертой вложенной процедуре. Представь себе как будет чувствовать себ вызывающая это дело функция в режиме отказа от модальных окон.
282 IamAlexy
 
10.11.13
00:56
(277) опять же - чем это лучше остановки обработки с информационным сообщением ?
283 Aleksey
 
10.11.13
00:56
(278) Ошибка чтения с внешнего устройства Повторить?
284 Ksandr
 
10.11.13
00:56
Какбэ от отсутствия события НачалоВыбораИзСписка сложностей больше чем с этой надуманной проблемой
285 IamAlexy
 
10.11.13
00:57
(279) вот и я про то же - не надо смотреть на другие решения/платформы и делать непременно как там..  надо жить своим умом
286 Torquader
 
10.11.13
00:57
(280) Если серверу "плохо", то хоть и в транзакции - когда сервер не смог прочитать данные с диска - будут не вопросы а предупреждения, если не вообще "core panic".
287 Поросенок Петр
 
10.11.13
00:58
(285) Раз Боря сказал, то ShowMessageBoxA(...) это однозначно херово...
288 Torquader
 
10.11.13
00:59
(281) И причём тут отчёты. Табличный документ 1С - это расширение Excel - хотя бы в том, что табличный документ бесконечен, а Excel не может выйти за рамки максимального числа.
289 IamAlexy
 
10.11.13
00:59
(283) остановить вообще и пусть пользователь проверив устройство заново запускает..
290 Aleksey
 
10.11.13
01:00
(288) я к тому что от того что из любой ситуации можно найти выход не означает что можно безболезнен от чего то отказаться будь то отчеты или модальные формы
291 Torquader
 
10.11.13
01:01
(287) Оно "не айс", когда задаётся в браузере, и нельзя переключиться на другую вкладку, не ответив на вопрос - а в другой вкладке может быть какая-то другая система открыта, которая ничем не виновата в том, что 1С что-то спросила - и, кстати, может тоже что-то спросить - и тут уже всё зависит от кривизны браузера (обычно в Windows Ctrl+Shift+Esc и "пинка" тому браузеру, который уже не отвечает).
292 Torquader
 
10.11.13
01:03
(290) Понятно, что безболезненно ничего не бывает.
Просто, даже простой выбор, который раньше можно было вставить в код, теперь придётся делать отдельно.
Дальше вопрос с выбором - что делать, если открыли выбор одного и того же два раза - открывать две формы или делать два выбора в одной.
293 Torquader
 
10.11.13
01:04
С другой стороны, теперь не каждый умелец, написавший алгоритм на VbScript для Excel, сможет написать что-то рабочее для 1С.
294 IamAlexy
 
10.11.13
01:05
(292) раньше можно было предупреждение в обработку проведения запихать да без таймера..

а теперь блин какие то дурацкие клиенты и не менее дурацкие серверы придумали..
295 Torquader
 
10.11.13
01:05
Другое дело, что желание - иметь в браузере тот же алгоритм работы, что в обычном окне, приводит к скудности возможностей и там и там.
296 Torquader
 
10.11.13
01:06
(294) Так обработка проведения теперь вообще с клиентом не может общаться, слава богу.
297 IamAlexy
 
10.11.13
01:07
(296) что славабогу то.. это же оскуднение функциональных возможностей
298 Torquader
 
10.11.13
01:08
(297) -> (295) так об этом же и речь - желание пройти в две двери сразу требует откинуть всё то, что не пролазит хотя бы в одну из дверей.
299 Torquader
 
10.11.13
01:11
И, самое главное, пора бы разделить модули на клиентские и серверные, чтобы не надо было писать директивы в одном тексте.
300 Aleksey
 
10.11.13
01:11
(294) иногда это было нужно
301 IamAlexy
 
10.11.13
01:12
(299) дели.. все возможности есть
302 Torquader
 
10.11.13
01:13
(300) Ну, раньше, войдя в здание, можно было услышать вопрос - зачем ты сюда пришёл - и была возможность ответить - теперь тебя выпинывают на улицу с бумажкой, на которой написано "зачем ты сюда пришёл" - чтобы ответить, ты должен заходить снова.
303 Torquader
 
10.11.13
01:15
(301) Нет, чтобы у каждого объекта был серверный модуль и клиентский - тогда логика вызовов будет понятна каждому, кто умеет читать.
304 IamAlexy
 
10.11.13
01:15
(302) нет.. сейчас перед входом написано что тебе сюда нельзя..

а раньше ты входил в здание и поднявшись по лестнице пешком на 10ый этаж узнавал что тебе сюда нельзя и тебя выводили из здания
305 Asmody
 
10.11.13
01:16
(302) зато появляется возможность вообще никуда не ходить, а отправить письмо, чтоб тебе в ответ письмом прислали ту бумажку
306 IamAlexy
 
10.11.13
01:16
(303) так она и щас понятна..
есть безусловно серверный модуль у объекта.

есть модули где возможны как серверные так и клиентские вызовы и что характерно это все легко читаемо
307 Torquader
 
10.11.13
01:17
(304) Желание задать вопрос внутри кода - это выяснить, что сюда нельзя уже на девятом этаже (в девятой строчке стека вызовов).
308 Torquader
 
10.11.13
01:18
(306) Оно слишком легко читаемо - когда делается вызов с параметрами - момент их передачи с клиента на сервер и обратно от программиста скрыт системой, что плодит кучу ошибок.
309 Torquader
 
10.11.13
01:19
Однако, в отличие от rpc, объект передать нельзя.
310 IamAlexy
 
10.11.13
01:21
(308) приведи пример ошибок ?
непойму о чем идет речь
311 Asmody
 
10.11.13
01:22
(309) потому что объект — это такая штука, которая сильно зависит от … да от всего: и от среды, и от контекста. Я бы даже сказал, что объект в другой среде — это другой объект
312 Aleksey
 
10.11.13
01:23
(304) нет если раньше сначало спрашивали, а тот ли это подъезд (а есть ли остатки), перед тем как поднять пианино, то теперь сначало поднимают пианино, потом спускают его, а уж только потом тебе говорят, не тот подъезд
313 Aleksey
 
10.11.13
01:24
(310) а смысл, если ты опять скажешь, что вот тут можно написать двух этажный код чтобы обойти это, отсюда следует, то что ты говоришь - не нужно (смотри пример про печатные формы)
314 Torquader
 
10.11.13
01:25
(310) Когда мы передаём таблицу значений на сервер, потом получаем в ответ другую таблицу и снова пихаем её в вызов процедуры на сервере.
(311) Так rpc вообще ничего, кроме указателя на объект, не передаёт - просто на "далёкой" стороне можно вызвать методы объекта, которые система rpc прекрасно отработает.
315 IamAlexy
 
10.11.13
01:26
(312) ты плавно соскочил на новую, вернее относительно новую схему проведения  с обсуждения модальности вопросов?

ну так и тут немного не так приврал :)
316 Ksandr
 
10.11.13
01:27
(314) Пихать можно не таблицу, а адрес во временном хранилище, что положительно сказывается на быстродействии
317 Torquader
 
10.11.13
01:28
(312) Тут немного не так - или сначала спросить, есть ли дома хозяин, а потом что-то поднимать - или поднять, а потом, если хозяина дома нет, унести назад.
И, финальный аккорд, если в момент вопроса хозяин был, а после окончания подъёма уже выяснилось, что он ушёл.
318 Torquader
 
10.11.13
01:29
(316) Если горе-программист передачи контекста не видит, то ему сложно объяснить, что он - "птица с клювом".
319 IamAlexy
 
10.11.13
01:30
(312) раньше было как:

ты брал пианино, поднимался на 10ый этаж, убеждался что можешь поднять это пианино и что несешь его тому кому нужно.
Ты не мог его там сразу оставить если все ок.
Ты сначала проверял - донесешь ли и примут ли там, и если там говорят что "ой, да дейсвтительно, это нам и мы ждем"  - ты спускался в низ и затем торжественно его нес на 10ый этаж чтобы его передать получателю :)


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


то есть в итоге выгоднее с точки зрения трудозатрат сразу поднимать по имеющемуся адресу и если что на лифте спустить пианину чем 2 раза поднимать всегда даже если адрес правильный
320 Torquader
 
10.11.13
01:33
(319) -> (317) Поход первый раз не гарантирует, что он будет успешным во второй раз.

В случае с остатками - в проведении сначала выясняется, что нам нужно (по документу) потом запрашиваются остатки всего того, что нам нужно, далее проверяем, что всё есть (если чего-то нет, от в список и вывод с отрицательным результатом), если же есть, то выполняем проведение и запись в регистры - если это всё в одной транзакции, то исчезнуть ничего не может.
321 IamAlexy
 
10.11.13
01:34
(320) тем более..
322 IamAlexy
 
10.11.13
01:35
(320) но можно же заблокировать весь дом.. пока ты тащишь пианину тудасюда никого не впускать и никого не выпускать.. пусть подождут.. ты же пианину тащищь
зато всем понятно :)
323 Torquader
 
10.11.13
01:36
И коротко резюме:
Почему нельзя вопрос в транзакции - мы остановим всё работу системы.
Почему нельзя вопрос между двумя транзакциями - от одной транзакции к другой данные могут измениться.

Поэтому, сразу тащим пианино наверх - если неуспешно, то хоть в окно выкидываем - всё равно уже неудача.
324 Torquader
 
10.11.13
01:36
(322) 1С при проведении документа именно это и делает - транзакция, понимаешь ли.
325 Torquader
 
10.11.13
01:38
Просто, грамотное решение - проводить документ по строкам - одна строка - одна транзакция - тогда столкновений будет гораздо меньше, но 1С "из коробки" так не умеет.
326 IamAlexy
 
10.11.13
01:38
(324) вопрос в то что блокировать.. дом или одного жильца
327 IamAlexy
 
10.11.13
01:38
(325) и что делать если в накладной 284 строк провелось а 321 нет ? :) :) :)
328 Torquader
 
10.11.13
01:38
(326) По умолчанию, всех жильцов, к которым идёт доставка.
329 IamAlexy
 
10.11.13
01:39
(328) и это хорошо
330 Torquader
 
10.11.13
01:40
(327) Пусть пользователь решает, что делать с тем, чего нет - просто, если при каждой попытке проведения одной из 321 неудачной строки будут проводиться и распроводиться 284 успешных - будет не айс (это как если из-за того, что кто-то не получил чайник, забирать обратно шкаф и пианино у тех, кто его получил).
331 Torquader
 
10.11.13
01:42
(329) Так вот, если мы доставляем по одному, то мы будем блокировать только одного жильца, и вероятность, что доставка другой фирмы с нами встретится - минимальна, так как она доставляет к другому жильцу.
А вот если мы сразу блокируем всех, к кому доставляем, то другой доставке придётся ждать, если будет совпадение хотя бы на одном жильце.
332 IamAlexy
 
10.11.13
01:42
(330) в том то и дело что самый оптимальный вариант это распроводить весь документ, ибо по логике ты должен отдать все позиции получателю а не только 284 из них.. и сумма документа должна соответствовать сумме отданых позций.. и зачет аванса должен пройти по сумме отданых позиций..

а пользователь да - решит.. убрать из документа отсутствующие или же решить вопрос с их отсутствием
333 IamAlexy
 
10.11.13
01:43
(331) и какое это отношение имеет к использованию модальных вопросов? :) :): :)
334 Torquader
 
10.11.13
01:44
(333) Да это мы уже блокировки и транзакции обсуждаем, так как вопросы обычно возникают при откате транзакции.
335 IamAlexy
 
10.11.13
01:46
(334) да не должно быть вопросов при откате транзакции.
нужно откатывать транзакцию и показывать причину отката чтобы пользователь исправлял.
336 Torquader
 
10.11.13
01:47
(332) А тут уже решает логика работы. Если на момент выезда клиента к нам доступна только часть того, что мы можем отдать - мы должны его об этом проинформировать, но, если мы готовы 284 отдать, то они уже должны быть поставлены в резерв, чтобы когда он прибыл не выяснялось, что этого уже нет.

Вот такая смешная ситуация - мы проводим документ - у нас чего-то не хватает. Документ распровёлся - мы заменили то, чего не хватает, на что-то другое, и проводим снова - и бац, у нас уже не хватает того, что в первый раз было - *опа да и только.
337 Torquader
 
10.11.13
01:49
(335) В распределённых транзакциях предусмотрен механизм двух стадий - когда на первой мы запрашивает готовность выполнить нашу транзакцию, а на второй - выполняем.
Причём, на второй стадии (подтверждение) не может быть отказа, если на первой его не было.
Но, 1С два раза не умеет - ей до двух стадий очень и очень далеко.
338 IamAlexy
 
10.11.13
01:50
(336) опять же, я бы это предусмотрел в настройках документа и резервирвал ПЕРЕД проведением..
339 Torquader
 
10.11.13
01:50
В 1С "diff-транзакции" не реализованы.
340 IamAlexy
 
10.11.13
01:50
(339) я не знаю что это по этому спорить не буду.. нереализованы так и нереализованы
341 Torquader
 
10.11.13
01:53
(340) Это когда мы можем в ячейке таблицы оставить не конкретное значение, а значение и возможное его изменение (то есть диапазон) - тогда следующая транзакция может выполняться параллельно, если она этот диапазон не нарушает.
То есть, если один документ списывает 100 позиций из 250 на складе, то независимо от того, подтверждена ли она или нет, можно параллельно списать 150 позиций того же товара, не дожидаясь ответа о судьбе 100 позиций.
342 IamAlexy
 
10.11.13
01:53
(341) и чего в этом хорошего ?
343 Aleksey
 
10.11.13
01:53
(332) у меня документ на 10 000 строк. Он проведен пользователь поменял цену в 1 строке

И если бы было бы построчно то программо обновила бы данные только по одной строку не затрагивая что есть.

А что сейчас? очищаем все старые движения, расчитываем новые, и пишем с нуля

Хотя чего проще обновлять только лишь то что поменялось, и тогда и скорость бы была, и глядишь непришлось бы отложенное движение себестоимости лепить в УТ11
344 Torquader
 
10.11.13
01:54
В банковских системах такой подход реализован, что позволяет параллелить транзакции.
345 Aleksey
 
10.11.13
01:54
(342) скорость работы
346 Torquader
 
10.11.13
01:55
(343) Тогда при перепроведении выполялась бы разностная операция (изменение цены товара), а количество вообще бы не затрагивалось.
347 IamAlexy
 
10.11.13
01:55
(343) красиво..
а почему бы программно для этих ситуаций не реализовать запись нужного движения по нужной строке ?
348 Aleksey
 
10.11.13
01:56
(347) у меня в нетленке так и реализовано, но речь о коробочном (типовом) решении
349 Torquader
 
10.11.13
01:56
(342) Если два процесса могут работать независимо, то они должны работать, а не ждать, пока один подтвердит значения, не совсем необходимые для работы другого.
350 IamAlexy
 
10.11.13
01:57
(348) типовое решение и 10 000 строк из которых задним числом нужно менять что либо у уже проведенных документов? :)

маловероятно
351 Torquader
 
10.11.13
01:57
(348) В типовых некоторые потуги с допроведением тоже есть, но, разностного проведения я не видел.
352 Aleksey
 
10.11.13
01:58
(350)  маловероятно что?
353 Aleksey
 
10.11.13
01:58
(349) например списания товара и формирования задолженности. Ничего им не мешает формироваться и писаться параллельно
354 Torquader
 
10.11.13
01:58
(350) Да какая разница, сколько там строк - поменяли цену в приходке - вся себестоимость "котику под хвост".
355 Torquader
 
10.11.13
01:59
(353) Кроме зависимости одного от другого - задолженность может начать формироваться только после того, как известно, что товар уже списан.
356 Aleksey
 
10.11.13
01:59
(354) и вот если есть партионный учет, то ничего не мешает дёрнуть и обновить движение конкретной партии и с себестоимостью будет хорошо, не так ли
357 Torquader
 
10.11.13
02:00
Ладно - "diff-транзакции" в 1С - это фантастика.

Я спать.
358 Aleksey
 
10.11.13
02:01
(355) Почему? Мы же не про резерв говорим и ситуацию когда списываем что есть. У нас есть ТЧ которая однозначно должна быть списана. В ней есть сумма выручки, что мешает формировать задолженность ДО списания товара или параллельно?
359 IamAlexy
 
10.11.13
02:01
(350) маловероятный сценарий использования типовой..

суть в том что никто не делает в серийных альмерах багажник на 50 тонн и двигатель на 1200 лошадей только ради того чтобы вдруг кому то иногда потребовалось перевезти 50 тонн руды на серийной альмере, задача которой возить семью по городу в ашан..
360 Aleksey
 
10.11.13
02:02
Другое дело регистр анализ продаж (если он есть) в котором должны попадать данные и о себестоимости и о выручки
361 Torquader
 
10.11.13
02:02
(356) Ничего не мешает - только нужно, чтобы все такие действия выполнялись в одном процессе - если каждый пользователь будет за раз по пол базы пересчитывать, то быстрота работы будет просто феноминальной.
И потом будут вопросы - у меня документ пол-часа проводится - что мне делать.
362 Aleksey
 
10.11.13
02:04
(359) Т.е. у вас не правят задом? Я понимаю если у вас ларёк и должны списать то что есть на складе, вопросов нет. Но например провели реализацию, отдали на склад, склад чего то не нашел - сделали вычерк, или клиент забирает со склада и ему что-то не понравилось - вернулся - удалили строку из документа. вполне себе 80% купи-продай так работают
363 Torquader
 
10.11.13
02:04
(358) Если товар уже отгружен, то да - можно и параллельно.
А если товар только резервируется, то задолженность будет потом.

Ну и финальная песня - кто сказал, что у документа может быть только два состояния "проведён-не проведён" ?
364 Aleksey
 
10.11.13
02:05
(361) не будет он по полчаса проводится. Если правки будут в течении текущего дня то движений по партии минимальные (или отсутствуют). А если он правит документ 3-х годичной давности то он понимает что время проведения может немного затянуться
365 Torquader
 
10.11.13
02:05
(362) Если всё сделано грамотно, то не нашли, удалили, изменили - это корректировка - никто не требует её пихать в один документ.
366 Aleksey
 
10.11.13
02:05
(363) если товар резервируется, то откуда задолженность? к тому же разве типовые научились частично резервировать товар?
367 IamAlexy
 
10.11.13
02:05
(362) то есть у вас бухгалтерия выписала торг12 на 100 строк и сумму 1000 рублей, счет фактуру выписала..

клиент со склада взял 1 строку на 100 рублей, вы в накладной удалили 99 строк и в счете-фактуре удалили 99 строк

печатные формы как, перепечатали или в них почеркали?
368 Aleksey
 
10.11.13
02:06
(365) которой же опять нет в типовой (у меня в 7-ке так и сделано - отдельный документ, а уж печатная форма его учитывает при формировании ТЧ)
369 Torquader
 
10.11.13
02:06
(364) "Дяда Миша в посудной лавке" - только он документы трёхгодичной давности правит - такая правка только в исключительных случаях.
370 Aleksey
 
10.11.13
02:07
(367) еще нет печатных форм, так что считай что перепечатываем
371 Torquader
 
10.11.13
02:08
(368) Ну давайте вообще о бизнес-процессах и событиях поговорим. Тогда документов, как таковых, просто нет - действия и печатные формы - этот механизм тоже в 1С есть, только его как пятое колесо в телеге приподносят.
372 Aleksey
 
10.11.13
02:08
(369) вот и я о том же, что небудут вопросы по поводу " у меня документ пол-часа проводится - что мне делать.", так как это исключительный случай
373 Torquader
 
10.11.13
02:09
(367) Если сначала оплатил, потом взял, то счёт-фактура на аванс. Накладная же должна выписываться в момент получения товара - иначе придётся перепечатывать.
Конечно, смешная ситуация при доставке, когда из накладной что-то вычеркнули, и оно так и осталось.
374 IamAlexy
 
10.11.13
02:09
(370) то есть бухгалтерия проводит накладную и уже на складе выявняется что накладную провели зря ибо неватает позиций?

это как ?

без резервов, провели при кривом складе, причем провели раньше фактической отгрузки и где то в отрыве от склада?

то ест по сути вы придумываете программные костыли на исправление ошибок в организации учета ?
375 Aleksey
 
10.11.13
02:10
(371) Почему нет, как раз есть четкое событие - реализация, есть другое событие "вычерк на складе" и соответствующий документ, есть другое событие возврат с текущей доставки (когда клиенту товар повезли и он отказался - и соответсвенно новый документ), не понял что значит нет документа?
376 Aleksey
 
10.11.13
02:10
А в типовой это все предполагается правкой реализации
377 Torquader
 
10.11.13
02:10
(374) Если покупатель отказывается до получения, то что это меняет - даже если всё было на складе. Качество товара можно проверить только визуально.
378 Aleksey
 
10.11.13
02:11
(374) да так
резерв был
каких ошибок?
379 Torquader
 
10.11.13
02:11
(375) Если мы пляшем от событий, то у нас "документы" - это отражение событий в базе, а для бухгалтерии эти события нужно в другую базу перегружать.
380 EvgeniuXP
 
10.11.13
02:12
это тоже самое, что объектый доступ и табличный доступ: просто надо этими инструментами пользоваться в нужных местах, а не делать - только объектый доступ или только табличный...

идея здравая... но не совсем...
381 IamAlexy
 
10.11.13
02:12
(378) резерв был клиент отказался но документы не выписаны и не проведены?

ну удалите строку по позиции от которой он отказался и при получении оставшегося просто проведите документ один раз

раз есть резервы он гарантированно проведется.


в чем проблема то ?
382 Aleksey
 
10.11.13
02:12
(379) именно так, и есть. При выгрузке в бухию у меня программа собирает ТЧ из документов и выгружает финальный результат как в печатной форме
383 Torquader
 
10.11.13
02:13
Ладно - я спать.
Всё равно "дятлам бакланов не понять" (то есть программисту с пользователями не договориться, если они сначала делают, а потом думают).

Удачи и успехов.
384 EvgeniuXP
 
10.11.13
02:14
(381) лишние телодвижения ни кто не хочет делать - 1С-овцы же ленивые!
385 Aleksey
 
10.11.13
02:15
(381) у меня водитель едет пару дней до клиента, ему выписывают реализацию и отдают водителю в зубы. Естественно клиент что-то может не принять, тогда он вычеркивает из печатной формы и она возвращается в месте с товаром. Соответственно товар на склад, печатная форма перепечатывается с учётом того товара, который фактически получил клиент

А проблема в том что у меня нет никакого желания давать править складские документы задним числом (причем задним - значит 3-4 дня назад)
386 IamAlexy
 
10.11.13
02:19
(385) и какие варианты?
387 Aleksey
 
10.11.13
02:21
(386) см (365)
388 IamAlexy
 
10.11.13
02:23
(387) у нас когда обратный рейс прилетает и возвращают рационы или там воду допустим, никто не согласен брать корректировки и оформлять возвраты
нарыли какую то норму согласно которой есть пара дней вроде в течении которых документы просто перевыставляются

и соответственно приходится править накладные действительно задним числом.

да, правим..  и перепроводим.
но опять же - это простая накладная  - там логика проведения примитивная и нагрузки на сервер никакой..

ну перепровели и перепровели..
благо строк то всего 50-100
389 Aleksey
 
10.11.13
02:26
(388) для сервера понятно, но тут вопрос больше не в сервере а в аудиторском следе. Это раз
Во вторых водитель может этот товар обратно и не довести (но при этом с клиента долг нужно списать)
Ну и плюс теже проблемы с резервами когда у тебя по заявке в резерве 100 штук, а в реализации 95, т.е. 5 штук "всплывают" в резерв
390 Rie
 
10.11.13
06:50
(0) Честно говоря, проблема всё же непонятна. "Всё уже придумано до нас" - например, wiki:Продолжение
Да, несколько изменится стиль программирования. Ну так и флаг ему, стилю, в руки!
391 Chai Nic
 
10.11.13
08:53
(137) "приучают, что их замечательный код не должен ни от чего другого зависеть"
Помнится, я как-то высказал на мисте идею о желательности введения в платформу механизма "строгих функций", обменивающихся данными лишь через параметры и возвращаемое значение и которые в принципе не должны быть способны изменять контекст при исполнении, для большей потокобезопасности и повышения математической надежности алгоритмов. Ведь по сути функции в 1с это де-факто процедуры, возвращающие значение, а если функции будут по определению строгими - программист сможет их использовать, не задумываясь о побочных эффектах, что при совместной разработке крайне важно. По сути, это был бы плавный переход к парадигме функционального программирования.

..так меня тут заклевали... Типа "платформа ничего тебе не должна, ты программист - ты и следи сам за всеми побочками всех функций".
392 vde69
 
модератор
10.11.13
09:26
вообще модальное окно используется не только для остановки алгоритма, но и для валидности самого вопроса.

пример:
создаю нового контрагента у него ИНН 11111111, перед записью идет проверка на наличие такого ИНН в базе, хоп а ИНН уже есть - ставим вопрос "Точно создать с ИНН 1111111? будет дубль!!!"

а теперь представьте, что пользователь пошел в соседний отдел выяснять что-то про другую свою задачу, а придя на рабочее место забыл про вопрос и оставив вопрос в немодальном окне поменял ИНН на 2222222 и записал, и через часа 4 работы вдруг увидел что у него весит первый вопрос.

интересно что он подумает про 1с?

если мы уж отказываемся от модальных окон, то нужно предусмотреть оповещение о закрытие немодального окна, а это уже как минимум вторая дополнительная процедура кроме "Ответ получен"...

ИХМО - на клиенте однопоточность это нормально, пускай вводят серверную многопоточнгость и не парят людям мозг.
393 Ork
 
10.11.13
09:33
(390) Нету в 1С "продолжения". Задать вопрос - лезем на клиента. Все, что было на сервере - умерло. Продолжать нечего.
Да и не нужно оно. Кроме проблем с голым "клиент-сервер" поиметь проблем с блокировками - оно нужно?
394 Chai Nic
 
10.11.13
09:45
"ИХМО - на клиенте однопоточность это нормально"
Так их тянет на веб-клиент.. самая большая причина всего этого гемора - смена парадигмы интерфейса с собственного клиента на веб-интерфейс. А в веб-интерфейсе всплывающие модальные окна не приветствуются..
395 vde69
 
модератор
10.11.13
09:51
(394) я не верю что 1с сможет нормально работать на веб клиенте.

честно не верю!

и самое главное не понимаю ЗАЧЕМ ?

я понимаю, что есть проблемы с Кросс платформенною, но веб клиент не решит этого....
396 IamAlexy
 
10.11.13
10:14
(392) вот по этому валидность проверяется при записи в типовых..
ввел в форму, пытаешься записать - система предупреждает о проблеме..

и НЕ записывает.

если у тебя пользователь с модальным окном ушел в другой отдел а потом ушел домой - у тебя радостно система с этим вопросом и висит три дня... не давая например монопольно зайти другому пользователю.


Опять же - никто не мешает такие сценарии обыгрывать через окна форм блокирующих остальной интерфейс.. пришел - увидел что кроме этого окна все заблокировано, ответил и продолжил работу
397 IamAlexy
 
10.11.13
10:16
(395) успешно решает. .

у меня есть клиент который 100% своего рабочего времени работает на маке через вебклиент.. БП3+отраслевка.. да еще и через 3г сидит постоянно
у него только бух в винде работает да и тот аутсорс..

у меня есть другой клиент: стоит в офисе УТ11 на 8.3.4 и там половина офиса сидит вобще через вебклиент не желая в принципе запускать тонкий клиент..  вообще.. они открыли хром, во вкладке запустили базу и она у них целый день открыта. а в базу между прочим им полностью почту и контакты из гуглей/аутлуков перенесли.. то есть они с почтой работают через 1С


так что хошь верь хошь неверь но вебклиент очень, очень полезная штука..
398 Aleksey
 
10.11.13
10:24
(397) Полезная - да. Но нужная ли?
Я тоже видел клиента (магазин) который работал с удаленной базой УТ10 (без всяких ваших веб-кдиентов) через 3G и вполне себе успешно работал.

Т.е. отсутствия веб-клинта небыло уж таким камнем преткновения, ради которого нужно в корне было всё менять.
399 Ork
 
10.11.13
10:25
(395) Решит. Пока все к тому.
От MDI интерфейса уже отказались. По-большому счету от графического интерфейса. От модальности тоже.
Следующий шаг - переход на клиенте к командной строке. И получим эмулятор классического алфавитно-цифровой терминал 80-х годов прошлого века.
400 Ork
 
10.11.13
10:26
+(399) А там ломаться практически нечему.
401 IamAlexy
 
10.11.13
10:30
(398) ну при желании можно в магазине вообще без 1С обойтись..
в принципе без 1С
и без компьютеров..
402 IamAlexy
 
10.11.13
10:30
(399) >От MDI интерфейса уже отказались. По-большому счету от графического интерфейса.

какие то безумные выводы..
403 Aleksey
 
10.11.13
10:33
(395) что значит зачем?
ИМХО http://www.cnews.ru/news/top/index.shtml?2011/07/08/446895 + https://1cfresh.com/
404 Aleksey
 
10.11.13
10:33
(401) вот именно, и стоило ради этого ставить всех раком?
405 IamAlexy
 
10.11.13
10:37
(404) никого раком и не ставят.. вы на ровном месте придумали проблему и бухтите..

для пользователя ничего не поменяется, вернее тупые схемы когда во воремя проведения ему надо было на 100500 вопросов отвечать будут похоронены..
406 Ork
 
10.11.13
10:37
(402)
По МДИ - вы можете видеть в тонком клиенте одновременно два документа?
По поводу графического интерфейса - вы можете задать произвольное расстояние между элементами управления? Или изменить их размер под ваши нужды? И сильно ли это отличается от знакоместа в АЦТ?
407 vde69
 
модератор
10.11.13
10:38
(402) MDI имеет ряд преимуществ, хотя на больших системах он так-же имеет и ряд недостатков.

MDI хорош для относительно простых систем (типа 7.7), 1с все усложняет и усложняет, по этому они и отказываются от старых схем...

1с вообще в последнее время делает ДЛЯ СЕБЯ а не для нас.
Взять например механизм разделения данных, кроме как для публикации на их фреше этот механизм нафик ни кому не нужен, так ведь тащут его во все конфы только ради фреш технологий...
408 IamAlexy
 
10.11.13
10:39
(405) какая связь между графическим интерфейсом и расстоянием между кнопками? :):
409 Aleksey
 
10.11.13
10:39
(405) т.е. и все отраслевые и дороботки на 2.0 прекрасно работают на 3.0? Т.е. совсем совсем ничего не поменялось?


Лучше бы они типовую допили бы по НДС, а то до сих пор нет нормального учета у комиссионера
410 IamAlexy
 
10.11.13
10:39
(407) ну да..
411 Aleksey
 
10.11.13
10:41
(407) дебильная парадигма "унификация всего" (первый шаг к модульности), которую сама 1С поставила как план, и всеми силами пытается достичь этого
412 IamAlexy
 
10.11.13
10:42
(409)а вы теплое с мягким не путайте..

я про пользователей говорил.. возьмите конфу и откажитесь в ней от модальности.. и что, пользователь становится раком?
да как по этой ветке оказалось что отказ от модальности да, доставит работы гамнокодерам, но пользователю только сплошные плюсы ибо это приведет к более эргономичной работе с системой..
413 IamAlexy
 
10.11.13
10:42
(411) так это же хорошо..
вроде 1Сники каждый год поднимают тему "почему 1С не модульна"
414 Ork
 
10.11.13
10:43
(405) "тупые схемы когда во воремя проведения ему надо было на 100500 вопросов отвечать будут похоронены.."
Ну надо же... А нас в конце 80-х учили, что скоро основная масса программ будут интерактивными. И пользователь будет принимать решения "по ходу", а не делать восемьсотсороксемь попыток одного и того же расчета.
415 vde69
 
модератор
10.11.13
10:44
(411) совершенно не похоже что 1с поставила себе в план хоть какую модульность....

1с тупо идет по пути сокращения направлений разработки. В идеале у них будет УПП, а остальные конфы будут обрезаными версиями УПП,
Такой подход понятен и логичен, но ни о какой модульности тут не идет...
416 IamAlexy
 
10.11.13
10:44
(415) БСП не вписывается в твое мироощущение.. и прочие "библиотеки..."
417 Ork
 
10.11.13
10:44
+ (414) Скоро 1с ничем не будет отличаться от консоли ЕС-1030. И это объявят великим рывком...
418 Aleksey
 
10.11.13
10:44
(412) а я про владельцев
419 IamAlexy
 
10.11.13
10:45
(411) а еще раньше "вас" учили что земля стоит на трех китах а все рыжие  бабы - ведьмы и их надо сжечь.. и что теперь?
420 IamAlexy
 
10.11.13
10:45
(417) странные у вас аналогии.. вы бы в вики хотя бы подъяснились определением "графический интерфейс"
421 Aleksey
 
10.11.13
10:45
(419) а что что-то поменялось?
422 Ork
 
10.11.13
10:46
(419) А теперь 1С пытается убедить, что так оно и есть. )))
423 vde69
 
модератор
10.11.13
10:46
(416) БСП - да не вписывается, хотя я пытался на ней строить.

БСП создана исключительно для самой 1с...
424 IamAlexy
 
10.11.13
10:46
(418) для владельцев да - надо переписать..
как было при переходе с 6 на 7 как с 7 на 8

но можно не переписывать  и сидеть вечно на своей 2.0
сидите - кто вас тянет на 3.0 ?
425 IamAlexy
 
10.11.13
10:47
(423) ну то что вы не осилили не означает что никто не осилил :)

БСП прекрасна..
426 IamAlexy
 
10.11.13
10:48
(422) у вас проблемы с причинно-следственными связями..  :)

я вот читаю ваши посты и не улавливаю хода ваших рассуждений  и логики построения выводов из входящих данных
427 Aleksey
 
10.11.13
10:50
(424) и вот тут мы подходим к самому главному.
Если при переходе с 7-ки на 8-ку многое для пользователей стало по другому, то тут мы видим работу отдела по двиганию кнопок.

И зачем бизнес должен повторно вваливать кучу бабла, если по сути, как ты говоришь, для пользователя ровным счетом ничего не меняется? Это уже на рэкет похоже
428 Aleksey
 
10.11.13
10:51
(424) А кто тянет? Так 1С и тянет, вынуждая каждые 3 года менять платформу и тратить деньги, ради что "у пользователя ничего не поменялось"
429 IamAlexy
 
10.11.13
10:52
(427) потому что иногда надо изменяться не только внешне но и внутренне..

а по поводу "для пользователя ничего не изменилось" - ну так бизнес это тоже пользователь системы..
бизнес бац - и может отказаться от лицензирование терминалов за одно получив решение всех проблем с принтерами и другой переферии удаленных рабочих мест..

и чем не "изменилось многое к лучшему" ?

да только ради этого многие уходят с терминалов в тонкие клиенты
430 Aleksey
 
10.11.13
10:56
(429) при это заметь никто им (кроме лени и нежелания) не мешал им это сделать еще во времена 7.7. Чисто технически все инструменты были
431 Aleksey
 
10.11.13
10:57
так что из нового это то что теперь оно из коробки запускается, но при желании 1С могла это сделать и на 7.7, т.е. встроить веб-морду в коробку
432 IamAlexy
 
10.11.13
11:01
(430) гы гы гы

кто мешал виндовс8 выпустить в 95ом году вместо вин95 ?
433 Aleksey
 
10.11.13
11:03
(432) мощность компьютера, только причем тут это?
434 IamAlexy
 
10.11.13
11:04
(431) хоть один продукт выпускал сам, развивал? обновлял?

не понимаешь что наступает такой момент что выгоднее с точки зрения трудозатрат выпустить новую редакцию чем бесконечно костылять в старой?

опять же - в мире ПО нужно выживать.
мы живем в реально мире а не в мире розовых единорогов..

сколько ты знаешь продуктов которые по 10 лет не обновляются и находятся  в топе по использованию?

я незнаю ни одного..
ибо как только останавливается развитие продукта продукт уходит в небытие..
435 Aleksey
 
10.11.13
11:05
(434) смешались в кучу кони люди
436 IamAlexy
 
10.11.13
11:05
(433)
как ты ловко нашел сразу причины.. а про 1С таких причин серьезно не видишь? :)

зы: были и есть все инструменты для оптимизации ресурскоемкости
437 Aleksey
 
10.11.13
11:06
(436) ну запусти вин 8 на 486-той
438 IamAlexy
 
10.11.13
11:06
(435) нет не смешались.

там 2 логичные причины:

1. останови развитие продукта и он будет предан забвению
2. нельзя бесконечно копить костыли.. надо обрубать и делать новые редакции
439 IamAlexy
 
10.11.13
11:08
(437) ну запусти мне 7.7 на mssql 2012

родную без патчей...
а затем на х64 сервере скачай обновление и обнови ее
а потом повтори все это на линуксе..
440 IamAlexy
 
10.11.13
11:09
+(439) ведь мы знаем что MS так же как 1С бросили хороший годный MS SQL 2000 и не поддерживюат его и не продают..
то есть делают то же что 1С
клепают новые продукты доставляя неудобства пользователям у которых и так все работало на 2000  SQL вместо того чтобы бесконечно выпускать SP для SQL 2000
441 vde69
 
модератор
10.11.13
11:15
(425) БСП не прекрасна, ты пробовал что-то изменить в типовой что бы потом обновления ставились без гемороя?

кстати если будет время забабахаю статью на эту тему, как я целый день убил на простое (с точки зрения модульности и наследственности) действие по добавлению в документ 1 реквизита и изменения проводок этого документа с всего 2 строчками кода в их форме (бух 3.0).

БСП - это несомненно шаг у 1с, но шаг немного не тот который все ждали :)
442 Вуглускр1991
 
10.11.13
11:16
RDP модальные окна, окна настройки "прячутся"
Вот реальная причина отказа от модальных окон.
443 IamAlexy
 
10.11.13
11:22
(441) да. Все замечательно обновляется, причем автоматически пока я пиво пью... Очень измененная конфа, отраслевка на базе бп3 обновляется с релизатнатрелиз типовой автоматом.
444 IamAlexy
 
10.11.13
11:24
(442) нет, не эта причина. То что вы описали будет происходить с любым ПО, а не только с 1с
445 Aleksey
 
10.11.13
11:24
(400) у mssql есть хотя бы обратная совместимость. Т.е. БД разработанная для 2000 будет работать
446 Вуглускр1991
 
10.11.13
11:25
(444) Но именно 1С решает проблему так кардинально. Все остальные ждут патчей от МС.
447 Aleksey
 
10.11.13
11:26
(442) эта разве не проблема мелкомягких? вроде бе бы патч был
448 Aleksey
 
10.11.13
11:27
Однако, мало кто знает, что в большинстве случаев проблема решалась с помощью пакета исправлений, который вышел в конце мая прошлого года и доступен по ссылке - http://support.microsoft.com/kb/2384602/ru.
(с) http://blogs.technet.com/b/ai/archive/2012/01/25/3475568.aspx
449 IamAlexy
 
10.11.13
11:28
(446) потому что отказ от модальных окон это не решение этой проблемы - в зуп2.5 от модальных окон не отказаться, и в ут10
450 IamAlexy
 
10.11.13
11:29
(445) а базы версий ранее 2000?

Просто и 1с позволяет базу 8.0 открыть на платформе 8.3.4...
451 vde69
 
модератор
10.11.13
12:25
(441) написал статью :) пока на премодерации http://infostart.ru/public/236363/
452 NcSteel
 
10.11.13
12:51
(451) Быстр однако...
453 Лефмихалыч
 
10.11.13
12:54
(23) до сих пор ведь ноют, чо уж там...
454 Rie
 
10.11.13
15:58
(393) "Лезем на клиента" (с сервера) - это как? Если задаём вопрос - значит, находимся на клиенте. Если что-то нужно сохранить - сохраняем. Понятно, что в отсутствие специального механизма всё это ложится на хрупкие плечи программиста. Ну так ему за это деньги платят.
455 Asmody
 
10.11.13
17:28
Ork в своих жалких попытках потроллить несёт такую фееричную х.ню, что аж прям интересно читать. Другое дело, что известный и заслуженный тролль IamAlexy ведется на эту хрень - вот это забавляет ещё больше.
456 IamAlexy
 
10.11.13
17:31
(451) гы гы гы

сразу видно статья из серии " я нихрена не знаю продукт но напишу какой он плохой, хоть описанные косяки и есть следствие моего незнания"
457 Rie
 
10.11.13
17:43
(456) А можно поподробнее? А то я не заметил, где сказано, что "продукт плохой". После прочтения статьи у меня сложилось как раз обратное впечатление: описывается решение некоей задачи как раз штатными средствами.
458 IamAlexy
 
10.11.13
17:47
(457) ну не совсем штатные

"Соответственно создаю регистр  "ДатыКнигиПокупок" (измерения Документ и Дата, на один документ может быть несколько дат) и общий модуль "Мув_ДополнительныеСообщенияПроведения".  Далее снимаю с поддержки форму документа "СчетФактураПолученный""

более штатно было бы если бы он заюзал подсистему дополнительных реквизитов и сведений..
459 NcSteel
 
10.11.13
17:52
(458) Именно так.

С учетом того, что эти дополнительные реквизиты сами на форму выведутся как отдельное поле. то есть красиво.
460 sikuda
 
10.11.13
18:29
(0) Сейчас в тонком клиенте и вэб- клиенте это работает по разному:
http://infostart.ru/public/195003/#28
461 Rie
 
10.11.13
18:43
(458), (459) Вина автора тут только в том, что он "изобрёл велосипед". И в этом смысле в (456) IamAlexy прав. Но механизм доп. реквизитов - по сути ведь то и есть, то, что предложил автор.
А далее - учитываем несколько "философский" характер темы. Понятно, что велосипеды изобретать не надо. Однако 1Сик как язык программирования, и 1С:Предприятие как среда - на мой взгляд, давно уже вышли за рамки "VBA для специализированной СУБД". Ещё с 7-ки (1С++ - как бы намекает...). ЗАО "1С" гнёт свою линию - в плане унификации решений. И это - хорошо (не буду перечислять почему - все работали, все знаем). Но, с другой стороны, мощность системы создаёт возможности и для других "веток" развития. Что тоже интересно.
Если посмотреть системы на той же Java - там вполне сочетаются "типовые" решения с оригинальными (на самых разных уровнях оригинальными).
Фсё! Сказал! Начинайте рвать на портянки! :-)
462 Rie
 
10.11.13
18:46
+(461) Впрочем, дополню чуток... Народ регулярно пишет "убийцу 1С" (ну, это объяснимо). Но мало кто пишет альтернативу в рамках самой 1С-овской парадигмы.
463 Rie
 
10.11.13
18:52
(451) Ты бы лучше по примеру GROOVY - сделал бы мастер-класс по "внутренней кухне". Понятно, что мало энтузиастов пришло бы. Но по крайней мере одного (я имею в виду себя) - гарантирую.
464 EvgeniuXP
 
10.11.13
19:13
(410) Кухар уже и сюда залез - ай, молодец :)
писал бы что новое... всё объезженное...
465 Aleksey
 
10.11.13
20:07
(459) Можно поподробнее с этого место.

Меня просто смущает 2 факта

1. На форму можно вывести только дополнительные реквизиты, но не сведения

2. Дополнительные реквизиты могут быть только у справочников, но не у документов.

Исходя из этих двух фактов расскажи как решить задачу по выводу дополнительного поля в документе


P.S. Для хранения сведений 1С использует РС, для хранения реквизитов 1С использует ТЧ, которая есть только у справочников


А то я смотрю по возмущаться, что кто-то не знает инструмент - это всегда пожалуйста
466 NcSteel
 
10.11.13
20:33
(465) В УТ 11 доп реквизиты есть и у документов... имхается мне что в БП 3.0 так же (нет под рукой).
467 Aleksey
 
10.11.13
20:37
(466) Учи матчасть, в БП 3.0 доп реквизитов у документов

P.S> Это к вопросу об унификации, это же из БСП? Но почему нельзя сделать одинаково в БП 3.0 и УТ11
468 Chai Nic
 
10.11.13
20:45
"От MDI интерфейса уже отказались. По-большому счету от графического интерфейса. От модальности тоже.
Следующий шаг - переход на клиенте к командной строке. И получим эмулятор классического алфавитно-цифровой терминал 80-х годов прошлого века."

Да, именно так и есть. Вообще, идея веб-интерфейса - это развитие идеи терминального доступа к мэйнфрейму.. в роли мэйнфрейма выступает "облако", в роли клиентского алфавитно-цифрового терминала - веб-браузер. Всё идет по спирали..
469 Chai Nic
 
10.11.13
20:46
(467) "Но почему нельзя сделать одинаково в БП 3.0 и УТ11"
А почему в БП3.0 нет автоматического пересчета единиц измерения? Очевидно, чтобы покупали вместо одной конфигурации две..
470 Aleksey
 
10.11.13
21:02
(469) не прав, речь идет об универсальной библиотеки БСП
471 jbond
 
11.11.13
03:15
(0) такие же проблемы, но в  MVP
472 Torquader
 
11.11.13
21:58
Кстати, в браузере действительно модальные окна - это команды:
window.alert - сообщение с кнопкой OK
window.confirm  - сообщение с кнопками OK и Cancel
window.prompt - запрос текстового параметра (с кнопками OK и Cancel)
а также диалоги открытия файла (для элемента управления input type="file") и сохранения файла.
Все остальные окна модальными являются только если открываются командой modalDialog, которую "выпиливают" за любовь к ней всяких спамеров и рекламщиков).
473 sikuda
 
12.11.13
13:33
(472) Да в 2009 году, когда появились упр. формы  рекомендовалось не использовать эти модальные формы в интернете. 1С не ищет легких путей.
А вы посчитайте количество функций вопрос в БП3 и удивитесь.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.