|
Как вы живете без вьюшек? | ☑ | ||
---|---|---|---|---|
0
Enforcer
27.05.12
✎
20:03
|
Заглянул давеча через плечо знакомого программиста на 1С. Увидал монстроидальные селекты для отчетов на многие страницы. Когда спросил, почему не используешь вьюшки, он ответил что их нет. Посему вопрос:
Правда что-ли в 1C нет вьюшек (view)? Этого чуда инженерной мыслы полвековой давности? Или это считается нормальным для людей, которые еще недавно считали ИТОГО и строили отчеты циклом for? Только давайте не разводить флуд что мол есть временные таблицы. Да, есть. Но нужны именно вьюшки. Почему? Спросите у гугла. Например несколько доводов тут http://www.sql-server-performance.com/2002/derived-temp-tables (К слову о прогрессе, это пост 10 летней давности) |
|||
122
Masquerade
28.05.12
✎
01:14
|
(117)
"На моем личном опыте много раз бывало так, что я открываю для себя некий фреймворк или паттерн и сразу "Ух ты, как круто, как же я раньше без этого жил". Можно последние три случая? |
|||
123
rs_trade
28.05.12
✎
01:14
|
(121) их с таблицами базы джойнить нельзя. не удобно.
|
|||
124
milan
28.05.12
✎
01:19
|
(0) вьюшек или их аналога на скд не хватает,а было бы удобно.
Когда читал книжку по скд про вложенные схемы, думал ну щас делаем ссылку на схему из другого отчета и оно будет расшифровкой. Ан нет, тут автор книги копирует запрос из другого отчета и вставляет в новый в виде вложенной схемы. На этих словах сполз под стол. Предложение.заменить вьюшки внешними источниками данных а так же временными таблицами вообше 6 баллов, поржал. |
|||
125
Masquerade
28.05.12
✎
01:20
|
(117)
"Но вьюшками решается задача инкапсуляции". 1С-ник эту "задачу" решает на этапе проектирования. То, что ты называешь вьюхами - 1С строит из прикладных объектов, и как показывает практика - намного более успешно. Вьюх у тебя в базе может быть 1500 штук - офигенная инкапсуляция. По названиям их различать? И вообще - бизнес-логику описывать на языке T-SQL - это как с рогаткой на стадо динозавров. В какой-то момент это может показаться успешной идеей. |
|||
126
Sorm
28.05.12
✎
01:22
|
(123) Ну он же говорит не об обращении к метаданным, а об обращении к базе...
|
|||
127
Sorm
28.05.12
✎
01:25
|
(125) Ну, что самое интересное - что ты в MSSQL напишешь функцию, что в 1с напишешь(кто бы мог подумать!) - функцию!:)
|
|||
128
Masquerade
28.05.12
✎
01:25
|
(124)
"На этих словах сполз под стол." То есть - реализация одного отчета должна зависеть от реализации другого? |
|||
129
milan
28.05.12
✎
01:31
|
(128) какая новость, правда ? Мы хотим расшифровать остаток товара движениями за месяц, у нас есть уже отчет по движениям, но мы заново его рисуем внутри вложенной схемы, потому что разработчики не позаботились о возможности повторного использования кода.
То же самое и с километровыми запросами, одни и те же куски можно было бы использовать в разных местах, ан нет, приходится копипастить |
|||
130
Sorm
28.05.12
✎
01:32
|
(124) Ну... что тут сказать... Не хочешь - не юзай. В том понимании, в котором вьюшки используются в MSSQL, у меня используются внешние источники данных(что интересно, внутри них я как раз юзаю вьюшки:)).
|
|||
131
Masquerade
28.05.12
✎
01:33
|
(129)
Спуститесь на землю, товарищ. |
|||
132
HeroShima
28.05.12
✎
01:33
|
(0) ещё один не вкурил суть 1С...
|
|||
133
milan
28.05.12
✎
01:35
|
(130) а чего там 1c у нас пишет про доступ к данным не через движок платформы? Да и правильно, впринципе пишет, у нас тут какбэ трехзвенка, никто тебе не станет гарантировать что твоя вьюха вернет то что ты ожидаешь
|
|||
134
milan
28.05.12
✎
01:36
|
(131) яж написал что сполз под стол ;) куда ж еще ниже спускаться ;)
|
|||
135
Inform
28.05.12
✎
01:38
|
(129) Посмотри бух. отчеты, там без вложенных схем данные расшифровываются другими отчетами, тоже самое с километровыми запросами, все они у нормальных людей в общих модулях...
|
|||
136
Masquerade
28.05.12
✎
01:40
|
Скука.
Я понимаю - про делегатов потерли бы, про LINQ, да многопоточный... Уж про интерфейсы XAML-овские молчу - надоели кнопки да гриды.. Нет, вьюхи им подавай.)))))))))) |
|||
137
Sorm
28.05.12
✎
01:42
|
(133) Да ты че?:) А "внешние источники данных" у нас уже не часть конфигурации?:)
Ну, я шучу, конечно, разговор шел о отсутствии вьюшек в 1с. Они есть, механизм их использования есть(имхо, несколько более заморочено, чем в MSSQL напрямую, но да ладно). Если же говорить о вьюшках с использованием метаданных - имхо, юзай функции и внешние обработки. |
|||
138
milan
28.05.12
✎
01:42
|
(135) да, 2-3 страницы овнокода на отчет и не надо никаких вьюшек, баловство это все
|
|||
139
Sorm
28.05.12
✎
01:42
|
(136) Линкью - гадость... Каждый раз плююсь, когда на нем пишу:):)
|
|||
140
Masquerade
28.05.12
✎
01:48
|
(136)+
Забыл еще correlation subquery - вот этого реально не хватает. (139) Может быть, в каких-то моментах он неочевиден. Какая альтенатива? |
|||
141
milan
28.05.12
✎
01:49
|
(137) в качестве внешнего источника никак не поюзать данные своей же конфы. Просвети пожалуйста про механизм 1с. В конфе тут и там используются данные из периодического рс. (Точнее их несколько)Каждый раз надо втыкать запрос с параметрами виртуальной таблицы, утомляет. А тут еще назревает изменение, при котором надо будет эти параметры поменять, это теперь по вей конфе шерстить запросы и снова копипастить.
|
|||
142
Sorm
28.05.12
✎
01:57
|
(140) 1. Прямо вот наступил на больную мозоль.:):) Да, очень не хватает.
2. Циклы:) (141) Это почему? Юзать - можно, через ту же вьюху, по поводу параметризации - да, такой механизм здесь не предсмотрен - ну и юзай функцию(функцию 1с). Реально, конечно, можно приколоться и пересоздавать вьюхи "на ходу", но это уже изврат. |
|||
143
milan
28.05.12
✎
02:11
|
(140) кстати да, тоже приходится извращаться на эту тему ;)
Ответ опять: скд , но там опять борода с невозможностью прицепить более одного источника данных. В общем по всем раскладам надо ждать допила скд. |
|||
144
milan
28.05.12
✎
02:14
|
И да, вьюхи таки есть, от части: дополнительные характеристики у объекта метаданных, тоже сделаны только на половину ;) сыра еще 8 ка, надо было на 77 сидеть.
|
|||
146
izekia
28.05.12
✎
05:07
|
(0) а что ты на форуме 1С делаешь уже спрашивали?
|
|||
147
izekia
28.05.12
✎
05:07
|
(145) да по сути он прав, но извини что продублировал
|
|||
148
izekia
28.05.12
✎
05:09
|
(140) да просто можно было ввести нормальный транслятор для любой субд и допиливать файловый вариант в сторонке, тем более по сути он и не нужен
|
|||
149
rphosts
28.05.12
✎
05:26
|
(145) ему даже не предлагали прострелить себе коленку....
|
|||
150
izekia
28.05.12
✎
05:26
|
(149) думаешь лн бук держит на коленке, когда сюда пишет?
|
|||
151
izekia
28.05.12
✎
05:27
|
лн = он
|
|||
152
rphosts
28.05.12
✎
05:29
|
(150)ну не хреном-же он его поддерживает...
|
|||
153
rphosts
28.05.12
✎
05:30
|
(0)по сути пока есть файловая версия 1С вьюшки - заведомо излишняя вещь... да и без них всё намана, пожалуй не хватает подсказчика оптимизатору базовода а так всё что надо есть...
|
|||
154
smaharbA
28.05.12
✎
06:47
|
оно конечно, во временных таблицах данные конечно устарели, а во вьюшках (тьфу ты господя) вечно молоды...
|
|||
155
smaharbA
28.05.12
✎
06:48
|
что временные что вью работают абсолютно одинаково
|
|||
156
izekia
28.05.12
✎
06:50
|
(155) а время на создание временных?
|
|||
157
rphosts
28.05.12
✎
06:52
|
господа, часом временные с виртуальными не путаете?
|
|||
158
0xFFFFFF
28.05.12
✎
06:53
|
(23) "В СКД не всё можно реализовать для нормального вывода отчета :) на деле, почти и не пользуемся в своих конфах...."
Вкладку Макеты смотрел? |
|||
159
smaharbA
28.05.12
✎
06:55
|
(156) а время вьюва вьювов ?
|
|||
160
rphosts
28.05.12
✎
06:55
|
(158)не, есть случаи когда реально проще ручками.... наприемр когда форма очень сложная и по нескольку раз прибегают юзера то так поправь то этак...
|
|||
161
smaharbA
28.05.12
✎
06:55
|
+ временные не создаются в базе до поры и времени
|
|||
162
ILM
гуру
28.05.12
✎
08:00
|
Вспомнился анекдот про (0)
"-А ты зачем, противный, в наш форум ходишь?" |
|||
163
izekia
28.05.12
✎
08:03
|
(159) насколько я помню логику вьюшки кэшируются как-то, или неправ?
|
|||
164
i-rek
28.05.12
✎
08:07
|
Мне кажется, вьюхи привели бы к усложнению читаемости кода.
Так вы хотя бы глядите на 50-страничный запрос и можете "читать его с листа", все таблицы которые там учавствуют имеют понятный вам смысл. При активном использовании вьюх в УПП было бы несколько сотен (!) вьюх с похожими малопонятными именами, запомнить их было бы сложно, сами запросы стали бы короче но менее понятны. Короче то же самое что с классами - код стал бы лучше и короче, но куда менее понятен |
|||
165
izekia
28.05.12
✎
08:09
|
(164) так, стоп, отвлечемся ... а что там с классами?
|
|||
166
i-rek
28.05.12
✎
08:12
|
(165) классы приводят к появлению сложных библиотек и очень высокоабстрактного кода.
Если не знаешь наизусть библиотеку - в такой код лучше и не соваться |
|||
167
smaharbA
28.05.12
✎
08:22
|
(163) прав, но и времянки не всегда присутствуют на диске, даже если они в работе
|
|||
168
Лефмихалыч
28.05.12
✎
08:36
|
(0) зависть - плохое чувство
|
|||
169
smaharbA
28.05.12
✎
08:37
|
+ как будут выглядеть вьюшки для файлового варианта ?
|
|||
170
fisher
28.05.12
✎
08:37
|
(0) Причин много.
Сложнее было бы поддерживать портируемость между разными СУБД (1С отказалась от хранимок даже в системной реализации) и прозрачность связки 1С-СУБД. К тому же вьюшки и хранимки (и не дай бог элементы полноценного ООП) позволили бы реализовывать дополнительные уровни абстракции, что противоречит базовой концепции 1С "доступно и всерьез" и ограничивает сложность прикладного решения "одним шагом" от базовой объектной модели. А ведь именно эта концепция, как не крути, обеспечивает массовость успеха 1С. |
|||
171
Krendel
28.05.12
✎
09:05
|
(100) Средний франчевый одноэсник результата за неделю выдает на порядок больше чем вебер за месяц
|
|||
172
Fish
28.05.12
✎
09:09
|
(100) Залез на хедхантер, в вакансиях программистов Ява и С++ ценник намного выше, чем у одинэсников.
|
|||
173
Infsams654
28.05.12
✎
09:10
|
По сути вьюха уже есть в 1С - это динамический список. Осталось только вынести это в соответствующую ветку метаданных.
И будет красота - можно создавать источник данных выбором из ранее созданных и сохраненных в конфигурации. |
|||
174
dmpl
28.05.12
✎
09:16
|
(27) Ну и чьи это проблемы, что не можешь? Учись!
(70) Не предполагает. Как минимум, при обновлении ИБ возможно обращение к этому реквизиту для переноса данных из него в новое место. (80) Что мешает из таблицы A во временную таблицу выбрать запись с ID = 10 и только потом соединять ее (а если надо только name - то вообще не соединять)? Что лучше выбрать 1 запись из 100 млн. записей таблицы A или из 1 млрд. записей таблицы B? Я при этом уже не говорю о том, что обновление таблицы B - это большие накладные расходы и распухание базы в разы. (129) Зато все в одном месте. (143) 1С как-то цепляет. В том же расчетном листке, например. (156) Уж лучше чел подождет формирования отчета, чем куча людей не сможет вносить данные из-за постоянных блокировок, связанных с обновлением кучи вьюшек. Которые, может, нужны раз в 100 лет. |
|||
175
aleks-id
28.05.12
✎
09:17
|
понаписали то... а кстати, RLS не вьюхи ли?
|
|||
176
zsergey
28.05.12
✎
09:26
|
(0) без въюшек еще как-то обходимся, а вот без хранимых процедур хреново :)
|
|||
177
Vakhrin
28.05.12
✎
09:28
|
начал читать даже где-то с интересом... после (86) не вижу смысла )
автор, походу, кроме представлений и всяких разных терминов от программирования ничего не знает... |
|||
178
jumper
28.05.12
✎
09:43
|
Вьюшки не помешали бы, полезная вещь.
|
|||
179
Infsams654
28.05.12
✎
09:58
|
(0)(178) См. (173)
|
|||
180
Ненавижу 1С
гуру
28.05.12
✎
10:00
|
зачем в базу засунули пустые ссылки и неопределено?
|
|||
181
izekia
28.05.12
✎
10:30
|
(172) уровень подготовки сравни С++ и 1С
|
|||
182
PR
28.05.12
✎
10:31
|
(90) Ерунда какая-то. Честно.
|
|||
183
PR
28.05.12
✎
10:35
|
(107) А зачем самому создавать виртуальные таблицы. Пример можно?
|
|||
184
PR
28.05.12
✎
10:41
|
(172) LOL
|
|||
185
PR
28.05.12
✎
10:43
|
(0) Автору. А можно все-таки хоть один пример использования вьюх, не связанный с использованием шаблонов?
|
|||
186
PR
28.05.12
✎
10:44
|
+(185) Про выборку 1 000 000 000 000 000 записей, когда нужно три записи, не говорить.
Уже разобрались, что это просто незнание того, что так тщательно обкакиваешь. |
|||
187
forforumandspam
28.05.12
✎
10:54
|
(12) Г@вно там, а не конструктор запросов.
|
|||
188
cViper
28.05.12
✎
12:34
|
(172) Зависит от опыта и знаний. Чистый ява-кодер стоит мало. Если добавить структуры данных, паттерны, фреймфорки, субд, знание предметки - то будет весьма приличная сумма.
|
|||
189
Lama12
28.05.12
✎
13:01
|
(180) Пустые ссылки - что б поиск работал быстрее.
Неопределено, скорее всего для того-же. Искать то, чего нет, намного дольше чем что-то. |
|||
190
Fragster
гуру
28.05.12
✎
13:09
|
(12) где? покаж скрин
|
|||
191
Fragster
гуру
28.05.12
✎
13:10
|
(17) а с вьюхами, которые были бы вместо этого - не упрел бы? тут правильно заметили - дело в ГСМ архитекторов
|
|||
192
Ненавижу 1С
гуру
28.05.12
✎
13:11
|
(189) а зачем его искать?
|
|||
193
rphosts
28.05.12
✎
13:12
|
(189) тма не для поиска, а что-бы как-то обозначить что каких-то данных нема. Например при левом соединении в правой таблице не данные а дырка от бублика
|
|||
194
IamAlexy
28.05.12
✎
13:14
|
(172) можно количество вакансий и средний уровень ЗП ?
имхо у меня есть пара знакомых на яве кодят.. пару раз спрашивал - по количеству вакансий и средней ЗП - отстой... зы: всяких топов в яве которые знают все все все равно как и топов в 1С типа мани - не рассматриваем... интересует среднестатистический быдлокодер... |
|||
195
Ненавижу 1С
гуру
28.05.12
✎
13:15
|
(193) я и так могу это определить, а иногда мне наоборот этого различать не надо
|
|||
196
КомПрог
28.05.12
✎
13:18
|
(0) Он бы еще спросил...загадочно, А КАК ВЫ ЖИВЕТЕ БЕЗ АССЕМБЛЕРА????
|
|||
197
rs_trade
28.05.12
✎
13:20
|
(190) в MSSMS в окне нового запроса, правой кнопкой Design Query in Editor
|
|||
198
Fragster
гуру
28.05.12
✎
13:25
|
(197) он уныл... там даже WHERE нету
|
|||
199
Fragster
гуру
28.05.12
✎
13:26
|
(198)+ не говоря уже о группировках, ROLLUPах, пакетах и прочем... а если и есть - то неинтйитивно
|
|||
200
Нуф-Нуф
28.05.12
✎
13:26
|
200
|
|||
201
rs_trade
28.05.12
✎
13:34
|
(198) там много че есть. надо пользоваться уметь. но я им никогда не пользуюсь почему то.
|
|||
202
Fragster
гуру
28.05.12
✎
13:35
|
(201) если что-то не удобно - этим не пользуются, да. в этом конструкторе удобнее писать руками. в конструкторе 1с при переходе с 7.7 на 8.0 освоился минут за 10, на всякие темы типа построителя/СКД ушло еще пол часика
|
|||
203
Fragster
гуру
28.05.12
✎
13:36
|
(202)+ джоины сделаны удобнее, да, но опять же - только по простым условиям
|
|||
204
Enforcer
28.05.12
✎
13:38
|
(122)unit testing+JUnit/NUnit, Spring framework, Apache Mockito
Да, в моем посте была небольшая подколка. Но я думал что она подзадорит знатоков раскопать технические детали и написать исчерпывающий ответ, мол ты ничего не понимаешь, все на самом деле есть и делать надо вот так. Такие посты встречаются. Хотя так никто и не написал есть ли аналог. Надо полагать что все-таки нет. Но большинство постов - нелепые попытки помериться писюнами. Еще ни на одном техническом форуме я не встречал столько людей с ЧСВ. Вобщем всем пока. Пошел дальше творить чистыйидеальныйсовершенныйкодjava |
|||
205
rsv
28.05.12
✎
13:41
|
(0)Собсна они там есть . Там есть все что предоставляет функционал СУБД. Есть желание - юзайте. Создавайте вьюхи , табличные функции и т.д.
|
|||
206
ptiz
28.05.12
✎
13:42
|
Кроме "СрезПоследнихНаКаждуюДату" и "ОстаткиТоваровНаКаждыйДень" тоже ничего в голову не приходит. Да и в этих случаях под каждый отчет будет уникальный запрос со своими отборами/группировками.
|
|||
207
Phace
28.05.12
✎
13:42
|
(0) Прекрасно!
PS: Автор любитель пукать и невежа! |
|||
208
rsv
28.05.12
✎
13:54
|
+(205) Например для аудита всегда можно наваять вьюшку и выгружать своды проводок куда то . В Ехель и прочее , а когда Ехеля просто не хватит в таблику. Масса других примеров. Могу сказать штаааа заказчику абсолютно параллельно как эти данные получены. Эксплуатация 1С ,особенно вещей объемных , многопользовательских не ограничивается
"монстроидальные селекты для отчетов на многие страницы ". Это быстро надоедает :) |
|||
209
cViper
28.05.12
✎
14:21
|
(194) Цифры огласи. У меня приятель пишет на джаве (спб). В 26 лет зп 80, дмс, обучение, тренинги и пр. На лето в Европу ездит,с заказчиком общается. Есть пхписты с ЗП не намного меньшей. Им не приходится общаться с тупыми юзерами.
|
|||
210
ptrtss
28.05.12
✎
14:39
|
ВТ это не вьюха разве? В чем разница?
|
|||
211
la luna llena
28.05.12
✎
14:47
|
(204) клевый вброс, модераторы уже раскрыли, кто и старожил это был?
|
|||
212
Новенький_2009
28.05.12
✎
14:53
|
=)))))) Скажите автору, что если юзать прямые запросы - то можно использовать много чего, а не только вьюхи - инсерты, апдейты, функции и т.д. И что, кому нужно расколупал эту тему, еще на заре ентих платформ.
А пукнул он хорошо, эт да :) |
|||
213
Джинн
28.05.12
✎
14:53
|
На хрен не нужны вьюхи для системы-конструктора. Ни к чему, кроме геморроя они не приводят.
Чуть поменяйте структуру базы и угадайте в какой вьюхе это всплывет. Кроме того вьюха - это тот же скомпилированный запрос. Монстроидальный на много страниц. И пофиг где его написать - в самом отчете или на сервере. |
|||
214
dmpl
28.05.12
✎
15:33
|
(204) Насчет "чистыйидеальныйсовершенныйкодjava" очень слабо верится :) Скорее такая же фигня как у авторов нетленок (они тоже свой код считают за чистыйидеальныйсовершенныйкод1С).
|
|||
215
Kashemir
28.05.12
✎
15:45
|
(52) Если таблица с простыми типами - можно явно типизировать поля временной через "выразить" и с конструктором не будет осложнений
|
|||
216
Kashemir
28.05.12
✎
15:55
|
(99) Индексы на временные таблицы в 1С навешиваются запросто. Я бы не стал доверять твоему источнику информации.
|
|||
217
Infsams654
28.05.12
✎
17:54
|
(0)(204) еще раз апну. см. (173). Движение есть в этом направлении. Когда пришел на 1С - тоже удивился. Вроде бы очевидная вещь, ан нету. Не говорю уже про функции и хранимые. Особенно функции - тыщу раз писать одно и то же ...
|
|||
218
iamnub
28.05.12
✎
19:00
|
(217)
Да, в 1С функций писать нельзя. Бывает неудобно. |
|||
219
SnarkHunter
28.05.12
✎
19:02
|
Да, иногда с тоской вспоминешь семерку, где все это было...
|
|||
220
prog2012
28.05.12
✎
19:24
|
(0)если нет больших объемов, без вьюшек можно и обойтись
если есть то можно сделать в скуле и поднять в ёксель |
|||
221
Chai Nic
29.05.12
✎
08:24
|
(212) Да многое, но не всё.. К сожалению, поддерживаемый mssql уровень изоляции транзакций не позволяет "drop database" при одновременном доступе.. :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |