Имя: Пароль:
1C
1С v8
Управляемые формы и 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) В этом случае переменная ничем не отличается от функции
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс