[ПОЛЕЗНОСТИ] по СКД и запросам (обновлено 14.11.11)




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?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='\

96 Comments

  1. dva1c

    Здорово, если статья, как написано в конце: будет дополняться!

    +1 в личку 🙂

    Reply
  2. anig99

    Рука тянется к минусу… И даже не за повторении учебника Хрусталевой (буду считать это конспектом), а за мотивационную часть статьи. Статья поддерживает тех программистов, которые хватают всё по верхам, но не читают нормальную литературу по теме. Если банально прочитать Хрусталеву, то не возникнет вопросов типа: «А что можно сделать с СКД кроме отчета?» «А как установить отбор программно?» «А сделать вычисляемые поля?» Предлагаю всё-таки добавить в статью настоятельную просьбу прочитать литературу по СКД, а данной статьей пользоваться как конспектом.

    Потому как без базовых знаний, такие статьи — это ужасный вред.

    Reply
  3. Djonny

    Нормальная статья.

    Если будет дополняться, будет вообще прекрасно!

    Такой «конспект» по СКД нужен, если будет что-то вроде «базы знаний» будет вообще замечательно!

    Reply
  4. fishca

    (3)

    если будет что-то вроде «базы знаний» будет вообще замечательно

    Уже есть такой сайт

    Reply
  5. Kom-off

    (2)+ Не очень понятно для кого статья. Для опытных — так нет, их уже этим не удивишь. Для новичков — сильно разбросан и не систематизирован материал, лучше потратить 5 часов на видео курсы Гилева — гораздо больше пользы будет. Воздержался, хотя тема статьи заинтересовала.

    Reply
  6. KapasMordorov

    Небольшое замечание.

    Ну почему многие пишут «компановка»?

    Причем в одной строке с оригиналом?

    ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных
    Reply
  7. fishca

    (6) А почему пишут мАлоко 🙂 ?

    Ладно еще можно понять когда создают переменную ПроцессорКомпановки

    Reply
  8. WiseSnake

    (2)(5) Я с вами абсолютно согласен! Но для того чтобы найти в книге, если ты ее в первый раз видишь, необходимо время. 5 часов это тоже время. Я человек и многое забываю, последнее время у меня сложилась традиция искать ответы в интернете, просто потому что быстрее.

    anig99 ну вот подскажите, на какой странице подобие данного примера? Потому что я вообще не помню что я там такое видел(ну или не обратил внимание).

    Kom-off Мне кажется для опытных в написании запросов, но для новичков в СКД.

    Reply
  9. WiseSnake

    (6) От слова компактный )))) шучу, ну от безграмотности конечно же 😉

    Reply
  10. WiseSnake

    (2) Я в описание добавил убедительную просьбу читать литературу, но пришлось заново отправлять на модерацию (((…. Хрень какая то… нафига уже опубликованное опять модерировать…

    Reply
  11. anton.fly7

    я через компоновку заполняю табличку с отборами на форме например

    http://infostart.ru/public/91297/

    Reply
  12. anig99

    (8) книгу нужно прочитать ВСЮ заранее, а не обращаться к ней по необходимости. Книга — это не сборник статей (хотя ЖКК — именно сборник статей)

    Страницу не назову, но точно есть описание программного метода выполнения СКД (кстати метод, как и Ваш, длинный; есть более короткий программно сформировать СКД, но он не всегда применим). Как вывод в табличный документ, так и в таблицу значений. Тоже самое касается и вычисляемых полей. А вот примера использования НОВЫХ функций СКД нет ни у Хрусталевой (тогда их ещё не было), ни у Вас…

    Reply
  13. anig99

    (10) а чтобы не было такого — сначала написать всё по правилам, а потом исправить на что хочешь.

    Reply
  14. WiseSnake

    (12) Я еще раз напоминаю что люди забывают. И при прочтении книги, если нет опыта, то это бесполезно, человек даже и не вспомнит об этом.

    Reply
  15. WiseSnake

    (13) не понял о чем вы? я когда исправлю статью у меня 2 кнопки «Сохранить в черновики» и «Отправить на модерацию»… так о чем Вы?

    Reply
  16. WiseSnake

    (12) А что за НОВЫЕ функции СКД? Может я отстал от жизни? ))

    Reply
  17. anig99

    (15) о том, зачем отправлять статью снова на модерацию после исправления.

    (16) http://infostart.ru/public/86764/ в частности ВычислитьВыражение — решает ОЧЕНЬ много проблем в сложных отчетах.

    Reply
  18. WiseSnake

    (17) Действительно отстал от жизни. Пойду обновлять платформу. Спасибо за ссылку!

    Reply
  19. y22-k

    Да, считать процент по групировке это по челябински, стандартные поля не пробовал ссмотреть там есть много интересного

    Reply
  20. Ish_2

    Саша опередил. И всё сказал в (2). Добавить нечего.

    Reply
  21. WiseSnake

    (19) И что там интересного? Как делают в культурной столице России?

    Reply
  22. ann_ver

    Спасибо большое! очень полезный и интересный материал!

    Reply
  23. SuhoffGV
    anig99 пишет:

    Рука тянется к минусу… И даже не за повторении учебника Хрусталевой (буду считать это конспектом), а за мотивационную часть статьи. Статья поддерживает тех программистов, которые хватают всё по верхам, но не читают нормальную литературу по теме. Если банально прочитать Хрусталеву, то не возникнет вопросов типа: «А что можно сделать с СКД кроме отчета?» «А как установить отбор программно?» «А сделать вычисляемые поля?» Предлагаю всё-таки добавить в статью настоятельную просьбу прочитать литературу по СКД, а данной статьей пользоваться как конспектом.

    Потому как без базовых знаний, такие статьи — это ужасный вред.

    А по мне книга Хрусталевой не панацея.

    Прочитал — «как все классно!», взялся делать что-то сложнее примеров — и облом. Вроде и работает, а вроде и не совсем и не всегда. WiseSnake не даст соврать 🙂

    А книг больше нет. Все остальное по кускам где-то лежит, на форумах, в видеороликах и т.п. И думаешь, не писал на СКД и не буду. Клиенту все равно как я его задачу решу, лишь бы не вручную. А выборки там или запросы — пофиг.

    Знаю девушку/франча — она про СКД даже не слышала, и ничего пишет как-то. Клиенты счастливы.

    Чем больше статей про реальную работу с СКД с примерами — тем лучше. Там посмотрел, там почитал и разобрался. Да хотя бы и процент научишься считать.

    А ЖКК давно уже надо в электронном виде издавать. С поиском. Аля «ЕСИС», если кто видел такое. Но она давно не обновляется. До сих пор пользуюсь вместо ЖКК.

    ps

    Меня так в свое время дист курсы по ЗиК77 так убили. Было там несколько задач на вывод отчета по горизонтали и вертикали по 2м запросам.

    Я спецом потом в типовую конфу глянул — там ни одного примера горизонтального вывода областей в макет НЕ БЫЛО.

    Только в восьмерке мне это пригодилось. Спустя пару лет.

    Reply
  24. anig99

    (23) воооот. сначала прочитал книгу, а потом начал читать дополнительно. Книга — это основа. А в данной статье пока НИЧЕГО, чего нет у Хрусталевой — нет.

    Reply
  25. curys

    Прикольно)

    Reply
  26. itar59
    anig99 пишет:

    Рука тянется к минусу… И даже не за повторении учебника Хрусталевой (буду считать это конспектом), а за мотивационную часть статьи. Статья поддерживает тех программистов, которые хватают всё по верхам, но не читают нормальную литературу по теме. Если банально прочитать Хрусталеву, то не возникнет вопросов типа: «А что можно сделать с СКД кроме отчета?» «А как установить отбор программно?» «А сделать вычисляемые поля?» Предлагаю всё-таки добавить в статью настоятельную просьбу прочитать литературу по СКД, а данной статьей пользоваться как конспектом.

    Потому как без базовых знаний, такие статьи — это ужасный вред.

    Да будет Вам!!! Нельзя же все время ворчать, что «Жигули» не «Мерс», «Жигуль» тоже нужен.

    Некоторые аспекты дискуссии напоминают спор о том как делать ремонт в квартире: своими руками (но годика так за 3) или пригласить профи (за деньги, но за две недели)

    на мой взгляд вполне разумный материал. А читать библию от Адама и Евы (от сотворения мира) для доказательства, что 2*2=4 несколько чересчур…

    Вы не находите?

    Плюс.

    тема правильно раскрыта, правильно подана

    а главное — изложена без излишних премудростей, на понятном языке (на русском, литературном) а не на жаргонном подмножестве сленга.

    Reply
  27. marat_n

    (20) Мне тоже сразу режет глаз в статье. Задача с выводом процента, конечно актуальна и проста для понимания, но проблема в том, что просто, развернув «плюсиком» нужный ресурс в настройке, можно увидеть различные варианты процента этого ресурса.

    Reply
  28. WiseSnake

    (27) Поясните. Может быть я чего то не знаю. Как вы реализуете ту же задачу с помощью плюсика на ресурсе?

    Reply
  29. anig99

    (26) не то сравнение… Жигуль и Мерседес — это универсальный отчет и СКД. А вот дворники от мерседеса и сам мерседес — это данная статья и книга по СКД. Дворники конечно замечательные и красивые, но без машины они нафиг не нужны.

    Reply
  30. Magister

    Минус за:

    ПроцессорКомпановки

    очивидным

    сторок

    лиж бы

    что то

    и т.д.

    Ну и (2) — тоже согласен.

    Reply
  31. WiseSnake

    (30) Ой, а я не знал что у нас диктант был.

    Спасибо, за проверку.

    Reply
  32. WiseSnake

    (29)(30) Блин, специально возьму Хрусталеву перечитаю, и только после этого буду дописывать статью, чтобы не дай бог не повторить то, что там написано…

    Reply
  33. Magister

    (31) В школе у вас, похоже, мало было диктантов 🙂

    Вы извините, но очень уж глаз режут грамматические ошибки. К тому же в век компьютеризации глупо не пользоваться любой программой для проверки орфографии, если не уверены в собственной грамотности.

    Reply
  34. bol

    «просто, развернув «плюсиком» нужный ресурс в настройке, можно увидеть различные варианты процента этого ресурса»

    marat_n, про «плюсик» просветите

    Reply
  35. itar59

    (29) anig99,

    мы уклоняемся от темы и, к сожалению переходим на личности.

    а ведь если объективно — работа-то правильная и нужная.

    иначе бы и дискуссии не возникло бы.

    еще один респект автору темы.

    Reply
  36. WiseSnake

    (33) Да, Я никогда не любил русский язык, выдуманные, видимо с бодунища правила. Вы уж извините заучивать эту ересь, не поддающуюся логическому осмыслению я не хотел и не хочу.

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

    К тому же мои ошибки никакого отношения к разработке не имеют, а Вы пишите что поставили мне минус за ошибки, не находите это несколько странным? Лучше бы вы побольше разработок своих выложили, а не показывали свою грамотность. Это лично мое ИМХО, по этому прошу не принимать близко к сердцу, ведь у каждого человека может быть свое мнение, как мне кажется.

    P.S. Я обязательно поправлю ошибки, не волнуйтесь, чужие глаза я не люблю резать. Просто не хочу лишний раз, по пустякам отправлять статью на модерацию.

    P.S.S А проверка орфографии и так идет, но не помогает.)))

    Reply
  37. Magister

    (36) Хорошо, согласен, оценивать нужно разработку. Минус снял.

    Но насчет «выдуманные, видимо с бодунища правила» и «заучивать эту ересь» — категорически не согласен.

    Русский язык для меня не родной, я его в школе только один год учил, как иностранный. Но тем не менее абсолютное незнание правил не мешает мне писать грамотно. И да, я не с бодуна 🙂

    А свои разработки я почти не выкладываю по причине в основном узкой заточенности под конкретного клиента, а на переделывание их на универсальные времени, к сожалению, не хватает.

    Reply
  38. WiseSnake

    (37) Если Вам глаз режет, значит Вы знаете правила. Просто у разных людей разные способности. Я учил русский язык 14 лет, но увы и ах. Я в принципе не способен что то заучить, если я не пользуюсь чем то, то забываю это. Я даже таблицу умножения не всю помню. Так устроен мой мозг и переделывать уже поздно.

    Про бодун я говорил образно, о тех людях, которые создавали правила русского языка (не сами же они появились).

    Reply
  39. Magister

    (38) В том-то и дело, что я правил не знаю. Я их «чувствую», что-ли. Не знаю даже как правильно выразиться.

    Вот смотрю на слово, и вижу — написано с ошибкой. А вот чтобы понять как написать правильно — приходится подумать, а то иногда и гуглить 🙂

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

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

    Reply
  40. WiseSnake

    (39) Ну вот видите, у Вас есть талант, у меня нет. Я просто не считаю это важным, по этому абсолютно не заморачиваюсь по этому поводу. Давайте закроем эту тему, а то флуд получается, ок?

    Reply
  41. Magister

    (40) Ок, действительно оффтоп.

    Reply
  42. sserazm

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

    Если WiseSnake хочется писать без орфографии и правил, то ему дорога на удафф.

    По сути статьи, плюсы у нее авансом. Пример разобраны невнятные. Если в эту старью будут кусками копировать Хрусталева, то можно сразу дать ссылку где лежит книжку или организовать ее провешивание с кучей комментариев и разжевывания, в этом я вижу больше пользы.

    Reply
  43. WiseSnake

    (42) Давайте я сам буду решать где и чего мне проверять. Вы можете не читать статью если Вас что то не устраивает. А советы куда мне идти, от человека с рейтингом 0 на этом сайте я в принципе не рассматриваю.

    Покажите мне где в Хрусталевой есть то что я опубликовал.

    Примеры жизненные и если Вы их не понимаете, то вы мало писали в СКД и знаете о нем только теоретически.

    Reply
  44. netserfer

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

    Reply
  45. opiumdx

    Спасибо.

    Reply
  46. Новиков

    Спасибо за статью. Очень годится как готовый рецепт. Надеюсь Вы ее будете обновлять и поддерживать!

    Reply
  47. Alexey55

    Спасибо!

    Reply
  48. rubelev

    А что можно толкового из скд для 1С вытащить?

    Reply
  49. anig99

    (48) А что можно толкового из АКП для автомобиля вытащить?

    Reply
  50. WiseSnake

    (48) Могу сказать что в СКД я выполняю 40-50 % всей работы с 1С. Судите сами…

    Reply
  51. mkostya

    Спасибо, было полезно

    Reply
  52. y22-k

    (28)

    Плюсик нажми на ресурсе слева снизу на закладке Выбранные поля на закладке Настройка и куча вопросов отпадет )

    Reply
  53. WiseSnake

    (52)Задачу прочитайте внимательно, а потом выделяйте свой текст и улыбайтесь.

    Reply
  54. SuhoffGV

    (31) «жи, ши — пиши слитно»

    Понаехали граммарнаци 🙂

    Reply
  55. Alraune

    (54)

    «жи, ши — пиши слитно»

    Неправильно! «жЫ, шЫ — как хочешь пишЫ»

    Reply
  56. vikorn

    Спасибо, интересно

    Reply
  57. mtv:)

    (0) Хорошая статья. Можно использовать, как готовые рецепты.

    Только хотелось бы, что бы публикация развивалась и поддерживалась.

    Надеюсь, что своё слово: «Статья будет дополняться…», ты сдержишь.

    Reply
  58. WiseSnake

    (57) Все зависит от Вас, пользователей. Как видишь многие не согласны, что статья дельная (это сильно отбивает интузиаЗИзм).

    Сейчас есть материал, но нет времени и небольшие проблемки с доработкой статьи.

    Reply
  59. dkprim

    статья хорошая. будет приятно и новые материалы в статье 🙂 автору спасибо 🙂

    Reply
  60. Ish_2

    Как и (2) у меня негативное отношение к таким статьям.

    Читал , один раз почесал в затылке, дважды усмехнулся.

    Статья не представляется цельной . Набор огрызков.

    Если народу такое нравится , то я — против народа.

    Reply
  61. WiseSnake

    (60) Я сейчас усмехнулся. Самые интересные статьи в таком же формате, например вот эта, где, кстати Вы проплюсовались. Возможно Вы просто не понимаете сути задач, когда столкнетесь, уже знаете где искать ;).

    Reply
  62. Ish_2

    (61) Все мы чего-то не понимаем. Все мы учимся методом тыка. Это нормально.

    Но не стоит свои тычки выносить на публику в виде статьи «Ой, смотрите, ребята — чего я нарыл !Какие [ПОЛЕЗНОСТИ]».

    Обычно перед опубликованием проверяется как эти вопросы освещены в литературе. Даются ссылки , затем своё понимание или уточнения.

    Впрочем, опять почесал в затылке… Рубрику на ИС «Мож и вам сгодится» никто не отменял и каждый прыгает через свою планку.

    Reply
  63. WiseSnake

    (62) Хм, «Опять 25». Я вот всех прошу показать мне где в литературе описано то что тут описал???? я так и не нашел.

    Вы помниЦа вообще раздували целые баталии на пустом месте аж целая статья родилась, хотя ИМХО Вам ту же Хрусталеву и стоило почитать. Однако тоже народ оценил.

    Reply
  64. Ish_2

    (63) О моей статье — поговорим в моей теме. Здесь речь о Вашей.

    Если автор не приводит никаких ссылок , не помещает свою статью в некоторый существующий контекст по этой теме , то это означает :

    1. Либо автор несведущ в текущей теме .

    2. Либо претендует на новизну своего метода, решения, подхода.

    Теперь почувствуйте разницу.

    Отсутствие ссылок на аналоги в моих статьях означает п.2.

    Это утверждение. Сможете опровергнуть — опубликую в теме.

    Теперь вопрос Вам : Что означает отсутствие ссылок в Вашей статье ?

    Утверждение сделать сможете ? Или только : «чего-то искал , но чего-то не нашел..»

    Reply
  65. vec435

    ЕСИС также полезно и нужно читать как и литературу.Но правила нужно знать хотя для того, чтобы знать как их обойти.

    Reply
  66. WiseSnake

    (64) На момент публикации Вашей статьи у меня пару тройку обработок заполнялось в одну колонку деревом из СКД. Я не считал, да и не считаю, чем то оригинальным Вашу статью, но не лез судить «со своей колокольни», в отличае от Вас.

    Ish_2 пишет:

    О моей статье — поговорим в моей теме.

    Хватит флуда и в моей теме, который стоило бы и прекратить! Вы уже 5й человек, который пытается меня «отправить к книжкам», по моему, больше чем достаточно, тем более если Вы читали я согласился со 2м постом, если Вы не считаете полезной статью поставьте минус, но не надо «переливать из пустого в порожнее».

    Ish_2 пишет:

    Теперь вопрос Вам : Что означает отсутствие ссылок в Вашей статье ?

    Если ссылок на варианты решения поднятых в моей теме задач??? то да, я претендую на оригинальность. Докажите обратное и я — опубликую в теме. Или только: «я знаю, что где то это видел, но не знаю где…»?

    Reply
  67. Ish_2

    (66) Отлично. Начнем с последнего параграфа Вашей статьи :

    «Как выводить ресурсы (или как вывести начальные и конечные остатки и данные по произвольным периодам)?»

    Поехали . Ставится задача :

    Доказать , что НИЧЕГО нового и оригинального параграф не содержит.

    А содержит только старые , давно известные и опубликованные приёмы.

    Или доказать п.1 из поста (64) : Автор несведущ в текущей теме.

    Начнем.

    В указанном выше параграфе рассказывается о том , как использовать объект «Таблица» в настройках.

    В использовании «Таблицы» ничего оригинального НЕТ.

    Далее. В колонках таблицы используются группировки :

    <Детальные записи>

    Период

    <Детальные записи>

    Оригинально использовать группировку «Период» в колонке Таблицы ? Нет . Это смешно.

    Остается только одно использование в качестве группировок < детальных записей> для вывода значений

    Начального и Конечного остатка . Т.е. с помощью этого приема значения выводятся в нужном месте(колонке) таблицы.

    Первая публикация о выводе значений в нужной колонке появилась два года назад автора IronDemon

    http://infostart.ru/public/20848/

    Он, правда, использовал вычисляемые поля. Но такой приём совсем неплох и имеет свои плюсы.

    Теперь в комментарии 21 этой темы http://forum.infostart.ru/forum24/topic25482/message408159/#message408159

    читаем ( извиняюсь за самоцитирование , оно при доказательстве необходимо).

    На мой взгляд , экономнее и практичнее для вывода поля в нужной колонке вообще отказаться от вычисляемого поля «ДополнительнаяКолонка».

    Группировка может быть создана и без указания группировочного поля (список группировочных полей — пуст), а выбранные поля для такой группировки могут выбраны произвольно.

    На прикрепленном к посту файле показано как используются <детальные записи> для выода значений (см . рисунок)

    Этот прием был применен в публикации http://infostart.ru/public/75878/ «СКД против ручного кодинга» без всякого «педалирования» на оригинальность.

    Боже упаси от какого-то авторства ! Этот давно известный приём заслуживает лишь комментария-уточнения к чужой теме. И не более того.

    Итак , доказано , что параграф текущей темы не содержит ни новизны , ни оригинальности.

    Если что-то еще в этом параграфе претендует на оригинальность — назовите.

    Reply
  68. WiseSnake

    (67) Каюсь, специально оставил Вам эту возможность и не написал в посте 66 о том что пункт на вывод ресурсов не претендует на оригинальность, а создан для «быстрой помощи» (о чем, кстати, сообщается в первых строках этого пункта) и создан на коленке. Хотелось так сказать получить больше информации. За ссылку на разработку IronDemon спасибо и на Вашу статью, я добавлю их как ссылки по теме в этот пункт при первой возможности, но первая не совсем отвечает на поставленную задачу и мне бы пришлось объяснять людям как эту статью применить для создания отчета такой формы. Вашу статью ее не видел, каюсь и ИМХО она не совсем наглядна + ко всему это всего лишь пункт в моей статье.

    ИМХО оригинальность в том, что это я представил компактное объяснение (очень часто встречающейся на практике) поставленной задачи (ИМХО самое правильное и простое), которое займет на прочтение 1 минуту и даст всю необходимую информацию. Если бы людям было все понятно, то не возникало бы одних и тех же вопросов на форуме (причем многие наверняка читали ту же Хрусталеву, можем кстати спросить) и за время, которое они там висели, никто так и не смог дать внятного ответа на поставленный вопрос.

    Так что давайте оставим в покое этот пункт. Помечу в пункте для … особо щепетильных что пункт не оригинален и добавлю ссылки. «Автор несведущ в текущей теме. » © — уважаю Ваше личное мнение.

    Ish_2 пишет:

    Начнем с последнего параграфа Вашей статьи

    Продолжайте по остальным пунктам, пожалуйста.

    Reply
  69. Ish_2

    (67) На меня ссылаться ненужно. На IronDemon стоит.

    Продолжаю разбор — IronDemon два года назад отметился ещё по Вашей теме процентов :

    http://forum.mista.ru/topic.php?id=425838

    Reply
  70. WiseSnake

    (69) Ваша ближе к теме.

    Ну скорее не IronDemon отличился, а sam_sam, я когда искал в гугле, ничего не нашел. Статья не на инфостарте + наглядность, конечно, не сравнима + ко всему не понятно как правильно настроить в СКД, по этому считаю эту ссылку «ни о чем» хотя сама суть решения там есть. Я так же (как и автор по ссылке) не мало времени убил пока добился нормального результата.

    Reply
  71. WiseSnake

    + к (70)

    Посмотрел Хрусталеву (по ссылке указано где смотреть — стр.385), ту тему которая там указывается. Там информации 0.

    Reply
  72. Ish_2

    (71) Я уже проверил. У Хрусталевой именно про проценты нет. Очевидно вопрос был опущен как несущественный.

    Но IronDemon в последнем комментарии указал правильное решение.

    Reply
  73. WiseSnake

    (72) «Соль» решения указана в первом посте, а IronDemon поправил ошибку неопытных пользователей, приводящую к делению на 0, ЕСТЬNULL применять там ИМХО избыточно, потому что я, во всяком случае, всегда ставлю эти конструкции в самом запросе, чтобы не нарваться на неприятную ситуацию арифметических действий с null, которые не вызывают ошибок но так же возвращают null.

    У Хрусталевой описано стандартное применение, которое и так понятно. А вопрос существенный, встречается на практике часто и не очевиден.

    Reply
  74. WiseSnake

    (74) Будем в «черный список» оформлять

    Reply
  75. dkprim

    приятно видеть, что публикация пополняется и весьма полезно пополняется 🙂

    Reply
  76. alexkl

    Развитие, в том числе учебной литературы, зачастую идет весьма непросто. Поэтому ругать за публикацию методики некорректно.

    Reply
  77. marku

    Возможно вывести отчет, так чтобы в группировках были соответствующие значение из регистра сведений?

    Пример картинки тут

    Reply
  78. WiseSnake

    (78) Тут надо подумать. Демо-база какая нибудь, на которой попробовать можно есть?

    Reply
  79. kalyaka

    Хотелось бы узнать, как получить отчет в таком виде, как представил автор на рисунке под заголовком

    «Как выводить ресурсы (или как вывести начальные и конечные остатки и данные по произвольным периодам)». А именно меня интересует, можно ли в СКД выводить объединенные заголовки как на рисунке заголовок «Продажи»?

    Reply
  80. marku
    WiseSnake пишет:

    (78) Тут надо подумать. Демо-база какая нибудь, на которой попробовать можно есть?

    нет возможности предоставить

    Reply
  81. F1_1

    Согласен с автором поста про необходимость иметь шпаргалку по СКД

    Reply
  82. Laertid

    Замечание по примеру с процентом: зачем и что Вы писали в поле оформление для вычисляемого поля, если в итогах Вам приходится домножать на 100? Лучше в Формате использовать сдвиг на 2 знака. Чем лучше? Тем, что при выделении и копировании куда-нибо (в Excel, скажем) результата вы получите результат в виде доли. Число 1, а не 100 для 100%. Как правило в том же Excel перевод в проценты производят средствами экселя. И могут получить 10000%, что неправильно.

    Reply
  83. WiseSnake

    (83) Не вижу в этом особого смысла. Это уже мелочи, каждый может форматировать как ему удобно. Я давно не пользуюсь екселем… у меня есть 1С.

    Reply
  84. echo77

    У вас, кажется опечатка в примере:

    Порядок следования формальных параметров не такой, как в примере вызова процедуры ПолучитьДанныеНаОснованииСКД

    Reply
  85. WiseSnake

    (85) Спасибо! Вы фактически реанимировали статью. Ошибка мною была замечена давно, но оставлена чтобы проверить насколько люди читают эти самые статьи. После того как мне мозг вынесли с орфографическими ошибками и другой ерундой, но не заметили очевидных ошибок, совсем не хотелось продолжать труд. Но сейчас я вижу что еще не все потеряно в этом сообществе ))). Возможно теперь я продолжу ее…

    Reply
  86. serge_focus

    //(86)

    Хочу поблагодарить за статью!

    Во первых СКД = действительно интересное и перспективное средство для ускорения написания отчетов и не только…

    И действительно даже после прочтения книги возникает куча вопросов. А решение вопросов — обсуждение, чтение других материалов по теме и самое главное — практические реализации с использоваинем технологии СКД.

    В поставках на нем стараются все делать. И там порой без пол-литра не разберешся… 🙂

    И в качестве пол-литра часто выступают статьи из Нета и обсуждалки в форумах…

    А данная статья -«для опытных в написании запросов, но для новичков в СКД» — Это точно!!!.

    Reply
  87. eryomenko

    Спасибо за статью.

    Reply
  88. lsp71

    (19) y22-k, Описанным в статье методом можно считать не только банальный процент, но и, например, оборачиваемость дебиторской задолженности в днях. Там формула чуть посложнее, но проблема та же: в некоторых случаях приходится отлавливать деление на 0. И это уже не вычисляется стандартными полями СКД.

    Reply
  89. WiseSnake

    (89) Стандартными полями и невозможно решить эту задачу, y22-k просто не знает о чем говорит и не вник в суть проблемы. Но вот за что Вы ему плюс за комментарий поставили ??? это вопрос ))))

    Reply
  90. lsp71

    (90) Просто не туда мышкой попал.

    Reply
  91. i132

    (23) SuhoffGV, ЖК книги по 1Сv8 давно есть на ИТС: http://its.1c.ru/db/v8doc#browse:13:-1, с работающим посиком и регулярно обновляется с описанием изменний (последнее обновление февраль 2012)

    Reply
  92. SuhoffGV

    (93) i132, Спасибо, не знал. Хоть польза от итс будет.

    Reply
  93. STEPPRK

    Спасибо! Узнал много полезного

    Reply
  94. webester

    Картинки умерли все в статье. Можно обновить?

    Reply
  95. Buggy001

    Кстати да, картинки не отображаются, а без них последняя часть статьи не имеет смысла.

    Reply
  96. IrinaKostroma

    (33)

    Вам,Михаил, на другой форум надо… или в учителя по русскому языку податься

    Здесь суть важна.Спасибо, что человек вообще опытом поделился

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *