<?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='\
(1)
Это конечно, прикольно — 4 цифры, двоичная система, непонятная с первого взгляда начинающему формула… Чтобы понять эту формулу, надо потрудиться, подумать. А очень многие программисты 1С (по моему личному опыту) очень хорошо составляют алгоритмы, но создать и понять формулу (тем более сложную) для них становится очень трудной задачей. Не все они изучали высшую математику, статистику и т.д. Программист должен написать расчет по предоставленной ему формуле — вот его основная задача при сегодняшнем подходе.
Поэтому Ваш ограниченный вариант (1024 числа) можно заменить более понятным для простого человека:
Показать
Все в десятичных числах, какой предел нужен, такой и ставим. Зачем эти вычисления в двоичной системе? Кто их поймет?
Это из разряда, когда мне поставили задачу: сделать мотивацию торговых представителей от объема сбыта, но так, чтобы один торговый работает со 100 небольшими клиентами и имеет объем 1000000, а второй — с 20 крупными и имеет объем 5000000. Пришлось извратиться и использовать логарифм от объема: все равно заказчику важен конечный результат, а не формула (которую он, кстати, и не видит и не понимает).
(0)
Олимпиадные задачи по математике всегда вызывали у меня
чувство чуть ли не религиозного благовеения…
***
но меня больше интересует более практическая задача:
как можно пронумеровать произвольную выборку запроса, а именно —
— вставить колонку «НомерСтроки» и заполнить ее порядковыми номерами строк в выборке???
(3)
http://forum.infostart.ru/forum26/topic102445/
это может пригодиться для дополнения двух таблиц «друг другом» в итоговой таблице
как это обсуждается на ветке
там это решается по «тупому» —
— таблицы выгружаются в ТЗ,
программно перенумеруются с созданием колонки «НомерСтроки»
и загружаются в запрос обратно для соединения.
(3) Rothschild,
Все уже придумано до нас:
Показать
не все операторы перевел на русский язык, но, думаю, и так понятно. в оригинальной статье есть еще несколько примеров.
sql.ru
Взято с
А вообще жаль, что 1С не поддерживает функцию SQL 2005 типа «ROW_NUMBER() OVER(ORDER BY name ASC)»
(5) tanzwut,
Испльзование агрегатной фукции COUNT для нумерации
строк мне как-то и в голову не могло придти!
Пример не очень удачный, не универсальный —
— завязан на конкретный пример с хронологией документов.
И проканает ли использование УПОРЯДОЧИТЬ при укладывании
сортируемой выборки во временную таблицу???
***
У меня под 8.1 этот номер ни разу не выходил!!!
(6) Rothschild,
там это необязательно. я делал себе для проверки. эту строку можно удалить.
единственный минус этого примера — при наличии одинаковых дат, нумерация строится неверно.
т.е. требование — в нумеруемой таблице в поле (полях) сортировки должны быть уникальные значения.
Если сортировка идет по двум и более полям, то и запрос в объединении надо соответственно подправить.
(8)
Надо попробовать заставить 1С не резать своим компилятором функцию ROW_NUMBER() в SQL2005 и выше.
Все равно SQL2000 уже мало у кого остался, а для относительно небольших файловых баз подойдет и указанный вариант (если он там конечно сработает — не проверял).
А что касается секунды на нумерацию миллиона — так надо еще посмотреть, сколько времени займет нумерация в выгруженной таблице значений. Думается, что SQL быстрее. гораздо быстрее.
(9) tanzwut, Можно-то можно….. но спать-то потом трудно будет… вдруг ночью кто-нибудь SQL-сервак поменяет))
Можно изначально создавать почти любое количество записей,… тогда будет очень быстро.
p.s. Выбирая размерность множества от 2 до 20 и количество операций объединения 2..6 можно получить максимальные размеры таблицы с порядковыми числами от 4 до 20#k8SjZc9Dxk6.
(9) tanzwut,
там много какие функции «зарезаны»
…
у движка запросов 1С ваще голову сносит,
он должен генерить запросы для множества мало-совместимых СУБД
Информационная база (IInfoBaseInfo)
DBMS (DBMS)
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Определяет тип СУБД, в которой размещается информационная база. Возможны следующие типы СУБД:
MSSQLServer — Microsoft SQL Server;
PostgreSQL — PostgreSQL;
IBMDB2 — IBM DB2;
OracleDatabase — Oracle Database.
Доступность:
Интеграция.
Показать
плюс — еще для своего самобытного файлового формата
(могли бы сохранить DBASE для файлового варианта как в 7.7
а не городить самопал!)
(11)
а для PostgreSQL, как я понял, вообще все плохо.
там движок запросов часто городит не работающие запросы к СУБД.
и народу приходится переводить базы на файловый формат
пока в следующих релизах платформы очередной баг не залатают:
Давно не видел статей с такой высокой «плотностью» ошибок в названии и содержании. Автора жонглирует терминологией, которую, наверное, не вполне понимает.
Это как сделать четыре ошибки в слове «ещё». То есть описание всех ошибок по объему будет больше самой статьи.
Предлагаемый метод самый очевидный, ну никак не новый, не самый простой, не самый быстрый. На Инфостарте почти десяток публикаций, реализующий подобный подход. Есть и другие подходы, в том числе и чуть более сложные, но более быстрые.
Осталось непонятным на какой метод автор не может смотреть «без боли в глазах».
В общем, «неряшливая работа».
так я и не понял, в чём новация предлагаемого запроса — этот способ был предложен много-много лет назад
(13) ildarovich,
О могучий, прости простых смертных, что посмели высказывать свои грязные мысли в
твоемВашем присутствии.Не будете ли Вы так любезны привести пример кода для такой задачи:
«Требуется пронумеровать по-порядку 1,2,3…. все строки запроса непосредственно в самом запросе».
P.S.
И еще: насколько я понимаю, это форум, на котором люди делятся своими знаниями, незнаниями, мыслями, просят помочь в решении задачи и т.д. и т.п. Поэтому применять выражения
и
считаю некорректным. Относитесь, пожалуйста, с уважением к присутствующим на форуме людям. Знаете решение — подскажите. А сказать
и не предложить решение — странное поведение, недостойное человека, тем более профессионала.
(13) ildarovich,
(14) andrewks,
(15) tanzwut,
О всемогущий Яхве-Саваоф, сущий на небе и на земле!
Прости их — ибо не ведают они, что творят!!!
(15) tanzwut,http://kb.mista.ru/article.php?id=703
Этот способ достаточно известен у него есть существенный недостаток — ресурсоёмкость. Вряд ли он выживет на таблице из миллиона строк.
Я бы его не рекомендовал ни под каким соусом. Все ИМХО.
(19) предложите свой
(18) (15) В чем, по моему мнению основная, но не единственная ошибка данной публикации. В названии. Оно неверное. Судя по приведенным запросам, в них решается задача получения таблицы с одной колонкой, содержащей все натуральные числа в заданном диапазоне.
Баттерфляй — метод быстрого расчета нарастающего итога в запросе ).
Некоторые полезные новичкам платформы 1С8.х приёмы работы с запросами — 2 часть — пример 7.
Порождающий запрос — решения из комментариев 7, 17, 19, 38
Работаем с датами в запросе .
Формирование списка дат в заданном диапазоне в тексте запроса .
Генерация числовой последовательности и последовательности дат при помощи языка запросов.
Порождающий запрос
Это никак не нумерация. Ведь нумерация предполагает наличие некоторой исходной таблицы, к которой в запросе добавляется колонка с номером записи. Это совсем другая действительно сложная и ресурсоемкая задача, которая в данной статье не решается. (но решается в статье по ссылке из комментария (17) и более быстрым способом (даже для миллиона строк) в статье
Далее в аннотации к статье говорится о натуральных (порядковых) числах. Есть натуральные числа и есть порядковые (обобщение первых). А зачем здесь порядковые числа? Блеснуть словцом?
Говорится, что без боли в глазах невозможно смотреть на применяемый всюду метод. Что это за метод. Это осталось совершенно непонятным. Какой метод имеется ввиду? Его обязательно нужно указать, привести, удовлетворить общее любопытство.
Ну и о новизне. Вот несколько ссылок навскидку, в которых используется тот же метод:
Я же считаю лучшим методом оригинальный метод из статьи
(15) Признаю, что погорячился. Просто после слов «по образованию я прикладной математик» ожидал более аккуратного обращения с терминологией. Видимо, более подходящим словом было «неряшливая работа» (именно это я на самом деле имел ввиду). Еще раз внимательно прочитал статью. Надеюсь, Вы не будете против, если я уточню свой комментарий с таким несчастливым номером (13).
1) Название. Нумерация — это отглагольное существительное, подразумевающее существующий объект действия — нумеруемое множество. В данном случае его нет, оно образуется в процессе выполнения запроса.
То есть это формирование, образование, получение, генерация, порождение, но никак не нумерация.
Неправильное название — это ошибка с серьезными последствиями.
Это все равно, что положить шприц с адреналином в коробку с надписью «средства от насморка».
Это может стоить человеческой жизни.
2) Новизна. В названии написано, что метод новый. Новый — это ранее неизвестный. Но к моим ссылкам добавляете еще несколько ссылок на тот же метод. «С болью в глазах» — это вложенный запрос. То есть перенос вложенного запроса во временную таблицу, который, к тому же ранее многократно публиковался, называется новизной? упрощением? Новизной считается обобщение — использование произвольного основания? Но уже было основание 2, 6, 10. Добавили основание 4? Новизна в этом? — Тогда докажите, что основание 4 лучше. — Оптимальнее? — Укажите критерий, приведите значение этого критерия для разных оснований. То есть сомнительная необоснованная оптимальность, но не новизна.
3) Простота. Тоже нужен критерий. Число строк в запросе. Число соединений. Число знаков в записи запроса. Что-то объективное.
4) «Порождающий запрос». Его суть не в начальном основании 2, а в каскадном попарном соединении таблиц. Вот это действительно другой по своей структуре принцип. Он никак не может являться частным случаем выбора оснований. В конце статьи «Порождающий запрос» приведена рекурсивная функция, которая строит по заданному числу требуемых элементов текст порождающего запроса с минимальным числом соединений и произвольным основанием.
В общем, если хотите, исправьте ошибки и неточности, уточните название, уберите из него слово «новый». Если не будет обмана, то статья обязательно кому-нибудь пригодится. Римейки вообще бывают популярны. Как Елки-3.
Нет конечно, это не то что вы хотите, а то что написано
Самая короткая запись кода, без ущерба скорости, при том достаточно понятная.
Именно
Вы абсолютно правы, но это лишь Ваше мнение. Для меня ничего особенного в этом нет… я так часто делаю в целях оптимизации. Но для количества в 1000 строк это ничего не дает, только кода больше. Как я уже написал это было промежуточным звеном в моих рассуждениях.
Рад что вы усматриваете хоть какую-то полезность решения, а то я уже про себя думаю зачем вообще опубликовал….
Интересно. Только это не нумерация, а генерация числовой последовательности.
(25) Не знаю, стоит ли дальше спорить. Если мы не можем согласовать значения простых слов «новый», «нумерация». Вижу, что свой обман (что метод новый) Вы признавать не хотите. Это некрасиво: думаю, Вам и самому неприятно, когда обманывают, например, в магазине — под видом новых подсовывают просроченные продукты. Это почти тоже самое.
экстраполяция Вашей манеры спорить говорит, что это тоже обман. — Жалко, что приходится говорить об этом, а могли бы обсудить вопрос (я, кажется, проследил ход Ваших рассуждений), почему для изоморфного отображения множеств была выбрана линейная функция.
Надо внимательней изучить материал, может пригодится! 🙂
(28) DoctorRoza,
диапазон целых чисел — не знаю
…
но генерация диапазона дат у нас используется
в одном из навороченных «аналитических» отчетов.
ЗЫ
Ну а большая часть подобных работ скорее
представляет академический интерес, как
занимательные примеры олимпиадных задач.
Спасибо за статью, мне было полезно.
Кстати, нумерация строк произвольного запроса поддерживается в новых версяих MS SQL без всяких танцев с бубнами, жаль что 1С полноценно не поддерживает T-SQL. (Да, я тоже по заголовку подумал про эту задачу, а не про генерацию числового ряда).
Спасибо. Изначально меня тоже смутил заголовок. Но все равно зачетно.
(33) Sitex, формулировал заголовок я большей частью для поисковых систем, на всякий случай приложил картинки запросов.
p.s. Мои извинения, всем кого заголовок вводит в заблуждение.
Если сформулировать заголовок «Натуральный ряд в запросе» тоже будет не всем понятно.
По этому пока оставляю так «Порядковый номер в запросе«.
(21) тот случай, когда комментарий полезнее статьи 😉
Спасибо за статью, запрос по датам я думаю пригодится, тем более я только тот метод который режет глаза и знал, ваш элегантнее, буду использовать его.
(37) AllexSoft, Спасибо вам большое за положительный отзыв.
Это мотивирует на дальнейшие публикации.
Помнится по молодости из деревни приехал в город на олимпиаду по информатике там только 10 и 11 классы были, меня взяли с 9-м в порядке исключения, мол пусть деревенский парень поучаствует. Учитель мой провел (спасибо ему огромное).
С заданиями я справился быстро, думаю чем заняться начал «курочить» Yamaha MSX….это привлекло внимание вообщем попросили сдать работу и выйти. Помню долго ждал в коридоре больше часа пока хоть кто-нибудь выйдет.
Допустил 1 ошибку в 1 задании (Задание было анализ алгоритма, первую половину описал верно, а вторую по молодой самоуверенности не стал даже анализировать написал что никогда не выполнится)
После оглашения результата с первого взгляда увидел свою ошибку… а за это задание 10 балов было… ну мне только 5 дали. В итоге второе место, удивленные морды и тур на областную олимпиаду.
К чему это я здесь пишу,…. потому что я уже много лет с 2002 года не IT-к……, пришлось выбирать между свободой от работодателей и любимым делом. А так хочется чего нибудь по-программировать что-нибудь полезное.
P.s. Ссори за оффтопик, нахлынули воспоминания былой славы 🙂
(38) только вот хотел все же написать по поводу заголовка статьи (кстати спасибо что написали про новый метод, иначе бы не зашел в статью и не увидел…) так вот, зашел просто ради интереса что за новый метод, сама нумерация была не очень интересна, а тут подарок с таблицей дат… пишите на будущее более точно что в статье есть (даже про подарки)
Согласен во многом с ildarovich.
Конечно есть путаница в терминах. Но вряд ли кто-то понимает разницу между терминами «порядковые числа» и «числа по-порядку». Единственно, не следует в таком случае упоминать про математику. Поскольку в математике
порядковое число — это нечто другое. Простим ему так же и обращение к теории вероятностей.
Все же, статья, полагаю, оказалась интересной и полезной для многих читателей
Теперь по теме.
1. Поскольку фрагмент
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1
конструктор запроса записывает в 5 строк, то лично я вместо основания 4 использую основание 3. Получается компактнее. Для больших чисел, все равно использую основание 3. Просто формула становится длинее и все. Не вижу смысла переходить к основанию 10.
2. Насчет «Порождающего запроса».
Для меня как-то неочевидно, что соединение двух 16-строковых таблиц выполнится быстрее, чем соединение 4-х таблиц по 4 строки в каждой. Мне думается, что это будет одинаково по производительности.
Я даже не учитываю, что эти 16-строковые таблицы еще предварительно надо сформировать где-то в памяти. Впрочем, это несущественные мелочи.
Делалась ли проверка этого факта на тестах?
Интуитивно 4 вложенных цикла по 4 и два вложенных цикла по 16 примерно одинаковы по производительности, если это написано на серьезном языке, с оптимизацией счетчиков.
Меня тоже заголовок статьи ввел в заблуждение. Хотя, прочитав все комментарии и обдумав, склоняюсь к тому, что заголовок верный, а вот его восприятие (у меня) почему-то неверное 🙂
И спасибо за запрос генерации последовательности дат!
(23) Компактный код не всегда самый быстрый. Вот код для сравнения
Показать
Это кусок выдранный изhttp://infostart.ru/public/68269/
(40) Задачи, в которых можно применить искусственные (создаваемые не на основе данных ИБ) таблицы, можно пересчитать по пальцам. Кстати, буду благодарен, если Вы поможете расширить мою коллекцию таких задач. Особых требований по компактности записи запроса или по скорости его работы в этих задачах , как правило, не предъявляется. Поэтому практического смысла спорить по поводу выбора основания системы счисления вроде бы нет.
«Порождающий запрос» . Ну а эффективность «порождающего запроса» лучше обсуждать в соответствующей ветке комментариев (метод вложенных циклов для оценки производительности запросов будет очень кстати).
Но если такой вопрос вдруг окажется важным, то скажу, что по критерию количества строк в записи запроса (после открытия запроса конструктором) наилучшим будет основание 2.
По критерию количества знаков в записи запроса лучшим могут оказываться разные основания в зависимости от требуемого числа генерируемых записей и языка (русский, английский) записи запроса. Можно вывести формулу, отражающую линейную зависимость длины запроса от величины основания и логарифмическую — от числа генерируемых строк, найти первую производную, приравнять нулю и так далее. Ну или просто построить таблицу для выбора основания.
Что касается быстродействия, то основание 2 тоже, как мне кажется, будет лучше. Оно обеспечивает более плотное покрытие натурального ряда числами, в которых не будет «холостых» соединений. Например, если нужно сгенерировать ряд от 1 до 257, то основание 4 даст 1024 — 257 = 767 холостых прогона, а основание 2 — только 512 — 257 = 255 (в три раза меньше!). Ну и поэтому основание 2 по сравнению с другими основаниями в среднем будет давать меньше лишних строк в декартовом произведении.
Видите, сколько факторов можно при желании учесть. Чтобы зря не ломать каждый раз над этим голову, я написал маленькую функцию, которая по требуемому количеству строк формирует запрос, генерирующий таблицу чисел. Я уже видел обработки, в которых она была использована. Функция приведена в статье
(40) pakill,
Согласен с вами во всем, я не использовал математические термины. Название оптимизировано под поисковик.
А про теорию вероятности, спасибо за прощение. Ну а вообще: а) это было лирическое отступление б) я действительно искал последовательность псевдослучайных чисел обладающих нужным мне распределением.
Насчет «Порождающего запроса».
В целом согласен, нужно проверять, но там фишка будет в том что формула вычислений короче, в итоге меньше операций…. я с этого начинал свои рассуждения….но моя задача была получить более компактный код, потому что раздражает когда на экране запрос листать сильно приходиться…. а к конструктору я еще не привык… анализирую запросы, работая с текстом.
(43) ildarovich, на редкость согласен с вашим постом за исключением
Более плотное покрытие достигается использованием произвольного основания… о чем я написал еще в первом посте (не дословно конечно) «Изучив предложенный код вы сами с легкостью напишите запросы для ваших нужд«.
Ну и дальше в комментах разжевано это уже.
и нахе*а эта последовательность в запросе?
Один вопрос. Как это попало в рубрику «выбор экспертов»?
1. Как уже много раз упоминалось в комментариях: новизны 0 целых 0 десятых.
2. Практической пользы в таблице порядковых номеров без привязки к данным из других таблиц тоже 0.
3. Чем вас не устроил цикл «Для Н = 1 По Х» с добавлением в массив? По Вашим же критериям «Самая короткая запись кода, без ущерба скорости, при том достаточно понятная» — короче, быстрее и максимально понятно даже новичку. В тонком клиенте работает, гонять данные между сервером и клиентом не нужно — все выполнится на месте.
(3) как можно пронумеровать произвольную выборку запроса, а именно —
http://kb.mista.ru/article.php?id=703
— вставить колонку «НомерСтроки» и заполнить ее порядковыми номерами строк в выборке???
Однозначно вопрос претендует на маленькую нобелевскую премию…. это позволило бы решить ряд прикладных задач.
Поздравляю с успешной демонстрацией полного незнания общеизвестных вещей. С Вас премия автору
(38) Прямо выпрашиваете похвалу. Вся статья просто сплошной поток самовосхваления и желания продемонстрировать мнимую значимость («нахлынули воспоминания былой славы» и т.д.) и превосходство. И образование математическое и теорию вероятностей применил к порядковым номерам (что за бред вообще, где тут случайные события?).
Итог: публикация для сбора плюсов за счет громкого наименования. Жаль что некоторые ведутся.
(47) ugroblin,
Один вопрос. Как это попало в рубрику «выбор экспертов»?
Я не знаю что там куда попало, отвечу по вашим репликам:
1. Для вас может и нет новизны, а в инете на момент публикации короче записи не было.
2. Пользы без привязки к данным действительно мало…. так, пожалуй во всем 🙂
3. Хотелось обойтись языком запросов. Распространенное желание.
— Не вы первые привели эту ссылку
— По этой ссылке действительно «нумерация». Если бы я раздавал премии, я бы отметил эту работу. У меня же просто генерация числовой последовательности.
где тут случайные события
— я действительно искал последовательность псевдослучайных чисел обладающих нужным мне распределением.
— Просто не знал как подойти к решению этой задачи…. уверен есть и другие подходы.
Прямо выпрашиваете похвалу.
— Приятно получать позитивные комментарии, а такие как у вас — «так себе».
Коллеги, можно бизнес кейс в студию для чего надо порядковый номер в запросе вычислять? И почему его нельзя рассчитать при заполнении области вывода?
(49) with,
Имхо «бизнес-кейс» вы неуместно ляпнули.
лично для меня смысл больше теоретический,….если кто-то найдет серьезное практическое применение, пусть порадует нас.
Пока не имел возможности ознакомиться с комментариями выше, но замечу, что это бойанъ чистой воды.
http://infostart.ru/public/68269/
35ом комментарии мной.
Статья с датой публикации 30.03.10 :
Именно предлагаемое решение описано в
ps: Ознакомился. Всё верно, баян. Даже не думал, что можно было оснастить свой комментарий таким количеством псевдонаучных слов.
(51) PLAstic,
Конечно подобные публикации были, просто я не смог их прогуглить.
Но до сих пор я не видел такой простой лаконичной записи…. но я не считаю что это как-то умоляет ваших заслуг, а также заслуг других авторов.
Конечно кто-то когда-то это сделал первым, возможно еще до вас.
У меня была весьма скромная цель: сделать запись компактнее.
Даже не думал, что можно было оснастить свой комментарий таким количеством псевдонаучных слов.
Это что моя проблема ??? для чего вы это пишите?
ps. Я тоже не думал что моя «заметка» привлечет такое количество «псевдо-умников».
А если кому-то понравилась, я искренне рад 🙂
(52) единственное, что можно было бы изменить — меньше пафоса в подаче статьи. Остальное всё верно говорите. У меня ж тоже такая ситуация была:http://infostart.ru/public/294052/
Кричат «баян», а ссылок не дают. Потом только я изучил комментарии к статье и заметил среди прочих один, где предлагалась такая же идея. Только комментарии к статьям читают далеко не все, да и поиска по ним нет, а статьи даже в рассылке упоминаются.
(53) PLAstic,
У вас конкретное практическое решение конкретной проблемы.
К тому же все сделано верно с методологической точки зрения.
Использование объектов метаданных по назначению так сказать.
Думаю многие начинающие кодеры извлекут пользу из вашей публикации.
Хотя конечно для программиста 1С это очевидность 🙂
Но критиковать вашу публикацию может только балбес или тот кому делать нечего :-))
p.s. У меня же есть к чему прицепиться «новизна?», «практическое применение?», «пафос?» — все вызывает желание покритиковать,… да и ладно 🙂
(24) ildarovich, Про адреналин. Адреналин — сосудосужающее и прекрасно помогает при насморке :))))
(55) awk, в моей версии этой истории пациент должен был умереть от остановки сердца, а не от насморка.
в ласт примере ласт пакет чуть более корректно так:
Запросы просто огонь! Но мне чаще всего натуральный ряд нужен бывает во временной таблице, которую упорядочить к сожалению не получится.
Как я понимаю, пронумеровать ЭТИМ ничего нельзя? Если так, я только что потратил 15 минут жизни на изучения ненужной ерунды
АВТОНОМЕРЗАПИСИ()
(60)
с платформы 8.3.13