|
Управляемые формы и SQL, в чем преимущество | ☑ | ||
---|---|---|---|---|
0
VladSt
02.06.15
✎
09:33
|
Добрый день
Есть самопальная база на обычных формах, размер базы 50 гигов, win2008server, sql2008. Все отлично работает. И это клиент-серверный вариант работы. Не могу для себя найти ответ. Все конфигурации в ближайшее время 1С переведет на управляемые формы. А вот какое преимущество УФ по сравнению с вариантом обычные формы + SQL? |
|||
165
Aleksey
02.06.15
✎
11:35
|
(154) И эти люди мне будут говорить что код на УФ меньше и проще?
|
|||
166
Маратыч
02.06.15
✎
11:35
|
Вообще, меня сложно назвать ярым сторонником УФ или ОФ. Но проектировать интерфейсы, которые во время ресурсоемких и длительных операций требуют вмешательства пользователя - верх гамнокодирования, имхо. Либо предварительный набор условий, либо постобработка, одно из двух.
|
|||
167
alex74
02.06.15
✎
11:35
|
страницами кода.
|
|||
168
Drac0
02.06.15
✎
11:35
|
(150) А если вывести обработку документом в фоновое задание, то он может в это время еще и поработать :)
|
|||
169
Гёдза
02.06.15
✎
11:35
|
(161) Вот я и говорю: Зачем отлаживать - не нужно вам это
|
|||
170
UFO
02.06.15
✎
11:37
|
Здесь надо было создать голосование... уже просто базар идет.. кто хаит, кто хвалит...
|
|||
171
Aleksey
02.06.15
✎
11:37
|
(162) иногда работа должна выполнятся последовательно, типа сначала загружается поступления, а потом реализация.
В твоем случае я должен предварительно/виртуально загрузить данные, проверить нет ли ошибок, а потом повторно эти данные грузить, предварительно задав вопросы что делать если... А потом говорят, что это УФ такие тормозные? |
|||
172
Хрюша
02.06.15
✎
11:38
|
(164)
> У вас в УПП на УФ? нет, мы не используем УФ на УПП. |
|||
173
Fish
02.06.15
✎
11:38
|
(169) А какая разница? Найти ошибку в коде при отладке, или найти ошибку в настройках? Мне непонятны твои проблемы.
|
|||
174
Маратыч
02.06.15
✎
11:38
|
(160) Насчет отображения процесса согласен, прогресс-бар какой-нибудь хотя бы.
|
|||
175
Остап Сулейманович
02.06.15
✎
11:38
|
(166) Не всегда постобработка бывает возможна. В простейшем случае - да.
Но когда вы увидите сообщение типа "на третьем шаге не задан маршрут обработки. Транзакция отменена" А маршрут зависит от выполнения первых двух шагов. Какая может быть постобработка? |
|||
176
Drac0
02.06.15
✎
11:38
|
(163) Даже в ОФ должна быть в такой ситуации только постобработка результат. У тебя групповое проведение может занимать час и два. И ты на это время привязываешь пользователя к компу и к этой обработке. Ты реально не понимаешь, что твои три строчки это лютый трэш?
|
|||
177
Fish
02.06.15
✎
11:39
|
(160) Пока что это единственный обоснованный минус УФ.
|
|||
178
Ник080808
02.06.15
✎
11:39
|
Простите нуба, но я не понял зачем вопрос задавать в процессе загрузки? Разве не логичнее считать данные в табличечку найти нужное и выявив ошибки - вывести пользователю до записи документов в базу? а если на 9999 документе из 10000 пользователю нужно отменить загрузку документов? То есть сидел товарищ, пил чаек два часа нажимал ответы на вопросы штук 200, а потом гоп надо отменить и откат транзакции и по новой 200 вопросов и 2 часа времени?
|
|||
179
Ник080808
02.06.15
✎
11:40
|
(171) как загрузка происходит?
|
|||
180
fisher
02.06.15
✎
11:40
|
(160) В типовых это реализовано. В БСП, в частности. Через запуск процедуры модуля фоновым заданием.
Можешь тут еще глянуть: http://catalog.mista.ru/public/274721/ |
|||
181
Маратыч
02.06.15
✎
11:41
|
(175) Не совсем понял, в чем проблема. Ну и засунуть все три шага в транзакцию, в список ошибок вывести "не удалось обработать то-то и то-то на шаге таком-то", откатить транзакцию.
|
|||
182
pessok
02.06.15
✎
11:41
|
(180) мерси, покурим. Но все же это явные костыли, к сожалению
|
|||
183
Phace
02.06.15
✎
11:41
|
(171) Для этого во всех версиях 1С, начиная с 7.7. есть механизм последовательностей.
Так мы договоримся что и интерактивный вопрос пользователю во время проведения конкретного документа тоже благо... ну, типа, там ведь могут быть ошибки при проведении. |
|||
184
Drac0
02.06.15
✎
11:42
|
(171) Нет, ты должен загрузить то, что грузится без проблем, а пользователю конце оставить рулить исключительные ситуации.
|
|||
185
alex74
02.06.15
✎
11:43
|
(176) почему ты решил что групповая обработка занимает исключительно день или два? Вот кто тебе сказал что всегда бывает только так?
У меня были случаи когда надо писать обработку которая отрабатывает 10-30 секунд масимум (секунд, Карл!). Пользователь нажимает кнопку Сформировать, и смотри как прогрес-бар движется вперед... иногда процесс прерывается и надо ответить на вопрос. Видя движение прогресс-бара юзер никуда не уходит, потому что оценивает потребное время и может планировать свою работу. А как это сделать в УФ? |
|||
186
Остап Сулейманович
02.06.15
✎
11:43
|
(181) А при следующем выполнении транзакции вполне могут получиться другие результаты шагов 1 и 2. И пользователь просто не сможет предусмотреть что же ему отвечать.
|
|||
187
fisher
02.06.15
✎
11:45
|
(182) Какие еще костыли? Прямее пути при асинхронном взаимодействии клиента и сервера быть не может в принципе.
|
|||
188
Маратыч
02.06.15
✎
11:45
|
(186) Что-то не улавливаю, как одна и та же операция с одними и теми же исходными данными может дать другой результат. Серьезно, не догоняю, о какой модели вы говорите.
|
|||
189
Провинциальный 1сник
02.06.15
✎
11:45
|
(177) Еще есть минус - невозможность сообщить клиенту о том, что фоновое задание выполнено. Поэтому приходиться заморачиваться проверкой в цикле, что неправославно.
|
|||
190
Drac0
02.06.15
✎
11:46
|
(177) Но решаемый. Однажды решенный, больше не проблема :)
|
|||
191
alex74
02.06.15
✎
11:46
|
(188) такое бывает, например, если в системе одновременно работает более одного пользователя.
|
|||
192
pessok
02.06.15
✎
11:47
|
(188) партионка, например
|
|||
193
pessok
02.06.15
✎
11:48
|
(177) как это нет?
ОжидатьЗавершения(); Сообщить("Ыщ!"); |
|||
194
Phace
02.06.15
✎
11:48
|
(177) А мне вот кажется что он вовсе и не нужен, ибо это будет уже проблема масштабируемости, ведь это постоянное (на протяжении всей обработки) общение клиента и сервера, как сейчас это происходит в обычных формах с прогресс баром. Может это конечно и удобно для пользователя, но это, на мой взгляд, то, чем можно пожертвовать.
|
|||
195
Fragster
гуру
02.06.15
✎
11:48
|
(185)
Пока СервернаяФункция(ТутПараметрДляВопросаИПрогресса) Цикл Если НуженВопрос Тогда Вопрос() Иначе Состояние() КонецЕсли; КонецЦикла; Функция СервернаяФункция(ТутПараметрДляВопросаИПрогресса) Если ОбработкаЗавершена() Возврат Ложь; ИначеЕсли ПроцияДанныхОбработана() Тогда ТутПараметрДляВопросаИПрогресса.Прогресс = Новый Прогресс; Возврат Истина; Иначе ТутПараметрДляВопросаИПрогресса.Вопрос = Вопрос; Возврат Истина; КонецЕсли; КоенцФункции Конечно, разрабы платформы по непонятным причинам поднасрали с асинхронным режимом, но человек не машина, ко всему привыкает :) |
|||
196
Маратыч
02.06.15
✎
11:48
|
(191) Конкретный пример приведите? Вот надо нам обработать кучу документов, к примеру. Или даже последовательностей документов. Как "более одного пользователя" создают в этом случае различные результаты? Изменяют одни и те же доки всей кодлой, что ли?
|
|||
197
pibul
02.06.15
✎
11:48
|
Почему эти управляемые формы такие тупые? Почему система не может нормально разузловать дерево элементов и понять что приоритет детальных настроек выше чем у групповых? Да и конструирование управляемых форм много медленнее, чем обычных.
|
|||
198
Остап Сулейманович
02.06.15
✎
11:49
|
(188) Прием - сортировка - размещение на складе.
Первый раз проводим на складе свободны одни ячейки. Со своими размерами, емкостью... Пока на вопросы поотвечали (ведь товар пока не размещен и ячеек не занял) состав свободных ячеек изменился. Нужно перепаковать, переклеить бирки ... Ну пример то вполне решаемый и к УФ ил ОФ не отностится. Но как пример : вотЪ. |
|||
199
Drac0
02.06.15
✎
11:50
|
(185) Какие день-два? Я говорил про час или два. Преувеличить в 24 раза - это неплохо так :)
Или обработка, которая может идти больше часа - это миф? У меня такое при необходимости может быть запихано в фоновое задание и юзер будет не за прогрессбаром следить, а работать. |
|||
200
Маратыч
02.06.15
✎
11:50
|
(198) А, все, чот ступил :) Ну тут другой вопрос, действительно.
|
|||
201
alex74
02.06.15
✎
11:51
|
(196) любой процесс формирования документов Б на основании документов А в условиях когда с документами А продолжается работа.
|
|||
202
alex74
02.06.15
✎
11:52
|
(199) а у меня был реальный случай когда обработка идет менее минуты, а вопросы могут быть весьма разнообразны.
Не надо все сводить к одному-единственному варианту. |
|||
203
fisher
02.06.15
✎
11:53
|
(195) Мухлюешь. Для возможности такой порционной обработки необходимо, чтобы весь текущий контекст выполнения было возможно держать на клиенте. А это далеко не всегда возможно, а когда возможно - далеко не всегда целесообразно.
|
|||
204
Fragster
гуру
02.06.15
✎
11:54
|
(203) его нужно держать во временном хранилище на сервере, а сама серверная функция должна быть неконтекстной
|
|||
205
Остап Сулейманович
02.06.15
✎
11:57
|
Вообще все терки свелись к клиент-серверному взаимодействию. Что как бы не является исключительно свойством УФ.
Вот асинхронное - здесь да. ВЕБ по своей природе синхронности не обучен. Вопрос в том насколько оно востребовано в реальных условиях. Сколько таких предприятий у которых директора живут на Каймановых островах? Торговые представители? ИМХО тупиковая ветка мелких оптовиков, которые со временем отомрут. |
|||
206
fisher
02.06.15
✎
11:58
|
(204) Сплошь и рядом на сервере обходишь какие-то немаленькие выборки. Выгружать их в ТЗ и постоянно туда-сюда с хранилищем?
Да ну. Универсальных решений нет на самом деле. И там где для толстого клиента можно было вообще не забивать голову, в тонком клиенте придется продумывать оптимальную архитектуру для такой возможности. |
|||
207
Остап Сулейманович
02.06.15
✎
12:00
|
+ (205) Ничего не имею против УФ там, где оно нужно. Но в условиях среднего (по моей ИМХЕ) офиса оно не оправдано.
|
|||
208
Fragster
гуру
02.06.15
✎
12:00
|
(205) "асинхронное это да", фактически на время задания вопроса обработку в 99% вообразимых мною сценариев мы продолжить не можем (равно как и прекрасные падения платформы при нескольких активных асинхронных операциях, запущенных одна после другой), по этому "асинхронность" и "не модальность" можно было бы и сэмулировать платформой, оставив код конфигурации без изменений.
|
|||
209
Drac0
02.06.15
✎
12:01
|
О. Камешек в огород ОФ. А вы можете в почтовой рассылке оставить гиперссылки или ярлыки на формы? Например, открыть по гиперссылке документ или контрагента, о котором идет речь в письме?
|
|||
210
Timon1405
02.06.15
✎
12:01
|
(205) +для директора можно внешнюю вьюху сделать любую+обмен, зачем ему именно в 1с работать непонятно
|
|||
211
Drac0
02.06.15
✎
12:03
|
(210) Зачем делать что-то лишнее, если это уже есть в 1С? 0_о
|
|||
212
pessok
02.06.15
✎
12:03
|
(209) на практике этим никто не пользуется, имхо. Ну если только для "документооборота"
|
|||
213
Остап Сулейманович
02.06.15
✎
12:04
|
(209) Если в вашей поставке отсутствует СП процитирую :
"ПерейтиПоНавигационнойСсылке(<НавигационнаяСсылка>) .... Доступность: Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент)." Особое внимание обращаю на совокупность букв "толстый клиент". СП можно за недорого купить у ДенисаЧ. |
|||
214
Drac0
02.06.15
✎
12:05
|
(212) Э, у нас 4 системы активно этим пользуются.
|
|||
215
Гёдза
02.06.15
✎
12:05
|
Кстати почему не сделали асинхронный вызов фонового задания?
|
|||
216
fisher
02.06.15
✎
12:06
|
(206) + Хотя на самом деле, я считаю что задавать какие-то корректирующие вопросы влияющие на результат в процессе - это быдлокод. Никогда на ОФ так не делал. Всегда сначала выводил удобную форму со списком всех замечаний по каждому пункту/элементу.
|
|||
217
Drac0
02.06.15
✎
12:06
|
(213) Э, а при чем тут ОФ и толстый клиент? 0_о ОФ - всегда толстый, но толстый не всегда ОФ. Сможешь получить навигационную ссылку неуправляемой формы?
|
|||
218
Aleksey
02.06.15
✎
12:07
|
(217)
Глобальный контекст.ПолучитьНавигационнуюСсылку (Global context.GetURL) Глобальный контекст (Global context) ПолучитьНавигационнуюСсылку (GetURL) Синтаксис: ПолучитьНавигационнуюСсылку(<Объект>, <ИмяРеквизита>, <Индекс>) Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). |
|||
219
DmitrO
02.06.15
✎
12:07
|
(213)да не работает оно в ОФ :)
оно работает, когда толстый в режиме упр. интерфейса. |
|||
220
Остап Сулейманович
02.06.15
✎
12:09
|
(217) А зачем мне именно УФ. По ссылке на объект оно мне откроет "форму объекта". А УФ или ОФ это уже второстепенно.
|
|||
221
rsv
02.06.15
✎
12:09
|
(0) .... эээ ну скорее исходить что любая БД без ввода информации никому не нужна. Соответственно тренд - web морда т.к. не требует установки дополнительного программного обеспечения в виде клиента. Т.е. тратимся на сервер БД , само приложение в виде сервера приложений. Клиент идет с ОС в виде браузера. Исхожу замута планировалась как раз под ЦОД 1С :)
|
|||
222
pessok
02.06.15
✎
12:10
|
(221) вот только про лицензии ты забыл, за веб-клиент тоже надо отсегнуть 1С
|
|||
223
Гёдза
02.06.15
✎
12:10
|
(221) rdp клиент тоже в любой системе изначально есть
|
|||
224
Drac0
02.06.15
✎
12:11
|
(218)(220) Хм, надо глянуть. Реально работает на ОФ?
|
|||
225
oslokot
02.06.15
✎
12:11
|
(0) В УФ нескучные обои.
|
|||
226
pessok
02.06.15
✎
12:12
|
(223) только за RDP тоже нужно платить, так-то. И даже по-более, чем за 1С
|
|||
227
pessok
02.06.15
✎
12:13
|
+(226) само собой, многие на это кладут или даже не знают, что это "платная услуга", но тем не менее :)
|
|||
228
Гёдза
02.06.15
✎
12:13
|
(226) увы, за все нужно платить
|
|||
229
pessok
02.06.15
✎
12:15
|
(228) ну в случае работы через веб-рожу, можно избежать платежей за калы, а это, на минуточку, 230 тыщ за 50 лицензий
|
|||
230
Gantosha
02.06.15
✎
12:18
|
и за программеров которые бегают вокруг базы и трут штаны в офисе.
Переводишь на УФ движешься к старости в бедности) |
|||
231
Fish
02.06.15
✎
12:19
|
(223) И в мобильной? :)
|
|||
232
Гёдза
02.06.15
✎
12:20
|
(231) На мобиле юзать веб клиент 1с? Ну ты насмешил
|
|||
233
rsv
02.06.15
✎
12:21
|
Но ЦОД у 1С почему то не взлетел ..... а взлетел тренд такой штааа куча контор оказвающих услуги по аутсерсингу РСБУ просто подключают клиентов к БД по RDP.
|
|||
234
Fish
02.06.15
✎
12:22
|
(232) Ты не поверишь, но бывают ещё планшеты. А бывают формы, специально разработанные для мобильных.
|
|||
235
pessok
02.06.15
✎
12:22
|
(232) водителям на планшетиках дали веб-рожицу для обработки, где они видят, что забирать у поставшика и ставят статус забора. Для УТ 10.3, кстати. Ох и налюбился я с этим. Отвратно на андроидах веб-рожа работает, но с помощью такой-то матери все же завелось
|
|||
236
Гёдза
02.06.15
✎
12:23
|
(234) Это удаление гланд через задний проход
|
|||
237
pessok
02.06.15
✎
12:23
|
(234) автофокусировка на экране, невозможность изменения данных в колонке ТЧ при входе (т.к. невозможно войти двойным кликом, который меняет масштаб). Много там открытий чудных
|
|||
238
alex74
02.06.15
✎
12:23
|
ПерейтиПоНавигационнойСсылке() работает только в управляемом режиме. Только что проверил.
|
|||
239
Fish
02.06.15
✎
12:24
|
(236) А по-твоему к каждому мобильному сотруднику надо на спину привязывать комп и катушку с оптоволокном? :))
|
|||
240
Гёдза
02.06.15
✎
12:24
|
(238) А просто ОткрытьЗначение() уже не модно?
|
|||
241
alex74
02.06.15
✎
12:24
|
+ (238) цитирую:
{Форма.Форма.Форма(4)}: Ошибка при вызове метода контекста (ПерейтиПоНавигационнойСсылке) ПерейтиПоНавигационнойСсылке(Ссылка); по причине: Данная функция может быть вызвана только в управляемом режиме |
|||
242
Гёдза
02.06.15
✎
12:25
|
(239) не жалеете вы своих мобильных сотрудников
|
|||
243
Fish
02.06.15
✎
12:26
|
(240) Нет, сейчас в тренде ПоказатьЗначение()
|
|||
244
pessok
02.06.15
✎
12:26
|
говорят, что на ипадиках работает нормально, кстати. Сегодня жену раскулачу вечерком, попробуем. На андроидах веб-рожа работает из рук вон плохо
|
|||
245
alex74
02.06.15
✎
12:26
|
(240) не знаю, я подобную задачу на ОФ решал через УникальныйИдентификатор(), но тут вопрос поставили именно о ссылках.
|
|||
246
rsv
02.06.15
✎
12:27
|
(242) Это не важно . Важно штаа в бюджете закупка девайсов для мобильных сотрудников. Основание - не будет доступа для работы с ПО .
|
|||
247
rsv
02.06.15
✎
12:28
|
(244) Опят жаааа бюджет :) Pad дороже чем хуавей с андроидом .
|
|||
248
pessok
02.06.15
✎
12:29
|
(247) тут надо понимать, что если водитель тыкаясь в андроид на светоформе долбанет майбах, затрат выйдет больше :D
|
|||
249
Drac0
02.06.15
✎
12:30
|
(240) Где открыть значение? Из е-мэйл письма?
|
|||
250
Drac0
02.06.15
✎
12:31
|
(241) Спасибо. Значит здесь ОФ идет лесом :) А фича очень хорошая, кстати.
|
|||
251
Drac0
02.06.15
✎
12:32
|
(218) (213) см (241)
|
|||
252
pessok
02.06.15
✎
12:34
|
(251) да мало кто в этом и сомневался
|
|||
253
Гёдза
02.06.15
✎
12:40
|
(249) Перейти по навигационной ссылке тоже прямо в емэйл вызываешь?
|
|||
254
Провинциальный 1сник
02.06.15
✎
12:45
|
В общем всё решаемо. Был бы еще глобальный контекст сервера доступен - было бы вообще хорошо. Чтобы можно было объявлять и инициализировать переменные (не обязательно сериализуемые), доступные всем серверным вызовам конкретного сеанса.
|
|||
255
pessok
02.06.15
✎
12:45
|
(253) генерирует ссылку в документе и клацает на нее в письме
|
|||
256
DmitrO
02.06.15
✎
12:47
|
(254)для этого надо использовать функции из общих модулей с повторно возвращаемыми значениями на время сеанса.
|
|||
257
Drac0
02.06.15
✎
12:48
|
(253) В письме гиперссылка.
|
|||
258
Провинциальный 1сник
02.06.15
✎
12:54
|
(256) Это понятно, что можно. Но это типичные костыли. Неудобство в первую очередь связано с тем, что нельзя управлять временем хранения конкретного "повторного значения".
|
|||
259
DmitrO
02.06.15
✎
12:59
|
Это не костыли. Это реализация модели отказоустойчивости в кластере серверов.
|
|||
260
Провинциальный 1сник
02.06.15
✎
15:06
|
(259) Это реализация ... с помощью костылей)
|
|||
261
Гёдза
02.06.15
✎
15:19
|
(259) что мешает переменные также транслировать как и результат функций?
|
|||
262
Гёдза
02.06.15
✎
15:19
|
или в 1с до сих пор нет гетеров и сеттеров?
|
|||
263
StaticUnsafe
02.06.15
✎
16:16
|
(262) Причем тут геттеры и сеттеры?
|
|||
264
Гёдза
02.06.15
✎
16:23
|
(263) В этом случае переменная ничем не отличается от функции
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |