|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
Здравствуйте. Прошу у Вас помощи. Есть код. Написанный в 1Сv77.25 SQL Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Суть вопроса. В этой строке Сообщить("Счет №"+ДокСчет.НомерДок+" успешно переведен на маршрут "+Маршрут); , судя о всей процедуре есть часть кода ДокСчет.НомерДок Проясните ситуацию ... Вот именно здесь ... в этот момент исполнения кода. Обращается ли этот участок ( ДокСчет.НомерДок ) к базе данных??? Возник спор по оптимизации кода. Я считаю, что нет необходимости в цикле выводить сообщения об успешных выполнениях задач. Я так же думаю, что в этом (подобном) участке кода ДокСчет.НомерДок ... 1С реально обращается к данным в базу данных. Мой опонент считает, что в этом случае нет ни какого обращения к базе данных и исключение таких строк из кода ни как не повлияет на производительность. Другими словами, такая конструкция к базе данных не обращается. Дело в том, что база данных 67 Гигабайт. Крутится на сервере терминалов. И 12 пользователей ставят сервер на колени. При попытке выполнить Отчет, который просто пестрит такими вставками кода. Сервер висит и еже все вместе с ним. Сервер:ИНТЕЛ 2 Ксеон (= 8 процов) 8 Гиг ОЗУ 4 Сказенных винта. Рассудите пожалуйста. С уважением, OlegKor ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2008, 19:09 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
имхо: в данном случае объект находится в памяти и обращение к БД нет. на самом деле очень просто проверить, воспользуйтесь profiler-ом ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2008, 20:19 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
Не очень понятна суть вашего с оппонентом спора. Вы там от безелья, походу, испытываете проблемы с поиском тем для спора ... Что касается функции Сообщить(), то это очень медленная функция. Например, указанный код за месяц при 50-100 документах в день (т.е. не при отборе ДокСчет.ВыбратьПоЗначению(ДатаДок,ДатаДок), а сплошняком ДокСчет.ВыбратьДокументы(НачалоМесяца,КонецМесяца) и без Сообщить()) должен выполняться несколько десятков секунд. Если туда "умело" вставить вывод сообщений, то выполнение кода может затянуться на несколько часов даже в монопольном режиме. Знаю тому пример из практики. Причем, юзеры убеждали меня, что так долго и должно быть! Если очень хочется сообщать какие-то глупости юзеру во время выполнения длительных процедур, юзайте Состояние() - практически совсем не замедляет работу кода. Прогрессор выполнения графический тоже можно сделать - не болше 5 строк кода и по времени задержки - не на много больше Состояния() ... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2008, 20:22 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
2 Френсис Дрейк Теперь еще больше вопросов... авторв данном случае объект находится в памяти Т.е. у меня (у нас) объект "Документ" - это таблица в базе данных. В нашем случае ее объем порядка несколько миллионов строк. И Вы хотите сказать, что при: авторДокСчет=СоздатьОбъект("Документ"); Вся эта "байда" размещается в памяти? Это чтоже получается мы запихиваем в память миллионы строк? А если 10 пользователей выполнили такое объявление, то все это десятикратно? !!!!! Я не утверждаю свою правоту. Но на мой взгляд выщеуказанное объявление объекта - это ссылка на объект, а не весь объект. И далее по коду прога понимает что какбы по этому пути (по ссылке) надо вынимать запрошенные данные: - ДокСчет.Номер - Номер документа - ДокСчет.Дата - дата документа. Т.е. в моем понимании ... "ДокСчет" это типа путь к объекту (типа, пояснение проге .. куда идти и где брать), а не весь массив данных. Или я не прав? 2 Тяп Ляп Понимаешь? Суть как-раз в том, что "каждый байт на счету" в таблице RG_1270 .... 12 миллионов записей. В других таблицах ситуация похожа. Отчет формируется от 30 мин до 1,5 часа. Плюс в этом же отчете через команду "Сообщить... " сообщаются все прочитанные строки. И любой бзик ... При этом опонент утверждает, что в этой ситуации не стоит убирать из циклов команду "Сообщить" .. а в ней по сути инфа : "Такой то документ (Наименование, номер, дата) успешно обработан" ... Ну, чтобы кратко. Конкретно. Конструкция "ДокСчет.Номер" не обращается к базе. Да? С уважением, OlegKor ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2008, 21:51 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKor 2 Френсис Дрейк Отчет формируется от 30 мин до 1,5 часа. Плюс в этом же отчете через команду "Сообщить... " сообщаются все прочитанные строки. И любой бзик ... При этом опонент утверждает, что в этой ситуации не стоит убирать из циклов команду "Сообщить" .. а в ней по сути инфа : "Такой то документ (Наименование, номер, дата) успешно обработан" ... Ужас. Эта "инфа" кому и зачем нужна? Ее кто-нибудь читает? С ума-то там не сходите. Напишите вместо сообщений через строку "ИмяЮзера - козел/дура набитая !!!!!!!!!!!" - никто не заметит! Могу поспорить на деньги. А почему отчет медленно формируется? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2008, 22:20 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKor 2 Френсис Дрейк Отчет формируется от 30 мин до 1,5 часа. Плюс в этом же отчете через команду "Сообщить... " сообщаются все прочитанные строки. И любой бзик ... При этом опонент утверждает, что в этой ситуации не стоит убирать из циклов команду "Сообщить" .. а в ней по сути инфа : "Такой то документ (Наименование, номер, дата) успешно обработан" ... Ужас. Эта "инфа" кому и зачем нужна? Ее кто-нибудь читает? С ума-то там не сходите. Напишите вместо сообщений через строку "ИмяЮзера - козел/дура набитая !!!!!!!!!!!" - никто не заметит! Могу поспорить на деньги. А почему отчет медленно формируется? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2008, 23:42 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
2 Тяп Ляп авторА почему отчет медленно формируется? Не могу сказать точно почему так долго ... у меня доступ к коду конфиги несколько ограничен. Но, "спинным мозгом чувствуую" что там запросы "пойди туда, не знаю куда, принеси то, не знаю что". По своему опыту знаю, что причина этого - "Тяжелый код" ... захламленный. Я сам сисадмин. Опонент - программист 1С. Я пришел на фирму в январе этого года. Программист тут уже 3 года. Когда я пришел, в сети базы 1С были размазаны на 6-ти компах (по сути все идентичные на 100%) не считая сервера о котором я упомянул. На каждом из этих компов стояла операционка Вин 2003 + SQL сервер. Вся эта байда разруливалась синхронизацией баз через УРБД. Я все посносил. Разместил одну единственную базу на сервере. Обрезал данные по январь 2008. До недавнего времени это все работало нормально. Но теперь замечаются все чаще и чаще подвисания юзеров (напомню, активных всего 12 чел). Мля, сервак - самолет. 12 штук зеленью. Я настаиваю оптимизировать код. Программер настаивает ... "каждому юзеру по серверу" .. (шутка) т.е. предлагает опять размазать все это по сети. Я против. Имею значительный опыт программирования на C#.NET + SQL 2005 знаю что все может работать на много эффективнее ... Но .. пока все заканчивается только спорами "ни о чем"... А фирма "висит" днями. Предлагаю ВК 1С++ или ToySQL написать прямые запросы к БД. Так же утверждаю, что надо хорошенько поработать над ликвидацией блокировок. Это со скрипом, как бы приходит к согласию. Согласие было две нелеи назад, а воз и ныне там. К тому же настаиваю на "чистку" кода. Конфига, переписанная программером 1С почти вся. Он сейчас занят другим проектом .. И постоянно пудрит мозг руководству, а мне от этого ни какого покоя. Сейчас юзеры на фирме работают по графику ... одни до 12 дня, другие с 12 до 16.00 потом еще .. Короче - "Сталинград". Даже после такого разделения бывают подвисания (правда уже редко но метко, до залипания). Как только подвисание, то это серьезно, иногда только перезагрузка сервака помагает. А мне это зачем? Но ведь я знаю точно, что проблема таким способом не решается в принципе. Потому-что по сути ничего не меняется. Но это все лирика. Мне бы точно узнать, как же все-таки работает 1С по сути моего вопроса. Где бы мне чего прочесть по этому поводу? Чтобы не со своих догадок-предположений это утверждать. Подскажите где найти инфу. Заранее благодарен за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 00:18 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKor Т.е. у меня (у нас) объект "Документ" - это таблица в базе данных. В нашем случае ее объем порядка несколько миллионов строк. И Вы хотите сказать, что при: авторДокСчет=СоздатьОбъект("Документ"); Вся эта "байда" размещается в памяти? Это чтоже получается мы запихиваем в память миллионы строк? А если 10 пользователей выполнили такое объявление, то все это десятикратно? !!!!! нет я думаю, что объект попадет в память при ДокСчет.ПолучитьДокумент() ладно если ты не умеешь пользоваться профилером, завтра попробую точно скажу. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 02:03 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
В память попадает выборка документов. В каком объеме не скажу. Скажу, что ты не с того конца роешь. Сисадины - враги 1С. Обрезанная по январь 2008 года и имеющая размер 67 Гигабайт база - это нонсенс. Даже если она 10 лет уже работает необрезанная, 12 пользователей не смогут наколотить такой объем, даже если ночевать будут на рабочем месте без отпусков и выходных. Скорее всего, это - незакрывающиеся регистры остатков. Только от них может так пухнуть и, соответственно, тормозить база. И никакие 1С++, прямые запросы и пр. здесь не помогут. Хотя, конечно, не глядя на базу, все рассуждения о природе вещей - это научная телепатия, основанная на опытах профессора Преображенского и законах металлопатии ... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 04:35 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKor Открываете отладчик. Ищете в нём нужный кусок кода. Нажимаете "Замер производительности". Выполняете кусок кода в рабочем режиме. Отжимете замер производительности. Перед кажой строчкой кода в отладчике получаете время выполненя строки, количество проходов по ней, процент от общего времени. И все ваши споры с программистом разрулятся. И видно будет, что нужно ортимизировать в первую очередь. У меня было так. 1 документ проводился 30 мин (задним числом) всего из-за 1 строки - расчет остатков в цикле. При этом все остальные пользователи курят. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 09:21 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKor ..... Согласие было две нелеи назад, а воз и ныне там. К тому же настаиваю на "чистку" кода. Конфига, переписанная программером 1С почти вся. Он сейчас занят другим проектом .. И постоянно пудрит мозг руководству, а мне от этого ни какого покоя....... Вот с этого и надо начинать. Что человек сейчас работает над другими делами. И заниматься тем что уже работает вы предлагаете ему свободное от работы время. Так? Сходите к руководству и узнайте они собираются ресурсы выделять на оптимизацию. При этом нового функционала они не получат, а получат всё "быстрее". Перевести все на прямые запросы работа нелегкая, и с большой квалификацией. Возьмут они ещё 1 программиста на это. Если нет, то и вам не о чём беспокоиться. А если вам хочется и чешется чтобы всё было правильно и летало, платите свои кровные денюжки за это. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 09:32 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
Добрый день. Пути оптимизации кода и повышения производительности. Рекомендации. 1. Формировать список документов для проверки контрольных условий и изменений не через выборку , а через запрос . Алгоритм использования выборки не оптимальный. По сути сначала идет выборка всех документов всех видов за дату по определенному контрагенту, а только потом отсечение всех документов с видом отличным от Счет. Предположу что объем такой выборки очень значителен. В запросе сразу отделить документы заданного вида с отбором по контрагенту. Результат запроса выгружаете в таблицу значений, в таблице нужна ссылка на сам документ, и на те значения которые проверяете, а также те значения которые выводите в сообщении (в этом случае в сообщение будут подставляться данные из таблицы значений). Затем перебираете строки таблицы и проверяете условия по данным указанным в строке, для тех строк по которым удовлетворяются условия получаете объект (конструкция НайтиДокумент) и уже для него производите изменение и запись в базу. Да если подойти еще глобальнее то можно сформировать запрос таким образом чтобы в результат попали только те документы которые подлежат изменению, то есть включить граничные условия в текст запроса. 2. Упростить первое условие из сочетания различных условий до элементарных, поскольку конструкция требует вычисления, в дополнение код станет более читабельный за счет конструкции отсечения граничных условий. Если (ДокСчет.ФизАдрес=ФизАдрес) И (ДокСчет.Маршрут<>Маршрут) И (ДокСчет<>ТекущийДокумент()) Тогда Принцип разбить исходное условие на элементарные, при отработке граничного условия продолжать работу цикла, то есть переходить к следующему документу. Пример построение условий: Если ДокСчет=ТекущийДокумент() Тогда Продолжить;КонецЕсли; Если ДокСчет.Маршрут=Маршрут Тогда Продолжить;КонецЕсли; Если ДокСчет.ФизАдрес<>ФизАдрес Тогда Продолжить;КонецЕсли; В случае если переделаете код на работу через запрос то условия могут успользоваться к полям строк таблицы значение либо сразу применены в тексте запроса 3. Перед началом цикла в котором используется Записать() использовать директиву НачатьТранзакцию() после завершения цикла - ЗавершитьТранзакцию(). (кажись так года три не программировал на 1С) 4. Справедливо замечание на счет вывода "никому не нужных сообщений. Сообщения нужны на этапе отладки, на этапе выполнения от них нет никакого толку, вот если бы программист реализовал прогресс бар, в котором был бы счетчик общего колдичества документов и счетчик уже обреботанных документов. Но для такого "тупого" алгоритма выборки такой подход тоже не работает, поскольку выборка не дает информации о количестве документов которые могут быть обработаны. Рекомендуется переделать процедуру и просто тупо формировать строки в объекте типа текст, а потом сохранять этот объект в файл с уникальным именем формируемым, например по дате и времени записи файла. Также возможен вариант с формированием Таблицы в которой формируются строки и по окончания цикла система выводит таблицу на экран (по сути получается протокол выполнения обработки). Далее пользлователь сам принимает решение что с ней делать - печатать, сохранять в файл. Дополнительно не исключено что проблемы с размером базы и производительностью мало связаны с этой "обработкой" (отчетом). Кстати вы вытащили код из контекста не разъяснив где именно он находится, судя по коду он находится в модуле проведения или в модуле формы документа документа вида - Счет. Удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 09:42 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
С учетом того, что автор обозначил, что конфа полностью переработана- ответ Тяп Ляп'а очень актуален:) (67 гигов с 2008 года) Если у вас есть опыт работы с MsSQL - откройте файл 1c.DDS и изучайте струтктур БД. Найдите самые большие таблицы, определите их назначение через файл DDS, следующий шаг определить объекты в конфигурации, которые совершают движения в них. А дальше- реинжениринг того всего, что вас доблестный прог успел наваять за 3 года - но это занятие для сильных духом джигитов :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 09:46 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
Насколько я помню, Док.ПолучитьДокумент() загружает документ в память. При этом в память подгружаются значения всех реквизитов простых типов (строки, числа, даты). Что касается ссылочных типов - то подгружаются только ссылки на них. Поэтому, Док.НомерДок - обращения к БД нет, а вот Док.Контрагент - обращение есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 10:01 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
2 Алексей Е. Он взял на себя ответственность за то, что сделано сейчас. Получает за это деньги. А другой проэкт не касается этого. Человек может сколько угодно заниматься любыми делами. Но то, за что несет ответственность дожлен делать. А если не успевает одним задом на два стула.... Это его проблемы. Другой проэкт ни как не касается нашей фирмы. авторСходите к руководству и узнайте они собираются ресурсы выделять на оптимизацию Ресурсы на оптимизацию он получает ежемесячно. А если уж совсем по принципу. Все ляпсусы нагородил он лично. Почему фирма должна оплачивать ошибки (неэффективные реализации, захламление кода) разработки? авторПри этом нового функционала они не получат, а получат всё "быстрее" Да и не надо НОВОГО, пусть хоть это заработает по-человечески. авторПеревести все на прямые запросы работа нелегкая, и с большой квалификацией. Возьмут они ещё 1 программиста на это. Если нет, то и вам не о чём беспокоиться. А я и не говорю, что работы мало но это не моя забота, надо было сразу думать. Он за 3 года не мало бабла выпил с фирмы. А прога то не работает. Я так предполагаю, что когда он только пытался внедриться, то песни пел об эффективности наверное УХ! Какие. Или он думал, что торгующая фирма будет продавать по две единицы в неделю? А вот мне как-раз и есть за что беспокоиться. Мне приходится в иные дни каждый час сервер перезагружать. А на нем не только 1С вертится. Там есть еще кое-чего ... прислюненное с его же рекомендации. Что мля стартует через раз. А это геморой уже мне. А зачем? Мне это надо? Или Вам это бы понадобилось? авторА если вам хочется и чешется чтобы всё было правильно и летало, платите свои кровные денюжки за это. Т.е. если не правильно и не летает - это нормально? Это и есть норма? Получается, что фирма должна быть счастлива от неправильной работы проги и тормозов, а если хочется правильно и быстро, то надо платить бабло? Да. Я не желаю сидеть по ночам и разруливать прилетевшее ниоткуда. Кто мне заплатит за последствия такой чудесной работы? 2 Тяп Ляп Прошу прощение за неточность. База данных была до обрезания 71 GB, потом делали над ней некоторые танцы с бубном, она стала 68 Гиг. Потом я ее обрезал ... теперь она 8 Гиг авторСкорее всего, это - незакрывающиеся регистры остатков. Только от них может так пухнуть и, соответственно, тормозить база. Возможно и так. Я так же считаю, что мелочей не бывает и все должно быть обосновано. И сообщать юзеру о всем на свете, считаю глупо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 10:18 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKorПонимаешь? Суть как-раз в том, что "каждый байт на счету" в таблице RG_1270 .... 12 миллионов записей. В других таблицах ситуация похожа. Судя по данной фразе проблема в ошибках при проектировании структуры и алгоритмов проведения по регистрам. В первую очередь оптимизация структуры и основных алгоритмов, во вторую оптимизация кода. Ну и соответствующий бюджет под это дело - то что "съекономили" на этапе формулирования требований, постановки задачи, проектирования и разработки - "вынь да полож" для приведения системы к насущным бизнес-требованиям. Хотя, если принимается решение что пол дня половина пользователей, пол дня другая, серьезные отчеты запускаем вечерами или по выходным то бизнес-заказчика текущая производительность и ограничения работы системы устраивает. Так что Олег, Вы для себя конечно разберитесь в чем проблема и уточните определенные моменты, это очень похвально что вы проявляете в этом вопросе настойчивость, дополнительный опыт никогда не помешает, но вот кидаться на амбразуру и вызывать огонь на себя это на данном этапе лишнее. Рекомендую по результатам ваших исследований подготовить руководству аналитическую записку с прогнозами в отношении необходимости бесперспективного наращивания мощностей железа при условии наличия "белых пятен" в проектировании и производительности информационной системы. P.S. Вот из-за таких подходов к проектированию систем и "програмистов 1С" падает интерес, а зачастую и образуется негатив профессионального сообщества к самой платформе. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 10:22 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKor авторПри этом нового функционала они не получат, а получат всё "быстрее" Да и не надо НОВОГО, пусть хоть это заработает по-человечески. Увы, понятия - "по человечески" в бизнес-среде не существует. Если надо то 20 теток посадят со счетами за "три копейки" делать бессмысленную тупую работу.... "не по человечески"? - зато выгоднее для бизнеса. OlegKor авторСкорее всего, это - незакрывающиеся регистры остатков. Только от них может так пухнуть и, соответственно, тормозить база. Возможно и так. Я так же считаю, что мелочей не бывает и все должно быть обосновано. И сообщать юзеру о всем на свете, считаю глупо. Поправка. Вывод сообщений никак не связан с регистрами остатков их незакрытием и пухнущими таблицами. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 10:28 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
2 tester2000 Посмотреть какие таблицы самые емкие это не сложно. Могу поделиться скриптом. (приложен). Проблема в том, что человек который должен желать что то улучшить ... ищет причины, чтобы этого не делать. Отрицает любые попытки. Мне надо убедить руководство, тогда они приймут решение ... надо будет заменить программиста - заменят. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 10:38 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
2 Dinamo авторВывод сообщений никак не связан с регистрами остатков Да знаю я что никак не связан. Но зачем мешать работать программе? Код: plaintext
По коду: Ну пытаетесь?! Ну и пытайтесь. Дайте поработать программе или попытаться поработать программе. Как тут пользователель поможет? Зачем ему эта инфа? Код: plaintext
По коду: Успешно переведен на маршрут. Ну и УРА! На кой бень пользователю это знать? Код: plaintext
По коду: А вот тут считаю, сообщение оправдано, потому-что опичывает "Исключение" ====== Вот такую позицию я выссказываю программеру.... И считаю что так правильно. Он считает, что нет. Он так же считает, что если объявить процедуру в теле модуля и ничего в ней не написать или написать, но не использовать это нигде ни разу во всей конфиге (десятки случаев, которые я успел увидеть), то это ничего - это нормально. Я же считаю, что в коде (в работающем коде) должно быть только то, что должно работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 10:53 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
2 Dinamo Спасибо за "пути оптимизации" ... Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 10:55 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
2 harka Спасибо! авторПоэтому, Док.НомерДок - обращения к БД нет, а вот Док.Контрагент - обращение есть. Если это дейтвительно так, то именно ЭТО я и хотел узнать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 11:05 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKor По коду: Ну пытаетесь?! Ну и пытайтесь. Дайте поработать программе или попытаться поработать программе. Как тут пользователель поможет? Зачем ему эта инфа? Код: plaintext
Это у вас админ будет решать что нужно пользователю, а что нет? Запустите наконец замер производительности и узрейте наконец, что само Сообщить() это десятые доли процента от всего времени! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 11:13 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKor Он взял на себя ответственность за то, что сделано сейчас. Получает за это деньги. А другой проэкт не касается этого. Человек может сколько угодно заниматься любыми делами. Но то, за что несет ответственность дожлен делать. А если не успевает одним задом на два стула.... Это его проблемы. Другой проэкт ни как не касается нашей фирмы. "Но то, за что несет ответственность дожлен делать." - вы знакомы с договорённостью руководитель - программист в деталях, знаете за что ему платят? "А если не успевает одним задом на два стула.... Это его проблемы." - это не его проблемы, а проблемы фирмы (его непосредствееного руководителя). И уж тем более не ваши. Его проблемы детей своих накормить как можно более сытнее. OlegKor Ресурсы на оптимизацию он получает ежемесячно. А если уж совсем по принципу. Все ляпсусы нагородил он лично. Почему фирма должна оплачивать ошибки (неэффективные реализации, захламление кода) разработки? Потому что это обычные бизнес риски. Где этого нет? Не нравится работа этого, депремируйте, ну или замените. (Ещё и пощете кем, да ещё на ту же з/п) OlegKor Да и не надо НОВОГО, пусть хоть это заработает по-человечески. По-человечески владельцам фирмы не надо, надо по-дешевле. А если это вам надо вы и платите. В чём проблема? OlegKor А я и не говорю, что работы мало но это не моя забота, надо было сразу думать. Он за 3 года не мало бабла выпил с фирмы. А прога то не работает. Я так предполагаю, что когда он только пытался внедриться, то песни пел об эффективности наверное УХ! Какие. Или он думал, что торгующая фирма будет продавать по две единицы в неделю? Не важно, что он там пел. Важно, что 3 года большой срок. Вполне можно и заменить вруна или добавить ещё программиста для выполнения объёмов. OlegKor А вот мне как-раз и есть за что беспокоиться. Мне приходится в иные дни каждый час сервер перезагружать. А на нем не только 1С вертится. Там есть еще кое-чего ... прислюненное с его же рекомендации. Что мля стартует через раз. А это геморой уже мне. А зачем? Мне это надо? Или Вам это бы понадобилось? Перегружать каждый час SQL сервак - здесь уже о вашей компетенности надо задуматься. Обычно 1С-программист напрямую с SQL не работает, а через платформу. А платформа хоть и дубовая но уже давно мало-глючная, и откровенных SQL бомб не подсовывает серваку. Тысячу раз уже писали не грузите SQL сервак другими делами!!!! Наши админы по бедности тоже недавно файло помойку организавали на серваке с SQL - "да оно же совсем не грузит процессор". Все продажники взвыли - через неделю купили новый сервак. OlegKor Т.е. если не правильно и не летает - это нормально? Это и есть норма? Получается, что фирма должна быть счастлива от неправильной работы проги и тормозов, а если хочется правильно и быстро, то надо платить бабло? "Т.е. если не правильно - это нормально?" - да нормально, потому как дёшево! "а если хочется правильно и быстро, то надо платить бабло?" - именно так!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 11:34 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
2 Алексей Е. Спасибо, я Вашу позицию понял. Но по сути моего вопроса пользы мало. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 11:42 |
|
Помогите понять. Обращается ли код к базе данных.
|
|||
---|---|---|---|
#18+
OlegKor Есть код. Написанный в 1Сv77.25 SQL Кстати последний релиз платформы уж года три как 7.70.0. 27 Опять же почему бы админу не проследить за одновлениями стандартоного (не рукописного) ПО? Тем более это вообще не сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 11:43 |
|
|
start [/forum/topic.php?fid=28&fpage=163&tid=1524578]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
150ms |
get tp. blocked users: |
2ms |
others: | 303ms |
total: | 531ms |
0 / 0 |