<?php // Полная загрузка сервисных книжек, создан 2025-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
Отладка запросов — отличная идея!
Один недочет — по кнопке получить параметры из запроса слетают значения параметров, которые имеют тип «Список Значений».
Интерфейс поначалу не интуитивный, но быстро привыкаешь. Плюс!
Ошибка с очисткой параметров исправлена.
Привычна кнопка F7 дает ошибку))
{Форма.Форма(60)}: Преобразование значения к типу Булево не может быть выполнено
Если Не ТолькоВыделенныйТекст Тогда
Если интересно можешь посмотреть мою дороботку консоли Чистова.
Есть небольшая ошибка в функции ПропылесоситьТекстЗапроса(), последняя кавычка не убирается. Сначала нужно убрать закрывающую точку с запятой. А так Плюс!
объясните плиз как работает кнопка F7
Командная панель «КонтМеню» (визуально расположенное под деревом запросов) содержит в себе пункт ВыполнитьЗапрос (с одноимённым действием) с установленным акселератором F7.
Процедура ВыполнитьЗапрос() предполагает наличие одного необязательного булевого параметра, место которого занимает ссылка на кнопку командной панели, что вызывает ошибку.
Методы обхода каждый выбирает для себя сам… можно проверить тип параметра, можно повесить на пункт свою процедуру, из которой уже вызвать ВыполнитьЗапрос() и т.д.
Ах да… что хотел сказать-то на самом деле. Пожелание.
Очень надо сделать просмотр хранилищ значений. То есть если в результате есть поле типа хранилище, нужно не просто говорить о том что о но хранилище — это понятно. Нужно его получить, попытаться определить тип и открыть или хотя бы дать какую-то доп.информацию в случае невозможности открытия.
Спасибо.
F7 — исправлено
с Хранилищем — принято, идея правильная
Вот такой простой запрос
выбрать истина поместить ист;
выбрать ложь поместить лож;
выбрать * из ист объединить выбрать * из лож
1) выполняется нормально.
Однако в списке временных таблиц ни таблицы «ист», ни таблицы «лож» НЕ видно!
2) Если скормить этот запрос конструктору но вместо ПОМЕСТИТЬ написать INTO — опять же ни одной таблицы не видно!
3) Если написать «ПОМЕСТИТЬ ист // просто временная таблица», то в списке временных таблиц появится таблица «ист // просто временная таблица». Имя не верное, но содержимое отображается правильно.
4) А если написать вот так:
ПОМЕСТИТЬ
// таб;
ист //просто временная таблица;
;
то в списке временных таблиц будет таблица «// таб;»
И при попытке посмотреть ее содержимое вываливается ошибка:
«{Форма.Форма(1563)}: Ошибка при вызове метода контекста (Выполнить): {(2, 1)}: Неверное присоединение
ВременнаяТаблица = ЗапросТМП.Выполнить().Выгрузить();
по причине:
{(2, 1)}: Неверное присоединение»
выбрать истина ПОМЕСТИТЬ ист;
выбрать ложь ПОМЕСТИТЬ лож;
выбрать * из ист объединить выбрать * из лож
вот так работает
все дело в регистре ПОМЕСТИТЬ
добавлю и нижний
Вот прицепились)) Все эти ошибки мы и сами можем поправить.
Еще раз спасибо за идею отладки запроса!
Доработано:
1. Открытие данных типа ХранилищеЗначения из результата запроса
2. Улучшено создание списка временных таблиц
Всем кому пригодилось — пожалуйста 🙂
А про ошибки все равно пишите.
Чем доделанней результат — тем радостнее всем 🙂
Понравилась консолька.
Ошибки:
1.При нажатии «Выполнить запрос», сбрасываются все изменения и нельзя отменить предыдущее действие(Ctrl+Z).
Закоментил строку (1223).
2.Добавил из стандартной автосохранение.
3.Слегка изменил интерфейс.
что было в строке 1223? в текущем релизе она пустая
автосохранение думаю добавить в будущем опционально
что не понравилось в интерфейсе?
(16) Классический интерфейс с ИТС был бы привычней.
Неудобство: При формировании запроса по зеленой кнопке курсор улетает в начало запроса, что не заставляет заново искать проблемное место. Причем по кнопке F7 — такого не происходит
>Открытие данных типа ХранилищеЗначения из результата запроса
Мало, мало…. недостаточно. Если в хранилище структура — просто пишет «Структура».
В той же Консолидации много в хранилищах — и хрен что посмотришь.
У нас просто тоже есть свои наработки, в них сделано так:
Создана дополнительная форма «ФормаОтображенияТаблицы», на которой лежит табличное поле без колонок.
Написаны отдельные процедуры по программному формированию колонок в случае если переданный в форму параметр является Массивом, ТаблицейЗначений, СпискомЗначений, Структурой.
И затем загрузка данных в сформированные колонки.
Причем из себя же эта форма может вызываться рекурсивно (то есть например элемент массива в свою очредь является списком значений)
Советую 🙂
vtezin@gmail.com
а угостите 😉
И еще бы сделать выполнение произвольной обработки по выборке как в consquery 🙂
добавлено отображение по двойному клику на ячейке результата содержимого коллекций (массив, таблица значений, структура и т.д.) сохраненных в хранилищах значений
идея и код любезно предоставлены Alias 🙂
произвольную обработку по выборке добавлять думаю не стоит
хочется сохранить сочетание простоты, удобства и функциональности
данный инструмент предназначен для написания и отладки запросов
ну и анализа его результата
обработка результата на мой взгляд немного другая тема
В интерфейсе не понравилось расположение кнопок «выполнить запрос»(поставил сразу после «Выборки». Так привычнее, да и всё же удобнее сразу из кода поднять мышь просто вверх а не вверх по ближе к закрытию.) и «конструктор»(переместил слева от скопировать в буфер).
а так же размеры окон. Сделал привязку гор. разделителя по центру. окно с запросами увеличили в ширину.
В строке 1223 была проца пропылисосить или как то так. кнопка выполнить запрос.
(21) Хорошо. 🙂 уберите только подчёркивание в 169-ой строке формы отображения данных. А то имя формы неверное — вложенное раскрытие коллекций не работает.
Плюсег поставил, уже вовсю пользуюсь для отладки 🙂
Что ещё хотелось бы, но знаю как удобнее это увидеть:
Сейчас очень хорошо что написан тип пустой ссылки. То есть если пусто — видно что из себя это пусто представляет. А бывает надо понять тип _непустого_ значения… например, если перечисление — то какого типа. В большинстве случаев (для ссылок на документы и справочники) этот вопрос может решиться двойным кликом. И то не всегда. А для перечислений узнать тип уже нереально. Вот как бы это можно придумать поудобнее?
может быть сделать аналог настройки списка чтоб по каждой колонке можно было бы отметить флажок «выводить доп.колонку типа данных»… при этом программно добавлять колонку и рисовать в ней тип. И в контекстное меню добавить пункт «Показать тип», чтоб правой кнопкой на значении щёлкнул — тип увидел.
Такой функционал кому-то ещё кажется нужным?
Огромной спасибо! Очень полезная консоль.
(12) А как с англоязычными формами?
А как с комментариями в запросе? 😉
(13) Следуя этой логике — и платформу можно дописать «под себя»…
Ток никто чего-то не пытается этого делать! 😉
(23) Мне кажется хорошей штукой. Подумаю как лучше и сделаю
(25) А в чем проблема? Конструктор их убивает, но это особенность конструктора.
(28)
У меня проблем нет — юзаю свою консоль! Чего и Вам желаю! 😉
свалилось в ошибку
{ВнешнийОтчет.РасчетЗатратНЗП(26)}: Значение не является значением объектного типа (Количество)
Если Выборка.Количество()=0 тогда
при нажатии на ок
вылетает вторая
{Форма.Форма(732)}: Ошибка при вызове метода контекста (Выполнить): {(53, 4)}: Ошибка обработки представления «РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты:Несоответствие типов (параметр номер «»2″»)»
<<?>>РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериодаГраница, , , Счет В (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновноеПроизводство)), , ) КАК ХозрасчетныйОстаткиИОбороты
***отдельно без консоли этот запрос работает.
куда копать? конфа БУХ КОРП
если скопировать руками через буфер мой запрос и вставить его в консоль-он работает.
где-то при автоматическом перебрасывании
для режима «для отладки запросов в режиме отладки кода» глюк имхо.
вторая ошибка связанана с тем, что не передался корректно параметр «граница».
(30) какой режим стоит на закладке «Выборки»?
вышлите пожалуйста мне на vtezin@gmail.com текст запроса
Еще одна проблема. При работе с регистрами расчета необходимы параметры типа массив. И подругому никак. Видел что этот тип не доступен в табличном поле.
Выкрутился из ситуации так:
1) Добавил колонку «ЭтоМассив» в параметры
2) ПередОткрытием Формы устанавливаю его в Истина (для типа Массив), преобразование в СписокЗначений отставляю
3) По кнопке выполнить заполняю параметры запроса при наличии этой галочки как Параметр.ВыгрузитьЗначения(), чтобы получился на выходе массив
4) Последний штрих — при активации левого списка (с запросами), заполняю эту галочку (оно там почему-то через [индекс] сделано)
Если это добавите — будет еще лучше )
Не пробывали для получения результатов временных таблиц использовать метод ВыполнитьПакет() ?
Запрос (Query)
ВыполнитьПакет (ExecuteBatch)
Синтаксис:
ВыполнитьПакет()
Возвращаемое значение:
Тип: Массив.
Описание:
Последовательно выполняет все запросы и возвращает массив результатов для каждого запроса из пакета. Результаты помещаются в массив в последовательности расположения запросов в тексте пакета. Результатом выполнения запроса на уничтожение временной таблицы является значение Неопределено, которое также помещается в массив результатов.
(33) такой метод знаю
только пока не понял зачем он здесь
он тащит все результаты всех запросов массива с сервера в оперативку клиента
на моей практике обычно нужен результат последнего запроса
а промежуточные временные таблицы при отладке можно посмотреть и моим вариантом
(32) Для решения этой проблемы в новом варианте консоли сделан автоматический перевод параметров типа СписокЗначений в Массив. Вроде массивы вместо списков всегда подходят. Если кто найдет вариант когда список нельзя заменить массивом — сообщайте, будем думать дальше. Я пока таких вариантов не нашел.
(31) режим дефолтный. самый верхний по моему. в пн только смогу точно сказать.
выборка количество-это из моего отчета далее по тексту. т.е она по идее не должна срабатывать..но это не Ваш косяк думаю.
а вот второе из моего вопроса (30) это касательно границы я так думаю. попробуйте передать параметр граница в какой-то свой запрос. работает?
может консоль не понимает что такое граница?
Добавлена возможность работы с параметрами Типа «Момент времени» (одноименная кнопка на закладке «Параметры»). В планах: докрутить до возможности работать с Границами.
(36) Консоль действительно не понимает границ, т.к. невозможно задать такой тип на колонку в табличном поле. Научим 🙂
(37) как научишь-маякни-буду дальше тестировать. очень помогает просмотр ВТ.
(38) научил 🙂
каждому хочется сделать свою консоль, есть очень много консолей (проверенных временем ) в которых нет этих «детских болезней»….
(40) детские болезни предпочитаю взрослым 😀
все лучшее в этом мире вообще давно уже сделано
аминь
А в режиме отладки есть возможность передать временные таблицы через Запрос.МенеджерВременныхТаблиц = МойМенеджерТаблиц, которые были уже созданы перед вызовом текущего запроса?
(39) проверил-работает! 🙂
(42) пока нет
подумаю
(42) попробуй
по идее запрос передается как объект
скорее всего и менеджер идет с ним
просто в списке временных таблиц они не отобразятся
он формируется по тексту запроса
но имя таблицы можно и вручную вбить
Уважаемый Tezin добавь пожалуйста функционал «действия с результатом запроса» реализованный в консолиhttp://www.lavelin.ru . К сожалению его консоль более не развивается, а функциональные возможности огромны. 💡
(46) а дайте пожалуйста ссылку на описания необходимого функционала
на указанном сайте ничего похожего не нашел
(47)http://www.7homes.ru/1_v8 — очень удобная штука с возможностью обработки результата запроса в режиме «Предприятие». Для одноразовых выборок очень полезная. Пишешь в ней обработку даже не заглянув в конфигуратор 😉
Добавлена генерация фрагмента текста модуля с созданием запроса, установкой параметров и копированием его в буфер. Новая кнопка вынесена на поле текста запроса справа внизу.
лишние «» генерит в параметре
Запрос.УстановитьПараметр(«»Дата»», );
(49) баг
(47) еще такая есть, может какую-то идею почерпнешь оттуда
http://www.lavelin.ru/index.php?option=com_jdownloads&Itemid=58&task=view.download&catid=5&cid=21
(50) баг исправлен
спасибо
(51) угу посмотрю
спасибо за инфу
если будет еще че интересное — кидай
особо расширять функционал не планирую, чтобы не наворотить мегамонстра
в первую очередь простота и удобство по работе и отладке запросов
думаю на след неделе выдать новый релиз
много планов уже накопилось
пока в основном по удобству работы а не по функционалу
Есть ошибка «Не описана ни одна выборка из запроса!». В обычной консоли данный запрос работает. Запрос выглядит примерно так. (в РегСв. хранится папка с номенклатурой)
ВЫБРАТЬ
Номенклатура.Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Ссылка = &Номенклатура
И Номенклатура.Ссылка В ИЕРАРХИИ
(ВЫБРАТЬ
ОбязательноеОбеспечениеНоменклатуры.Номенклатура
ИЗ
РегистрСведений.ОбязательноеОбеспечениеНоменклатуры КАК ОбязательноеОбеспечениеНоменклатуры)
(54) Если на закладке Выборки стоит режим «Обход по списку настроенных выборок» и выборки не описаны, то выдается именно это предупреждение
В обычной консоли работы с выборками нет
Спасибо (55). Действительно не стоял не один из переключателей. Не планируешь создать в параметрах возможность ввода «списков значений»?
(56) она там есть 🙂
Новый релиз. Обработка теперь называется Запросник, чтобы не путалась с другими консолями.
Изменено многое. Вот основные моменты:
1. Оптимизировано размещение кнопок, надписей, панелей.
2. Убраны многие лишние вопросы, предупреждения и .т.д.
3. Добавлена возможность скрыть-отобразить список запросов. При работе с одним запросом – это лишний элемент формы. При открытии Запросника с одним запросом список скрывается автоматически.
4. Изменена работа с настройкой параметров, выборок и списком предыдущих файлов запросов. Теперь это делается на панели в центре формы.
5. Удалена сводная таблица из панели результата.
Добавлено:
1. Вывод типа значения в текущей ячейке результата или временной таблицы (под таблицей результата).
2. Открытие значения ячейки по двойному клику из временной таблицы.
3. Открытие результата запроса в отдельном максимизированном окне.
4. Возможность сохранять описание к запросу (окно под списком запросов).
5. Автоматическое открытие настройки параметров если после закрытия конструктора запроса появились новые
6. При переключение режима таблица/дерево результата запроса или изменении настроек выборок запрос не выполняется заново а переформируется только его результат. Если запрос еще не выполнен – он выполнится.
P.S. Так как пререработок много, то и косяки могут быть. Заранее приношу извинения и обещаю оперативно поправлять.
(57) Ну тогда бы сказал, как это работает у тебя. У меня ставится только галочка и дальше не дает ни какого выбора. Вощем я не разобрался и встроил изhttp://www.lavelin.ru/index.php?option=com_jdownloads&Itemid=58&task=view.download&catid=5&cid=21 список значений.
Название «консоль запросов + » мне лично нравилось больше.))
(59) Работает стандартно. Очищаешь значение параметра. Потом в типе значения указываешь Список значений. Потом заполняешь список.
Таким же образом кстати заполняется параметр типа Массив, т.е. через список.
Или я не совсем понял о чем ты.
Консолей много — Запросник один 😉
(60) Ты правильно понял. У меня просто нет ни где выбора типа. Да ладно ерунда. Добавил уже поле выбора вместо булево «Выражение».
не хватает такой штуки.
делаю два запроса.
выполняю первый. заполняется ТЧ.переключаюсь. ВЫполняю второй. а потом переключаюсь опять на первый и хочу видеть результат первого. чтобы можно было выполнить по очереди два запроса и потом сравнить два запроса. а то можно видеть в результате только тот, который выполнялся последним. Создавать может еще страничку результата…как-то так.
(61) Если параметр уже заполнен, то очисть поле крестиком — тогда появится кнопка выбора типа. Специально проверил — все работает 🙂
(62) добавил такую фишку:
при максимизации результата запроса он отркывается всегда в новом окне
соответственно можно сравнивать результаты как разных запросов так и например одного с разными параметрами
не забыть бы описать 🙂
Код
неудобен.
Вместо него лучше сделать спец.функцию обработки и тогда можно использовать в отладчике следующий вызов
просто и удобно.
ЗЫ а вообще посмотри мою статью «Повышение удобства разработки», я там описал очень удобные и мощные консоли.
(65) принято и сделано
новый вариант вызова для отладки:
ВнешниеОбработки.Создать(«Q:1С8.1My_EPFsЗапросник81.epf»).Отладить(Запрос);
спасибо за ценный совет
так действительно гораздо удобнее
статью обязательно почитаю
(64) это когда на стрелку жмем вправо вверх?
(67)
да над результатом справа
Запросник получился очень даже неплохой! 😎 Спасибо!
Доработки:
1. Добавлено описание
2. В окне описания добавлена автоматически формируемая строка вызова Запросника для отладки запроса.
3. Двойной клик по запросу в списке — выполнение запроса (было — открытие в максимизированном окне для редактирования)
4. отдельная нескрываемая панель работы с файлами запросов
Переработана логика работы со списком запросов. Теперь при добавлении в список нового элемента он помещается на текущий уровень списка, а не становится подчиненным текущему как раньше. Для добавления подчиненного элемента создана специальная кнопка.
В форме справки добавлена кнопка копирования в буфер строки вызова Запросника для отладки запроса.
В панели управления списком запросов добавлена кнопка редактирования наименования запроса.
Иногда при открытии формы наблюдалось кривое расположение панелей. Исправлено.
Может для «Выполнить запрос» по умолчанию лучше «F5»?
По аналогии с «Продолжить отладку», а то как-то не привычно.
А для выполнения выделенного текста, например «Ctrl/Shift/Alt»+»F5»
(74) Горячие клавиши оставлены как в стандартной консоли. Так тоже привычней 🙂
Добавить функционал для работы с таблицами значений возможно? В смысле использования их в разделе параметров (очень хочется &ТЗ 🙂 ). кстати так и не понял как там граница/момент работает — постоянно кнопка недоступная
Исправлена ошибка с отображением служебной информации о записи результата (типы записей и уровни группировок) в режиме обхода по настроенным выборкам.
(76) Чтобы кнопка с границей заработала достаточно на нее повесить процедуру КоманднаяПанельЦентральноеОкноРедактироватьМоментВремени
Видимо автор ее переименовал но забыл сменить в свойствах кнопы
Исправлена ошибка с редактированием параметров типа Граница или МоментВремени.
(спасибо Grohovod)
В режиме Момент времени:
— добавлена кнопка очистки в поле редактировании ссылки на документ в режиме момента времени,
— исправлена ошибка, возникавшая при очистке ссылки на документ.
если в запросе УНИЧТОЖАЕТСЯ Врем Таблица то ее просмотреть невозможно!
Исправить бы 🙂
Добавлена версия для 8.2 (толстый клиент)
(81) Нету для 8.2 тут
(82) Теперь точно есть
Почему то через Chrome файл не загружался, хотя публикация сохранялась.
Залил через IE.
Спасибо, просто супер.
можно доделать, чтобы показывало время выполнения для временных таблиц (каждая в отдельности)?
(85) если подскажете как — с удовольствием 🙂
еще есть такая вариацияhttp://www.infostart.ru/public/64522/?PAGEN_1=1
http://www.infostart.ru/public/19577/ но время выполнения умеет засекать вот эта http://narod.yandex.ru/disk/26998761000/wremjawt.epf . не помню кто автор, может сможете оттуда забрать себе механизм, засекающий время вт. очень часто нужно. приходится пользоватся и вашей и той.
и
(87)
http://narod.yandex.ru/disk/26998761000/wremjawt.epf
— интересный вариант
сделаю ориентировочно ближе к концу недели
сейчас в отпуске
Добавлен расчет времени выполнения запросов создания временных таблиц.
Изменен интерфейс работы со временными таблицами:
— закладка «Временные таблицы» отображается только когда в результате запроса присутствуют временные таблицы. Заголовок закладки содержит информацию о количестве временных таблиц.
— при переходе на закладку «Временные таблицы» или при выборе временной таблицы на данной закладке, открывается диалог с информацией о временных таблицах (имя таблицы, время выполнения, количество строк). Для просмотра содержимого временной таблицы необходимо дважды кликнуть на нужной строке диалога. В результате в табличной части закладки «Временные таблицы» будет отображено содержимое выбранной таблицы.
(89) не вижу время выполнения ВТ(((
(90) опять не сработала выкладка через Хром 🙁
перезалил через ИЕ
(91) теперь всё ок. если бы еще куда-то вывести на время выполнения так, чтобы не пропадало оно. а то когда открывается сама таблица, то времени уже не видно… но сойдет конечно и так! спасибо!
Этих консолей запросов столько, что за их выкладывание без подробного описания чем лучше/хуже остальных — скоро банить надо..
(93) если есть претензии к описанию данной консоли — будь конкретней;
если есть желание написать обзор всех консолей, которых очень много с глубоким сравнительным анализом и подробным описанием кто-кого чем лучше или хуже — удачи в святом порыве, заодно глядишь и самую лучшую сбацаешь 😉
(92) Добавлено отображение времени выполнения запроса по временной таблице на закладку «Временные таблицы»
(94) так как я семерочник только с совсем началом использования/изучения 7.7 — то таковой обзор написать не могу. А он — нужен! Потому что консолей в 8-ке расплодилось столько, как и перенумераторов в 7.7 — практически полная аналогия… но если перенумераторы в 7.7 видетельствоали скорее всего о том, что написавший в глаза не видел штатного инструмента по перенумерации и является скорее «чайником» — то про 8-ов в этом ключе даже и не знаю что думать…
Для 8.1 на данном ресурсе есть уже консоли вразы мощнее и с доп. функционалом.
(96) По 8-ке можешь мои статьи в моем профиле посмотреть.
(97) ну хоть в разы, а не на порядки 😀
из того, что я видел мне кажется моя удобнее
дай плиз ссылку на «самую-самую» по твоему мнению
и CheBurator’у пригодится