Под капотом управляемых форм

0. Андрей Овсянкин (Evil Beaver) 4129 24.08.13 01:20 Сейчас в теме
Управляемые формы уже давно и плотно вошли в жизнь 1С-разработчика. Однако, судя по недавним публикациям на Инфостарте, многие до сих пор мало знакомы с ними. Предлагаю разобраться с тем, что же это такое.

Перейти к публикации

Вознаграждение за ответ
Показать полностью
Комментарии
1. Сергей Ожерельев (Поручик) 3575 26.08.13 19:07 Сейчас в теме
(0) Дочитал до конца, но нового ничего не узнал. Так, чисто время занять, пока большой файл скачивается.
Всё написано и разжёвано в книге Хрусталёвой Разработка управляемого интерфейса.
2. Андрей Овсянкин (Evil Beaver) 4129 26.08.13 19:22 Сейчас в теме
В аннотации про это честно сказано :)
theelectric; Мах; zhichkin; Gluk_1C; deego; +5 Ответить
3. B2B (B2B) 248 26.08.13 20:34 Сейчас в теме
Сервер 1С работает по такому же принципу. В общем случае, в памяти сервера нельзя сохранить промежуточные данные между вызовами.

Не согласен.
хранилище данных

Зря использовали это словосочетание. Оно напоминает "ХранилищеЗначений". Кто-то может спутать.
СправочникОбъект уничтожается. Все его данные стираются из памяти сервера.

Не согласен.

При открытии формы элемента справочника СправочникОбъект остается на сервере, а на клиент передается описывающий его ДанныеФормыСтруктура*. И будет существовать этот СправочникОбъект на сервере до тех пор, пока форма не будет уничтожена (ну, может еще по таймауту).

Именно поэтому существуют контекстные и бесконтекстные вызовы сервера. Это подчеркивает, что контекст существует и на сервере и на клиенте.
4. Александр Лыткин (TrinitronOTV) 26.08.13 21:37 Сейчас в теме
(3) B2B, не смотря на ваши замечания, всё равно прочитал с большой пользой для себя. Спасибо автору статьи за данный материал
theelectric; suarez55; Fominro; +3 Ответить 1
5. Сергей Марченко (MarSeN) 867 26.08.13 21:53 Сейчас в теме
(3) B2B,
Именно поэтому существуют контекстные и бесконтекстные вызовы сервера. Это подчеркивает, что контекст существует и на сервере и на клиенте

Рискую ошибится, но думаю, что это ни о чем не говорит.

Я рассуждаю так: если СправочникОбъект остается на сервере, тогда зачем в принципе нужно разделение на контекстные и бесконтекстгые процедуры? Ведь контекст остался на сервере?
Но тут возникают но... Данные на форме могли поменяться и поэтому при контекстном вызове их надо обновить (должно происходить если на сервере контекст сохранен), либо если контекст уничтожен на сервере, тогда контекстный вызов просто необходим.
На личном опыте замечено что не важно сколько ты информации изменил на форме, на скорости контекстного вызова это не сказывается (т.е. платформа не отслеживает только измененные объекты и не передает только их) что косвенно подтверждает теорию отсутствия СправочникОбъект на сервере. Либо говорит о том что 1С здесь чего-то не доработало.
Это мое сугубо личное мнение и оно, возможно, является ошибочным.
6. B2B (B2B) 248 26.08.13 22:09 Сейчас в теме
(5) Суть контекстных и бесконтекстных вызвовов следующая: в случае контекстного вызова на сервер кроме всех параметров формы передается контекст (некий идентификатор), по которому сервер находит и обновляет состояние СправочникОбъект, а бесконтекстный вызов всего этого не делает.
7. Андрей Овсянкин (Evil Beaver) 4129 26.08.13 22:30 Сейчас в теме
(6) B2B, грубейшая ошибка. С чего вы взяли про идентификатор какой-то?
СправочникОбъект уничтожается при возврате на клиента. Контекст формы существует только в виде ДанныхФормы и ее элементов. У вас есть подтверждения ваших слов про то, что СправочникОбъект живет на сервере пока открыта форма?
IvanBoychuk123; Bukaska; +2 Ответить 1
8. Андрей Овсянкин (Evil Beaver) 4129 26.08.13 22:33 Сейчас в теме
Коллеги, еще раз: из СправочникОбъект-а создается структура с такими же свойствами, заполняется данными из СправочникОбъект-а. Все, дальше в форме живет только эта структура.

Доказательство - ХранилищеЗначения в реквизитах объекта.
Домашнее задание - сделать управляемую форму справочника с реквизитом типа ХранилищеЗначения. В хранилище нужно записать файл, выбранный с диска.
9. Сергей Марченко (MarSeN) 867 26.08.13 23:35 Сейчас в теме
(8) Evil Beaver,
Такое задание делал не раз на работе ))))
10. Олег Сорокин (Oleg_nsk) 137 27.08.13 07:17 Сейчас в теме
Однозначно, за управляемым интерфейсом будущее, и я не видел еще ни одного человека, который поработав с управляемыми формами, захотел бы вернуться к обычным.


Работаю с УФ полгода и хотел бы вернуться к обычным. Часто занимаюсь конвертацией данных и сложными обменами между базам. Скорость разработки увеличилась. Нагрузка на сеть для меня не критична. Сложно организовать простой прогресс бар. Передавать файл через временное хранилище грустно. Но плюсы тоже есть, однако минусы их перекрывают.
zhichkin; Roman100; mdSerg; sashapere; Arc; talych; dr2c; Uncore; alek-sand-er; Krio2; ogonek!; DoctorRoza; Windsor77; Eremita; gigapevt; tunesoft; andreydmv; bidond; okami; RadoLex; bankir1982; DenP2010; Программулькин; PONOM; nazareth; j3d; adhocprog; susorov; kote; EmpireSer; logos; Yakud3a; CratosX; Mortiferus; ditiatko; Evil Beaver; Stradivari; +37 Ответить 2
11. Сергей Кудашкин (sikuda) 497 27.08.13 08:30 Сейчас в теме
(0) О Книжках:
"Разработка управляемого интерфейса" Ажеронок, Островерх, Радченко, Хрусталева - зеленая
"1C:Предприятие 8.2 Коротко о главном" Радченко - коричневая
DmitrySinichnikov; RadoLex; nazareth; MitRhyme; Evil Beaver; +5 Ответить
12. Андрей Овсянкин (Evil Beaver) 4129 27.08.13 09:14 Сейчас в теме
(10) Oleg_nsk, поддержу в плане прогресс-бара. Точную индикацию прогресса организовать можно только извратившись. Однако, как мне кажется, для большинства прочих задач УФ намного удобнее.
13. Евгений Велюга (veluga) 27.08.13 09:21 Сейчас в теме
а ещё хочется отметить, что не все методы работает на сервере -
например если база развернута на 64битном сервере, то поработать на нем, к примеру с XBase не получиться.
d0dger; wunderland; +2 Ответить
14. Игорь Сарафанов (ivs200999) 27.08.13 09:42 Сейчас в теме
Спасибо. Уже почти год как вынужден был вернуться к обычным формам, кое-что по УФ начало забываться, благодаря публикации память рефрешнута.
15. Евгений Шабалин (xzorkiix) 27 27.08.13 09:46 Сейчас в теме
(12) Evil Beaver, Oleg_nsk

Глобальный контекст (Global context)
Состояние (Status)
Синтаксис:

Состояние(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Параметры:

<ТекстСообщения> (необязательный)

Тип: Строка.
Строка, предназначенная для вывода в панель состояния. Если параметр не указан, возобновляется вывод системного текста в панель состояния.
<Прогресс> (необязательный)

Тип: Число.
Значение индикатора прогресса (от 1 до 100).
Если не задан, индикатор прогресса не отображается.
<Пояснение> (необязательный)

Тип: Строка.
Текст пояснения.
<Картинка> (необязательный)

Тип: Картинка.
Картинка.
Описание:

Выводит текст в панель состояния.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
Примечание:

Для режима запуска ОбычноеПриложение используется только параметр <ТекстСообщения>, а вывод текста осуществляется в панель состояния.
Пример:

Состояние("Выполняется обновление информационной базы");


Частота исполнения строго на плечи программиста реализующего серверное решение.
16. mxm2 mxm2 (mxm2) 1035 27.08.13 09:49 Сейчас в теме
ОткрытьФорму("Справочник.Контрагенты.ФормаСписка", "УсловияОтбора");


очепятка во втором параметре (он должен быть без ковычек)
Mortiferus; +1 Ответить
17. mxm2 mxm2 (mxm2) 1035 27.08.13 09:52 Сейчас в теме
(15) xzorkiix, тут напрягает то, что нужно постоянно "выныривать" на уровень клиента. Логичнее решать проблему отображения хода вычислений через асинхронное фоновое задание.
18. Гость 27.08.13 10:04 Сейчас в теме
Данные помещаются в хранилище по ссылке. Это значит, что помещая данные в хранилище и изменяя их вне хранилища мы, фактически, меняем и само хранилище, т.к. в нем лежит только ссылка на данные. Пример:

Массив = Новый Массив; Массив.Добавить("Привет");
Адрес = ПоместитьВоВременноеХранилище(Массив);
Массив.Добавить("До свидания");
МассивИзХранилища = ПолучитьИзВременногоХранилища(Адрес);
Сообщить(Массив = МассивИзХранилища); // Истина
Сообщить(МассивИзХранилища.Количество()); // 2 элемента
...Показать Скрыть


Если этот код выполнять с клиента, то результат будет вовсе не таким, как написано.
19. Андрей Овсянкин (Evil Beaver) 4129 27.08.13 10:14 Сейчас в теме
(18) BH, это серверный код, выполнять надо в одной серверной процедуре. Кстати, результат, скорее всего, будет таким, как написано, однако, я там же говорил, что процесс хранения управляется платформой и она может сериализовать данные по своему усмотрению. Поэтому, в общем случае, поведение непредсказуемое.
20. Андрей Овсянкин (Evil Beaver) 4129 27.08.13 10:15 Сейчас в теме
(15) xzorkiix, да, а еще нужен реальный сервер, ибо в файловом режиме фоновые задания работают извращенскими методами и, де-факто, не применяются вовсе.
21. Евгений Шабалин (xzorkiix) 27 27.08.13 10:26 Сейчас в теме
(20) Поторопился с примером, каюсь, метод выполняется строго на клиенте. Тут скорее в решении платформы должна быть реализация методов, которые бы работали с пользовательским интерфейсом без прерывания серверного кода, те клиент паралельно всегда должен ожидать каких либо откликов со стороны сервера. Тот же метод Состояние. Возможно, это будет реализовано так позже. Пока я сомневаюсь, что разработчики платформы настроены на реализацию асинхронного вызова силами 1С-программиста.
22. Анна Коломак (foliage) 27.08.13 10:50 Сейчас в теме
Статья понравилась и четким изложением "по пунктам", и содержанием. Эту информацию пришлось с полгода назад выискивать по разным источникам, в т.ч. в упоминаемой книге. Но и из статьи немало узнала, спасибо автору!
Однозначный "плюс", мне бы эту статью в начале работы с УФ :)
23. Сергей Ожерельев (Поручик) 3575 27.08.13 10:53 Сейчас в теме
(10) Работаю с УФ три года и не хотел бы возвращаться к обычным на постоянную основу или на долгое время. Во-первых, больше престижа, во-вторых, достоинства УФ с лихвой перекрывают недостатки. Так что перестраивайте мышление.

С обычными формами работаю время от времени, но только по превеликой просьбе клиентов.

Франч, УТ 11, Розница 2, свои конфигурации.
TreeDogNight; MarSeN; +2 Ответить 1
24. al petrov (petrov_al) 10 27.08.13 10:55 Сейчас в теме
Спасибо за публикацию, хоть освежил свою память поскольку редко работаю с уф.
25. Сергей Ожерельев (Поручик) 3575 27.08.13 11:00 Сейчас в теме
(8) А что его делать? Справочник Файлы или регистри ХранимыеФайлыВерсий, ПрисоединенныеФайлы в любой типовой на БСП.
26. Андрей Овсянкин (Evil Beaver) 4129 27.08.13 11:04 Сейчас в теме
(25) Поручик, Помещать ДвоичныеДанные во временное хранилище формы, а в ДанныхФормы завести реквизит "АдресДвоичныхДанных".
Затем, в событии "ПередЗаписьюНаСервере" проверять, если по этому адресу что-то лежит, то засунуть эти данные в ТекущийОбъект.
27. Alex Stasyuk (GreenFox) 27.08.13 13:59 Сейчас в теме
Автору спасибо, сейчас начинаю плотно работать с УФ - приходится восстанавливать знания по ним после сдачи спеца.
28. Serg Nyk (sergnik) 27.08.13 14:24 Сейчас в теме
С УФ работаю где-то полгода, некоторые моменты, описанные в статье, изучал методом тыка)
Как раз подхожу под
Введение
Данная статья ориентирована на разработчиков, которые волею судеб не успели плотно поработать с управляемыми формами. Если вы уже хорошо знаете, как работают УФ и вообще управляемый интерфейс приложения, то можете статью не читать, поскольку, вряд ли узнаете много нового.


Автору спасибо, буду ссылаться на Вашу статью)
29. Иван Шумкин (SinglCOOLer) 202 27.08.13 15:06 Сейчас в теме
Хорошо написано, еще много вопросов вызывает Условное оформление(особенно если строки надо подсветить), его программное добавление и т.п., отборы в списках
30. Александр Кстенин (ant2be) 27.08.13 16:41 Сейчас в теме
31. Николай Зайков (Mortiferus) 270 27.08.13 19:10 Сейчас в теме
Спасибо автору - как всегда качественное изложение материала. До многого сам своими мозгами доходил, раньше бы на полгодика эту статью... Тем не менее еще раз спасибо, лишний раз утряслось все по полочкам.
32. B2B (B2B) 248 27.08.13 21:14 Сейчас в теме
(7) Извините, был не прав :(
33. John Bolshakov (soulsteps) 69 27.08.13 23:04 Сейчас в теме
34. Алексей (alsoftik) 6 28.08.13 07:58 Сейчас в теме
Как раз статья кстати, вчера поставил в контору конфы 8.2 УТ и БП, бум разбираться. Еще раз спс за статью.
35. Олег Сорокин (Oleg_nsk) 137 28.08.13 08:45 Сейчас в теме
(23) Поручик, Перечислите пожалуйста достоинства УФ кроме "престижа", уменьшения сетевой нагрузки и простоты конструирования форм? У вас на самом деле уходит меньше времени на разработку? Какая специфика ваших задач? Вот сегодня например прилетела задача по УТ11 при заполнении установки цен на основании документа поступление заполнить свою цену ценой поставщика с НДС. Эта задача была оценена на полчаса. При попытки вникнуть в суть кода разработчиков чуть не поехала крыша. Создание временного хранилища со схемой скд, её извлечение, двойное перезаполнение и т.п. В общем задача заняла у меня 4 часа. На толстом клиенте на это ушло бы минут пять. Добавление внешних печатных форм отчетов и обработок стало каким-то муторным. Не говорю о том что отладка на клиент-сервере невозможна без флага -debug и приходится делать файловую копию большой базы. Знаю людей которым нравятся УФ, но не знаю никого, кто-бы работал с ними быстрее чем под толстым клиентом. Сам я проходил курсы по УФ и знаю все его основные особенности, читал спецлитру, мышление перестроил под него, однако, остаюсь при своем мнении, что разработка под толстым клиентом проще и быстрее. Если будет время согласен устроить соревнование - решение нескольких шаблонных задач на скорость параллельно в УФ и на толстом клиенте :)
izidakg; zhichkin; alest; Arc; nemo888; 7OH; tormozit; frost_a; den_bat; ccserg; torg1c; klinval; prodines; orfos; MOHCTP; Rabot; Death_eye; uri1978; krendel; Morales; svetanik; talych; Shida; Yakud3a; Tsprogrammist1; rosinfo1; alanto23; +27 Ответить 4
36. artur rakhmatulin (нормальный такой) 85 28.08.13 09:20 Сейчас в теме
(35) Oleg_nsk, и меня подпишите)

в высоконагруженых системах, считаю, без УФ никуда, в параллель с обязательным клиент-сервером.
вот вы привели, что толстые формы быстрее в разработке, так давайте вернемся к 77 где вообще все просто как 3 рубля.
не помню где читал про похожий холивар, "усложнение" мол разработки, но в конечном итоге ведь - все во благо! а по другому никак. прогресс так сказать.
37. Олег Сорокин (Oleg_nsk) 137 28.08.13 10:15 Сейчас в теме
(36) нормальный такой, В высоконагруженных, возможно. Однако, я работаю с небольшими фирмами. Переход с 77 на 8 проходил относительно безболезненно, т.к. 8 позволяла именно ускорить процесс разработки и давала новые возможности. Усложнение меня не пугает, однако, сама концепция реализации тонкого клиента увеличивает время разработки. У меня претензии к тому, что тонкий клиент давая преимущества в тех аспектах, которые для меня не важны усложнил жизнь в тех, которые составляли 90% моей работы. Теперь выгоднее стало уйти на крупное предприятие нежели работать со многими небольшими фирмами, т.к. завышение цены на услуги в 1.5-2 раза никому не нравится.
izidakg; Дмитрий74Чел; +2 Ответить
38. Роман Грук (gruk) 3 28.08.13 10:37 Сейчас в теме
39. Ёпрст (Ёпрст) 1018 28.08.13 10:38 Сейчас в теме
еб@нутый каталог.. хз чего я там поставил, + или минус ?
п..ц наступил, аутор, если че, я плюсую
40. Роман Грук (gruk) 3 28.08.13 10:50 Сейчас в теме
Мне, как начинающему, понравилось. Основные принциы изложены кратко и доходчиво. Название "под капотом" четко дает понять что это не "руководство по экспуатации и ремону".
ЗЫ. Побежал читать Радченко
Прикрепленные файлы:
41. Елена Пименова (Bukaska) 122 28.08.13 11:05 Сейчас в теме
Спасибо автору! Отличная статья)
42. Павел Заяш (Pavl0) 79 28.08.13 11:08 Сейчас в теме
Статья отличная, рекомендую к прочтению.
Много нюансова разжевано.
43. Саша Безымяный (help1Ckr) 28.08.13 12:18 Сейчас в теме
(35) Oleg_nsk, Вы знаете, когда делал на обычных формах документ и в момент сдачи пользователи попросили добавить маленький реквизхит - просто текстовое поле типа комментария. Добавил вроде ничего такого не трогал, но как полетели у меня привязки - полчаса потом выравнивал((((((( в тот момент я подумал что УФ это рай на земле)
45. doxflow (bonv) 28.08.13 13:29 Сейчас в теме
[QUOT]
Ключевые параметры определяют уникальность окна. В обычных формах был такой атрибут «Ключ уникальности». Если запрашивалась форма, то она сначала искалась в уже открытых. Ключ уникальности позволял варьировать условия при которых создавалась новая форма или возвращалась существующая. Ту же самую роль играют ключевые параметры. Если метод «ОткрытьФорму» вызван два раза подряд с одним и тем же значением ключевого параметра, то второй вызов не откроет новое окно, а активирует существующее.
[/QUOT]
Не совсем верно. Поиск по ключевым параметрам это поведение по умолчанию.
Но при этом у метода ОткрытьФорму есть параметр <Уникальность>, если его заполнить, то поиск среди открытых окон будет выполняться по нему.
46. Саша Безымяный (help1Ckr) 28.08.13 13:30 Сейчас в теме
(35) Oleg_nsk, кстати. на вскидку - преимущества уф - функциональные опции, которые позволяют скрывать ненужное от пользователя. "Самоформирующийся" интерфейс
47. Андрей Овсянкин (Evil Beaver) 4129 28.08.13 13:33 Сейчас в теме
(45) doxflow,
Не совсем верно. Поиск по ключевым параметрам это поведение по умолчанию.
Но при этом у метода ОткрытьФорму есть параметр <Уникальность>, если его заполнить, то поиск среди открытых окон будет выполняться по нему.


Не знал. Думал, что они друг-друга дополняют. Спасибо.
48. Олег Сорокин (Oleg_nsk) 137 28.08.13 13:51 Сейчас в теме
(46) help1Ckr, Да. Плюс. Для разработчиков решений. Но я не разрабатываю конфигурации с нуля, а дорабатываю типовые в основном. Там таких проблем нет. С привязками ну было у меня пару раз что сбивались когда начинал на 8.0, потом понял как они работают и более затруднений не возникало.
49. bulpi bulpi (bulpi) 110 28.08.13 14:06 Сейчас в теме
" Все кто поработал с УФ более-менее плотно не хотят возвращаться назад, как в страшный кошмар."
Ну ты за всех-то не расписуйся :) После таких заявок так и хочется минус влепить.
zhichkin; Roman100; frost_a; mdSerg; bankir1982; uri1978; rosinfo1; +7 Ответить
50. bulpi bulpi (bulpi) 110 28.08.13 14:07 Сейчас в теме
"Один и тот же код работает и в браузере, и в родном клиенте."
А это просто неправда.
51. Юрий Юршин (donikx) 28.08.13 15:46 Сейчас в теме
Интересная и полезная информация. Все важное об управляемых форма в одной статье. Буду использовать в моей практике.
52. Андрей Овсянкин (Evil Beaver) 4129 28.08.13 16:14 Сейчас в теме
(50) bulpi, :) Скажем так, в идеале, один и тот же код работает и там и там.
Понятно, что есть документированные особенности, как то "РасширениеРаботыСФайлами" и прочее...
А что именно неправда?
53. bulpi bulpi (bulpi) 110 28.08.13 16:28 Сейчас в теме
Код, отлаженный в тонком клиенте, вовсе не обязательно будет работать в веб-интерфейсе. У меня была куча странных ошибок в браузере. Помогали только танцы с бубнами.
54. Андрей Овсянкин (Evil Beaver) 4129 28.08.13 17:02 Сейчас в теме
(53) bulpi, это да, веб-клиент имеет недостатки. Но о них надо сообщать и скорее всего их будут править.
Проектная идеология подразумевает корректную работу кода в тонком и веб-клиентах.
55. doxflow (bonv) 28.08.13 17:58 Сейчас в теме
(53) bulpi, и обратное тоже верно: код отлаженный в веб-клиенте не обязательно будет работать в тонком)
Evil Beaver; +1 Ответить
56. Harleq2 Harleq2 (harleq2) 29.08.13 03:18 Сейчас в теме
57. Саша Безымяный (help1Ckr) 29.08.13 09:52 Сейчас в теме
(48) Oleg_nsk, ну так речь была о разработке) ну и построение интерфейса с функциональными опциями это тоже плюшка для доработки типовых - сколько мне пришлось рабочих столов делать и отдельных интерфейсов для типовых потом у как каждый руководитель ларька считает что его информация обладает ценностью для пентагона и потому надо закрыть везде доступ.
58. Андрей Овсянкин (Evil Beaver) 4129 29.08.13 10:38 Сейчас в теме
Коллеги, а что за странная тенденция прикреплять картинки с аватарками? Это новая фича редизайна от Инфостарта? Особо везучие вместо своего поста публикуют аватарку крупного размера?
59. Константин Цуврила (aimerlive) 30.08.13 15:21 Сейчас в теме
спасибо за статью, побольше бы таких. доходчивым языком для новичков основы.
60. Алексей Белов (Karmerruk) 31.08.13 23:07 Сейчас в теме
Спасибо за статью, прояснила некоторые моменты. :)
61. Макс Зеленский (mzelensky) 53 02.09.13 12:00 Сейчас в теме
Прочел статью. К самому написанию никаких вопросов - все довольно доходчиво изложено. Не понравилось только то, что автор безустанно "втирает" идею "УФ - ЭТО ЛУЧШЕЕ, ЧТО С НАМИ БЫЛО".

По мне так УФ это г***о полное. Я работал с УФ и плевался на всем протяжении работы. Если кто-то все-таки захочет поспорить на счет "быстроты разработки", то я тоже подписываюсь! Я вижу УФ только в качестве того случая, когда нужно разработать функционал под "веб" (т.е. для работы в браузере).
postmasterKazan; Roman100; lap_soft; lsv; mdSerg; 7OH; ketr; tormozit; frost_a; sashapere; Rodnaya; ccserg; ZVN; Arc; user_2010; Идальго; Uncore; alek-sand-er; Krio2; Windsor77; prodines; Eremita; dicwork; tunesoft; Fominro; e-aleks; bidond; bankir1982; t278; Death_eye; DenP2010; uri1978; Morales; Программулькин; PONOM; nazareth; j3d; adhocprog; NCCSOFT; mihan; rosinfo1; Ёпрст; +42 Ответить 1
62. Росинфо 1 (rosinfo1) 02.09.13 14:11 Сейчас в теме
(36) нормальный такой, У меня есть заказчик, оптовая торговая фирма, 30 пользователей, 500 документов в день, включая субботу и воскресенье, работают на 7.7 самописная "примитивная" конфигурация, 15 документов, 5 регистров, и несколько сотен отчетов и обработок. Работают в терминале, файловая база. Они счастливы, довольны и скоростью и производительностью, и тем, что я им функционал под каждый чих, быстро дорабатываю. По функционалу, УТ 11 только сейчас придвинунась, к тем идеям, которые у них были реализованы еще 10 лет назад. Торговые представители через карманник, подключаются по терминалу к базе. Внешние клиенты также, у них урезанные интерфейсы, делают самостоятельно заказы. Один блок логистики, загрузки автомобилей, и доставки по районам чего стоит. Также блок производства и фасовки, со сдельными рассчетами зарплаты. Учет бонусов и откатов. Учет затрат и себестоимости, точки безубыточности. Обмен с БП 2.0 типовой конфигурацией реализован, аффилирование клиентов, как в УТ 11. Им УФ нафиг не нужны, и УТ 11 это кошмар, для их бизнеса - тормоза, и лишние затраты в ИТ инфраструктуру, а также расходы на программистов.
frost_a; landrev; Krio2; pmb17; Дмитрий74Чел; j3d; +6 Ответить 1
63. artur rakhmatulin (нормальный такой) 85 02.09.13 14:27 Сейчас в теме
(62) rosinfo1, Дорогой мой! Я за Вас очень рад! правда!
В каждом конкретном случае ессесно свои решения, вот Вы нашли такой вот подход, и самое классное что он работает! Но если делать на УФ и можно таки вообще развернуть веб сервер и юзверя с "карманников" не будут подымать rdp и т.д!
Каждому своё, и вы правильно указали, 500 документов в день, у кого то их 5000 на 500 пользователей, и тут, простите, файловым вариантом не отделаться. Сразу начнете изучать управляемые блокировки и кластеризацию.
Впрочем не стоит раздувать этот бесконечный холивар коих на просторах тырнета не счесть.
Я учился с 8ки, с 77 тоже сталкивался и работал (но не разрабатывал с "нуля") и то что я успел потрогать мне не очень понравилось. Сейчас у нас уже 83 накатываем, и то что мы видим нам очень нра :)
64. yuraskas Рупышев (yuraskas) 173 02.09.13 16:15 Сейчас в теме
Вопрос новичка в УФ. Все что здесь написано, относится к клиент-серверному варианту работы 1С? А с файловым вариантом можно писать как и раньше и не заморачиваться с &НаКлиенте и &НаСервере?
65. S nic (snic) 126 02.09.13 16:35 Сейчас в теме
Спасибо. Кратко и понятно.
66. Андрей Овсянкин (Evil Beaver) 4129 02.09.13 22:54 Сейчас в теме
(64) yuraskas, нельзя.
(61) mzelensky, я тоже плевался поначалу. Когда поработаете подольше (будут ломки) то поймете преимущества.
67. Сергей Ожерельев (Поручик) 3575 03.09.13 00:06 Сейчас в теме
Вброшу и пойду спать.
Короче говоря, кто плюётся от управляемых форм, просто неудачники, не умеющие осваивать новые технологии и перестраивать мышление. Мозг жиром заплыл.
davydoff; sks; Lo1jke; ccserg; Euroset1; Invis91; zqzq; aduyunov_2015; komatoza; starik-2005; DmitrySinichnikov; IT_Avito; vladdt; TreeDogNight; Agrognom; tushich; heavymetal; and-blag; headMade; kser87; +20 7 Ответить
68. 1cSupport - третий (Зеленоград) 03.09.13 11:55 Сейчас в теме

Скажите, коллеги - фраза "Все кто поработал с УФ более-менее плотно не хотят возвращаться назад, как в страшный кошмар" только мне кажется недостоверной, или я отстал от прогресса и то, что делалось на НФ за час теперь можно делать за 15 минут?
70. Дмитрий (dimk@a) 03.09.13 13:13 Сейчас в теме
[B]Evil Beaver[\B], спасибо за статью - все четко изложил и доходчиво. Вот про то что ВременноеХранилище живет два серверных вызова даже не знал, точнее не сталкивался.
71. Дмитрий (dimk@a) 03.09.13 13:17 Сейчас в теме
(64) yuraskas, С файловым все так же, надо разделять процедуры на серверные и клиентские.
72. Дмитрий (dimk@a) 03.09.13 13:25 Сейчас в теме
(58) Evil Beaver, у меня в Хроме инфостарт вообще неадекватно работает... с редактированием сообщений полная фигня
73. Андрей Овсянкин (Evil Beaver) 4129 03.09.13 14:55 Сейчас в теме
(68) 1cSupport - третий, видимо, все-таки, кому как. Для всех моих знакомых эта фраза полностью достоверна. Да, на УФ я могу форму нарисовать намного быстрее, чем на обычных. Двигать элементы по пикселям уже просто противно. А уж если вставить что-то в середину существующей сложной обычной формы....
TreeDogNight; heavymetal; +2 Ответить
74. Вадим Кушнер (Foma4382) 03.09.13 16:47 Сейчас в теме
75. Инна Суханова (in_nochka) 05.09.13 13:25 Сейчас в теме
Спасибо за статью, очень полезно.
76. Дмитрий (sommid) 05.09.13 18:33 Сейчас в теме
77. Роман Зиновьев (Широкий) 693 06.09.13 15:43 Сейчас в теме
"ОткрытьФорму("Справочник.Контрагенты.ФормаСписка", "УсловияОтбора");"
Передаешь все-таки текстовую строку или структуру?
78. Alex_IT (Alex_IT) 134 07.09.13 20:28 Сейчас в теме
Структуру. Опечатался автор, вон сколько букв. Ничего страшного, поправит.

moonchild1; +1 Ответить
79. Яков Коган (Yashazz) 2095 18.09.13 16:26 Сейчас в теме
На спор с одним товарищем делали красивую сложную форму - он на УФ, я на обычных. Обогнал его на полчаса и сделал гораздо более симпатичный дизайн. Имхо, УФ намного неудобнее в плане конструирования в конфигураторе. И да, я поработал с УФ и я хочу работать с обычными, они гибче и круче. Жаль, что будущее за уродством вроде "такси". Не понимаю, почему толковые и безусловно полезные меры по клиент-серверной оптимизации сопровождаются такими извратами внешнего вида и его разработки. Что, трудно было оставить прежние возможности нелюбимой автором "пиксельной" работы, а потом уже транслировать в отрисовываемую?..
postmasterKazan; frost_a; Yakud3a; +3 Ответить 1
80. Андрей Овсянкин (Evil Beaver) 4129 18.09.13 18:28 Сейчас в теме
(79) Yashazz, да блин, вот вы все прицепились к скорости! Нравится вам делать обычные - ради Бога, я что, запрещаю что-ли? :) Или вам надо, чтобы я статью поменял? Ну сформулируйте тогда, что именно надо сказать, а я опубликую.
Дмитрий74Чел; +1 Ответить 1
81. Alister (Alister) 9 18.09.13 22:17 Сейчас в теме
Спасибо автору за систематизацию информации для чайников... от чайника :)
82. Яков Коган (Yashazz) 2095 20.09.13 01:05 Сейчас в теме
(80) Да потому, что навязчивая, а зачастую оголтелая агитация за УФ (не от вас, а вообще) поднадоедает, вот и вышел крик души. Статья полезная, у кого нет Ажеронка-Островерха-Радченко-Хрусталёвой, тем и просто манна небесная. Хорошая статья. Не принимайте на свой счёт мои зубовные скрежеты )))
83. Владимир Дутлов (dutlovva) 68 24.09.13 10:41 Сейчас в теме
84. Владимир Клименко (KliMich) 02.10.13 19:29 Сейчас в теме
Спасибо! Без воды и для начинающих познавательно
85. Виктор Маркевич (warrior1985) 63 03.10.13 01:17 Сейчас в теме
Отличная статья! Спасибо автору.
86. Владимир Аникин (Vo-Va) 93 03.10.13 15:03 Сейчас в теме
Спасибо автору, реально получил ответы на многие вопросы. Недавно был случай. Заполнение таблицы формы на сервере выполнялось очень долго. Причем сам запрос отрабатывал за 3 сек, а переход с клиентской процедуры в серверную и обратно занимал порядка 20 сек. Причем если заставить исполняться весь код на клиенте с помощью директив и инструкций препроцессора в толстом клиенте весь код исполнялся да 3 сек. Т.е. запрос напрямую с клиента работает быстрее, чем запрос с сервера с последующей передачей результата на клиент!!! Я не понимал почему это происходит. Теперь понятно что в это "потерянное" время происходила сериализация таблицы. И скорость этого процесса упирается в мощность процессора.
prodines; +1 Ответить
87. Сергей Огнарев (ogoneksergei) 3 03.10.13 15:32 Сейчас в теме
88. Денис Бойко (den_bo) 68 03.10.13 16:16 Сейчас в теме
Спасибо! Особенно за разъяснения некоторых особенностей поведения временного хранилища.
89. Sirruf (Sirruf) 126 03.10.13 16:29 Сейчас в теме
Так и как сохранять com-объекты, если их нельзя помещать во временное хранилище?
90. Андрей Овсянкин (Evil Beaver) 4129 04.10.13 10:27 Сейчас в теме
(89) Sirruf, а ответьте сами: есть кластер из 3-х серверов. 2 из них на Windows, третий на Linux.
Вызвали сервер, менеджер кластера передал вызов на машину с Windows, там создался ком объект. Предположим, что мы сможем его где-то сохранить.
Делаем другой вызов, менеджер кластера передает вызов на другую win-машину, где этот COM не создавался. Как его получить с первой машины?
Дальше-больше, третий вызов придет на машину с Linux, там вообще не бывает COM. Как вообще обеспечить работу такой информационной системы?

Ваша необходимость сохранять COM объекты между серверными вызовами, это архитектурный просчет и нужно менять само проектное решение.
91. Sirruf (Sirruf) 126 04.10.13 13:30 Сейчас в теме
(90) Таким образом, вариант решения данной проблемы предложенный в статье http://kb.mista.ru/article.php?id=787 неверен. Тогда каким образом можно поменять проектное решение, если требуется хранить ком-объект долгое время, на протяжении работы всего сеанса, чтобы не создавать его каждый раз заново...
92. Андрей Овсянкин (Evil Beaver) 4129 04.10.13 13:41 Сейчас в теме
(91) Sirruf, решение предложенное в статье хоть и костыльное, но теоретически верное, т.к. тонкости создания объекта скрыты. Это как бы кеш, а не хранение состояния. Если жив объект, хорошо, а если нет, то фиг с ним, создадим заново.

Другой вопрос, если решается задача не кеширования объекта, а надежного хранения его состояния (состояния всех его внутренних переменных). В этом случае предложенное решение некорректно. В условиях нескольких серверов оно некорректно в принципе, даже если мы забудем про 1С и возьмем какую-то другую информационную систему.
93. Евгений Шабалин (xzorkiix) 27 04.10.13 13:52 Сейчас в теме
(91) Sirruf, а что это за объект такой, если не секрет? Для чего он?
94. Sirruf (Sirruf) 126 04.10.13 14:47 Сейчас в теме
(93) у меня часто используется VBScript.RegExp. Я его хранил в параметрах сеанса так как описано в статье на мисте, но в 8.3 этот прием не прокатывает - ругается при помещении ком-объекта в хранилище :(
95. Sirruf (Sirruf) 126 04.10.13 14:50 Сейчас в теме
Вообще понятно, что ком-объеты лучше не использовать в принципе. Хочу реализовать через веб-сервисы, но это не так быстро сделать. Поэтому думаю как бы мне сейчас перейти на 8.3
96. Андрей Овсянкин (Evil Beaver) 4129 04.10.13 15:12 Сейчас в теме
(95) Sirruf, внешняя компонента, либо TRex от Орефкова (есть на Инфостарте)
97. Sirruf (Sirruf) 126 04.10.13 15:16 Сейчас в теме
(96) Что это за зверь TRex? Не могу найти
98. Андрей Овсянкин (Evil Beaver) 4129 04.10.13 15:45 Сейчас в теме
(97) Sirruf, RexV8, попутал название.
http://infostart.ru/public/183084/

Я не пользовался, если вдруг не работает, пишите автору.
99. Sirruf (Sirruf) 126 04.10.13 16:22 Сейчас в теме
100. Сергей Вн (EmpireSer) 10.10.13 13:53 Сейчас в теме
Спасибо! Классная статья.
Но я не разделяю эту радость от управляемых форм. Мне больше хотелось видеть больше возможностей на стороне клиента. Ну например:
1) Зачем ограничения сериализацией? Если бы оставался контекст и на сервере, то для не поддерживаемых типов можно организовать было что-то типа "проксирование" (Remoting, RMI). Ведь "невидимый" вызов производится, если на клиенте обратится к какой-то ссылке через точку, типа такой же "фокус" можно было делать и тут.
Я согласен, что возможность распределять нагрузку в кластере - это хорошо, но, как я помню, даже в Oracle Weblogic есть возможность и держать северный контекст и даже запретить ему распределять его в кластере.
2) Что за странное ограничения на работу с таблицей значений?
3) Особенно огорчило отсутствие метода "СоздатьКолонки", т.к. нет возможности сгеренировать правильно столбцы для системных таблиц (например КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор)
4) Почему обработка СКД выполняется на сервере? А может я хочу поработать только с набором данных "объект" и просто его по особенному "обработать" (наложить сложные отборы, использовать вычисляемые поля)

Вместе с правильными новшествами были принесены ограничения "высосанные из пальца"...
frost_a; nemo888; ZVN; user_2010; prodines; bidond; al_antonov; Rabot; Maximysis; RvvRvv; krendel; svetanik; nazareth; adhocprog; Evgen.Ponomarenko; the1; +16 Ответить
101. Сергей Вн (EmpireSer) 10.10.13 13:57 Сейчас в теме
(94) Sirruf,
А что если тебе использовать общий модуль с повторным использованием на сеанс? Тоже хороший вариант
Оставьте свое сообщение