Дима553
Производительность теряется в случае сложных запросов. Так как в восьмерке от T-SQL оставили какие-то жалкие кусочки, на которые без слез смотреть невозжно...
Плюс, отсутствует полный доступ к базе. Например, я не могу создавать таблицы, нужной мне структуры, ХП-ки, триггеры и т.д.
Sadovnikov
Не вижу нужды создавать триггеры динамически, природа триггера - быть статическим, привязанным к БД. А нехватка операторов языка запросов обходится использованием временных таблиц. Продемонстрируйте пример запроса на котором проверяли производительность
Дима553
Не вижу нужды создавать триггеры динамически, природа триггера - быть статическим, привязанным к БД.
Ого. А поставьте себя на место админа БД, у которого 50-80 баз по филиалам. Он в каждой из них должен триггер ручками создать? И не забыть об этом. Угадаем, после какой по счеты базы он пойдет прогера бить?

А нехватка операторов языка запросов обходится использованием временных таблиц.
Знаете, я почему-то начинаю сомневаться в том, что Вы на T-SQL что-то серьехно писали... Задам встречный вопрос - подскажите, как при помощи временной таблицы вы обойдете отсутсвие оператора RIGHT?
Продемонстрируйте пример запроса на котором проверяли производительность
Тут я вообще умываю руки... Вы на полном серьезе считаете, что производительность системы можно "проверитЬ" одним запросом???
Sadovnikov
- Да ладно о триггерах, их настроить достаточно в момент установки базы и от того как это автоматизировано в восьмерке или в семерке (установка триггера) - на производительность запроса не повлияет (вернее повлияет, но от того 7.7. это или 8..1 - ничего не зависит).

- Да у меня большой опыт T-sql, и прямые запросы из 7.7. я начал писать в 2003 г. используя модный тогда Rainbow, не понимаю чем вызваны ваши сомнения. Про строковые функции я согласен (если вы имели в виду тот right который строковый), но вообще то я имел в виду более глобальную тему недостатка запросов 1С 8.1, которая на мой взгляд существеннее, например связывания типа
select tab1.f1,tab1.f2, (select top 1 c.f3 from tab2 c where tab2.f1=tab1.f1)
from tab1
которые не осуществишь на восьмерке, но можно обойти временными таблицами.
А проблему с right я считаю несущественной, если приходится прибегать к таким строковым функциям как right - да еще и при этом терять производительность, то это недостаток разработки самой структуры БД, при необходимости уж можно добавить индексное поле которое будет содержать необходимый вычисленный результат этого right.

- Нет, просто у меня зародилось подозрение что потеря производительности происходит из-за неоптимального построения запроса, либо неоптимальной структуры БД, вот и хочу глянуть на какой нибудь ваш пример
Дима553
Еще раз извините, но у нас все-таки разные понятия о "большом опыте"... Это впечатление о Вашем ответе в целом...
Напши примеры можно глянуть здесь и здесь .
Sadovnikov
Занятно, хочу заметить что для задачи "Подбор элементов справочников с клавиатуры" можно было бы вместо использования текстовых функций (left right trim) сделать все гораздо производительней и интересней.
Идея в использовании текстового хэша для нечеткого поиска (не помню его точного названия, но это такой числовой код, что чем ближе друг к другу два разных текста, тем ближе друг к другу их числовые хэш коды) Далее для нужной таблицы завести индексное поле-скрытый реквизит, содержащее этот хэш код для текстового реквизита. И вуаля. пользователь вводит что нибудь типа "Халидей", вычисляется хэш код этого слова, ищется в некотором заданном диапазоне близкие коды в атблице и выдается результат типа "Холидей", т.е. система сама исправит "а" на "о". Ну или пользователь вводит "ООО Рога и Ко" а ему в ответ "Рога и Ко ООО" подсказывает система.
Дима553
А теперь быстродействие проверьте:улыб:
Хотя бы на паре десятков тысяч записей в справочнике...
Sadovnikov
Учитывая, что вместо текстового поля и использования строковых функций, мы используем числовое поле, да еще и индексированное, то производительность должна увеличиться приблизительно в 10 раз
Дима553
А теперь посмотрите быстродействие не именно поиска, а всего механизма в целом...
Поверьте - мы много вариантов реализации рассматривали.
Sadovnikov
А разве это существенно, даже если вычисление хэш-кода занимает полсекунды, то пользователь заводит элемент в справочнике или заполняет форму поиска куда больше времени.
Сказаться это может только, если какой то обработкой потребуется сделать зачем то замену наименований во всем справочнике
Sadovnikov
В итоге разговор свелся к тому, что быстрее: напрямую обращаться к sql базе?, или через восьмерку?
Более того вы пытаетесь это еще и вывести на одиночных примерах.
Однако не забываем, что сама структура семерочной базы имеет недостаток в том что использует символьные идентификаторы, в то время как восьмерочная использует числовые. За счет этого у некоторых запросов в восьмерке наверняка будет преимущество в производительности
Дима553
Однако не забываем, что сама структура семерочной базы имеет недостаток в том что использует символьные идентификаторы, в то время как восьмерочная использует числовые.
Это Вы сейчас так пошутили?

CREATE TABLE [_Reference31] (
[_IDRRef] [binary] (16) NOT NULL ,
[_Version] [timestamp] NOT NULL ,
[_Marked] [binary] (1) NOT NULL ,
[_IsMetadata] [binary] (1) NOT NULL ,
[_Code] [nchar] (3) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[_Description] [nvarchar] (25) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[_Fld373] [nvarchar] (100) COLLATE Cyrillic_General_CI_AS NULL ,
PRIMARY KEY CLUSTERED
(
[_IDRRef]
) ON [PRIMARY]
) ON [PRIMARY]
Sadovnikov
И что вы хотели этим сказать и где я пошутил. Та структура что вы показали - типичная структура восьмерки, я говорил о поле _IDRRef
Дима553
У меня больше просто нет слов...
Сдается мне, что дальнейшая дискуссия просто бессмысленна...
Sadovnikov
Ладно Вам. Я на восьмерке (8.1 клиент - серверная) При канале в 1 мегабит спокойно сижу и работаю в рабочей базе, и все нормально работает и не тупит.
А 7.7 так может??? Без терминала!!!!
Sadovnikov
Как зачем, я например когда то работал в конторе у которой 12 филиалов. Весь товар шел на склад фирмы, и уже от туда отгружался в филиалы.
Филиалы решали сами что заказать, смотрели на остатки и в режиме реального времени делали заявки.
Или например приехал торговый агент на точку и тутже сформировал реализацию, на своем ноуте виде реальные остатки на складах.
Еще расписывать зачем??????
Применений этому масса.
АФМ
Как раз для задач, что вы описали (сформировать расходник, посмотреть остатки) - может. А в общем случае не может 7.7 быстро летать по той схеме что вы описали (запуск клиента через мбитный канал) Только восьмерка
АФМ
Для этого умные люди терминальный доступ и придумали.
Дима553
Ну может хватит уже такое писать, а? Чем по Вашему в данном случае семерка от восьмерки отличается?...
Sadovnikov
Вы опять ко мне обращаетесь? Мы же вроде пришли к мнению что обсуждать нам что то не имеет смысла. Вы уж определитесь.
Если глянете на мой пост, то увидите что ТАКОЕ я совсем не вам писал
Дима553
Да какая разница, кому оно писалось... Сюда, ведь, заглядывают и такие люди, которые вообще в данном вопросе не разбираются. И могут взять Ваше высказывание на веру...
Markovich
Если не по адресу, то направьте на путь истенный.
Вобщем не умею я в ПО ковыряться и после глюка с виндой вызвал специалистов . Объявление нашёлна НГС. т.3750454 или 923-775-04-54. Опустим лирику. В течении трёх дней мне несмогли настроить роутер, установили три винды, предварительно снеся лицензионную. Но суть притензии вот в чём. Когода после неоднократных обещаний всё исправить было принято решение отказаться от услуг этой конторки, жена позвонила туда и попросила вернуть деньги. Ответили дословно : Иди в ЖОПУ. И как полагается смелым парням бросили трубку. А потом не брали её вобще. Через 10 минут я позвонил со своего мобильника и попросил сообщить кто же там такой смелый? На что мне ответили , что трубку взял совершенно посторонний человек.
Ребят кто знает где находятся эти убогие, сдайте адресок, уж очень сатисфакции жаждеться.
golod54
Весело тут у вас... %)
Религиозные войны и не только )))
1ско
1Сники заполонили мир, они повсюду :eek: "СиПиПишники нервно курят в сторонке" :tease:
1ско
про религиозные войны ганс-спб хорошо сказал
beastt
чего-то я не понимаю, здесь rss работает?
Дима553
да, работает только с некоторой задержкой в 1 2 3 минут
Markovich
Подскажите к кому обратиться. Нужно создать страницу HTML, макет ( как в Дубль Гисе). Кто может сделать? не бесплатно
Чайник
А чтобы программистом стать, интересно сколько нужно учиться ??? ))))
Kimm
Я могу тебе в этом помочь...а вообще на счёт html страниц можно ведь найти порядочный готовый вариант, и переделать под свой! И ещё вопросик а почему именно как в дубльгисе?

Предупреждение за флуд
ЦарЪ
Это что за бот появился?
Всё может, но ничего не знает...
Sadovnikov
Есть тут кто флешки рисовать умеет хорошо... есть подработка.
Markovich
Ну просто не могу удержаться!

Интересно, кто узнает свой код, и кто быстрее всех скажет "ЧЕГО БЫЛО НАДО"??

Переменная $modelObject->created_at -- содержит дату (строка) создания объекта, остальное думаю понятно:

<?php

$min = 0;
$dtCurrent = time();
$dtCreated = strtotime($modelObject->created_at);

$isWorkDay = false;
$d = '';
$t = $dtCreated;
while( $t < $dtCurrent )
{
$t += 60 * 5;
$h = (int)date('H', $t);

if( $d != ($date = date('Y-m-d', $t)) )
{
$d = $date;
$isWorkDay = $mediamDate->isWorkDay($d);
}
if( ($h >= 9) && ($h < 18) && $isWorkDay )
{
$min += 5;
}
}

?>


... я плякал...
tolstopuz
... прошло 12 дней... так никто и не смог ответить "что это и зчем"... и не признался. Подожду ещё с недельку, потом выложу ответ.

P.S. просмотров на сейчас = 14506...
tolstopuz
А смысл - пытаться понять чужую логику? Именно в контексте данного кусочка кода. Есть более интересные и важные занятия.
?!? даже как-то растерялся...

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

Ваще, какой смысл напрягать драгоценный мозги и работать программистом?:миг:

Ну, положим, мне было необходимо разобраться в силу задачи... Выложил, потому что принятое решение автором - уж сильно нетривиальное... для такой простой задачи, делать так - надо было водку курить... вот и интересно, кто ещё сможет понять что же надо было сделать автору этого куска кода...

Думаю, достаточно неплохое упражнение, для тех, кто хочет совершенствоваться в области программирования.
tolstopuz
Поиск решения реальной задачи и попытка понять, что же хотелось сказать этими строками кода, вырванными из контекста, тому самому сферическому программисту - очень разные вещи...
tolstopuz
Подсчет доли рабочего времени в общем времени с момента создания объекта с точностью до 5 минут?
PN
Не-а.:миг:

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

... но там была другая: надо было найти все объекты в табличке БД, которые были созданы ранее чем за 2 рабочих часа от текущего момента.

Этот цикл гонялся каждые 5 минут, для всех объектов БД, выбираемым по ряду других условий... вместо того, чтобы сделать следующее:
1. Проверить прошло ли УЖЕ 2 часа от начала рабочего дня (если да - то тупо их вычесть, а если нет вычесть остаток из предыдущего рабочего дня) и, добавить в условие выборки вычисленную дату...

:миг:
tolstopuz
Я так-то извиняюсь, конечно, но где в этом куске про два часа накодировано?
PN
Тоже приношу свои извинения, там оно було двумя строчками ниже, при копировании - ни попало... заметил не сразу.

Без этого, да можно считать что код подсчитывает количество рабочих часов с точностью до 5 минут с момента создания объекта по "сейчас". Но даже в этом варианте - очень похоже на проверку true/false по разнице в длинне слова.:миг:
Markovich
Здравствуйте Новосибирцы! Хочу изучить программку 1С а именно программирование ее. Имею навыки работы на ней 1с:предприятие,склад,бухгалтерия.
Может быть что нибудь подскажете где могут и сертификат выдать и обучить хорошо Пасиб
Seidzi
На любых курсах дадут только самые основы. Которые можно и самому прекрасно изучить.
А сертификат курсов можно на стенку повешать - вменяемый работодатель на него даже не посмотрит.
Может, стоит посмотреть в сторону работы у франчей? Тот же БиТ.
ХочуСпросить
ну почему, франь с радостью посмотрит... рейтинги, скидки и т.п.
ХочуСпросить
... Тот же БиТ.
За что Вы так жестоко? БиТ - торгаши.
craxx
Так это не тот сертификат. На сколько я понимаю, эти франчу ничего не дадут.