<?php // Полная загрузка сервисных книжек, создан 2024-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С:Автоматизированная проверка конфигураций
Конфа действительно внушает, аналогов нет! Всем качать!
Жирный плюс!
Автору респект за труд, очень полезная конфигурация.
Было бы шикарно, если б сбор данных о конфе (http://www.stal76.ru/ak/load.html) был автоматизирован, как в «Автоматизированная проверка конфигураций» от 1С.
0. Папка для выгрузки хранится на метаданных (справочник Конфа, где есть путь, Логин, Пароль, папка для выгрузки файлов и еще че нить)
1. Запуск обработки «Выгрузка информации о конфигурации 8.1» (или 8.2) через передачу параметра /Execute
2. Выгрузка модулей тож через параметр, вот так например:
Показать
3. Выгрузка cf — тож через параметр и передать этот файл консольному ReadCfg.exe
в итоге загрузку данных о конфе можно оставлять на ночь уходя и нажав одну зеленую кнопку…
как сказал бы мистер Бернс — excellent!!!+++
Конфигурация очень хорошая. Вообще не понятно почему 1С сама такую не делает или не предоставляет такие сервисы средствами конфигуратора.
По большому счету автоматизированная проверка от 1С не смотрится на этом фоне совсем никак. Ребята из 1С в своей автоматизированной проверке умеют разве что проверять заголовки полей на соотвествие стандартов от которых мало что зависит. А эта конфигурация помогает искать именно ошибки в коде, которые могут вызвать проблемы с работой.
Совет ребятам из 1С ознакомиться с данной конфигурацийе и сделать соотвествующие выводы для себя.
А че архив битый?
(8) ничего не битый…
ошибка в «ВыгрузкаИнформацииОКонфигурации_81.epf «при выгрузке «ПодпискаНаСобытие» массив Источник.Типы — пустой, хотя в источнике подписки стоит «ПерерасчетНаборЗаписей»
{ВнешняяОбработка.ВыгрузкаИнформацииОКонфигурации(256)}: Индекс находится за границами массива
Возврат ПолучитьПараметрыПриЗаписиИлиПередЗаписью(Источник.Типы()[0], Ложь);
Выгрузку производил из нетиповой ЗУП 8.1 2.5.25.4
Да, толковая и полезная вещь. Графы особенно впечатлили. Сразу хочется ещё много всяких плюшек, но и в таком виде — отлично.
Огромный плюс. Просто огроменный. Такой объём работы…
Будет время — обязательно покопаюсь в графах )
Я наверное извращенец, но у меня в общих модулях имеется модуль под оригинальным названием ОбщийМодуль. 😀 Так вот, при выгрузке конфы (самописная 8.2) для анализа ругается:
{ВнешняяОбработка.ВыгрузкаИнформацииОКонфигурации.МодульОбъекта(83)}: Поле объекта недоступно для записи (ОбщийМодуль)
Для Каждого ОбщийМодуль Из Метаданные.ОбщиеМодули Цикл
Поменял в «Для Каждого ОбщийМодуль» на ОбщийМодульКонф (соответственно в самом цикле тоже) — заработало.
(10) Мне не удается воспроизвести ошибку. Какую версию платформы используете? И что показывает отладчик если просмотреть значение Источник.Типы?
(11) Список плюшек можно выслать мне на email, посмотрю, может пересекается с моими )))
(5) Были планы автоматизировать загрузку, но это не решается так просто как вы написали. Например, если конфигурация подключена к хранилищу, то указанный код не будет работать. Также может потребоваться перед проверкой, обновить конфигурацию из хранилища ….
(14) Платформа 8.1.15.14. Источник.Типы — пустой. Есть подписка на событие, в качестве источника указан ПерерасчетНаборЗаписей, если указываю в качестве источника документ, то ошибка не возникает.
Спасибо автору! Один помучался — другим лафа.
(17) Попробуйте исправленной версией обработки.
(13) Изменил имя переменной.
(15) в случае подключения к хранилищу 1Ска откроет окно подключения к хранилищу. Вроде можно подключатся и даже обновлятся из хранилища с помощью скрипта с вызовом 1Ски с различными параметрами, но у меня как то руки не дошли до конца разобраться…
Лучше иметь хотя бы такой полуавтоматический сборщик данных для избранных случаев, чем каждый раз по инструкции ручками делать
+(19) как вариант просить на вход cf конфы (или путь хранить в константе или на справочнике) , этот cf грузить в спец. конфу, из этой конфы все данные вытягивать по алгоритму (5) и дальше запускать уже анализ
От закоренелого семерочника с признательностью…
Хорошая работа проделана 🙂 +1
В топку!!!….
(23) то есть в ТОП-ку…автор гений!!!
СУПЕР!!!
Автор — я в восхищении! Поставил, протестил, очень понравилось!!!
Солидный труд. Однако получение данных из конфигурации все же нужно и можно автоматизировать.
Очень большой и жирный плюс.
Жутко хотелось бы увидеть этот алмаз в виде ограненного бриллианта; по-моему, не хватает всего-то (;-[) добавленной в комплект документации, соответствующей текущей версии, а то пришлось странички на сайте программы тырить и сохранять себе локально.
(27) Я полностью согласен с тем, что нужна автоматическая загрузка данных из проверяемой конфигурации и мне не меньше чем вам лень нажимать много кнопок. Для себя, я пока сделал bat файл, который выполняет большую часть работы по нажиманию кнопок. Для создания такого файла можно воспользоваться замечательной обработкой:http://infostart.ru/public/16006/
Есть определенные мысли по развитию функционала автоматической загрузки, например, нужно каждую ночь выполнять: обновление конфигурации из хранилища, загрузку данных в АК, формирование некоего отчета, который будет отправляться по почте.
На данный момент я хочу привести в нормальный вид еще одну из своих старых разработок и опубликовать ее. После этого можно будет заняться и автоматизацией загрузки. Если конечно будет время ….
(7)
Похоже, автор и работал в 1Се.
В смысле в ЗАО.
(28) Я планировал сделать, чтобы по нажатию на кнопку справки открывалась соответствующая страничка на сайте. Успел пока сделать в форме настройки программы, постараюсь сделать аналогично и во всех остальных формах.
Классная вещь!
На заметку:
На почти типовом ЗУПе (2.5.27.6) дает ошибку:
в самом файле лежит текст ява-скрипта типа:
+ ошибка из (10), но файл выгрузки не обновлял, так пока первая версия и стоит
(32) А зачем же вы макеты то выгружаете? Нужно же только модули конфигурации. )))
Ошибку указанную в (10) исправил в (18).
(31) Это мы узнаем, если он покажет нам грамматику)
(0) Великолепная разработка!
Анализ конфигураций выдал мне ошибку «Не обнаружена функция общего модуля» на строке
Оказалось, что у меня есть общий модуль ИсторияИзменений, а в одном из документов есть табличная часть ИсторияИзменений. То есть реальная проблема не в отсутствии метода в общем модуле, а в одинаковых именах разных объектов.
Ради интереса создал в тестовой базе табличную часть «Справочники» — 1С не выдала ошибку!
Поэтому очень хотелось бы иметь проверку, что нет совпадений имен разных объектов контекста, таких, как:
— свойства глобального контекста;
— общие модули;
— табличные части объекта;
— реквизиты объекта;
— реквизиты формы;
— переменные модуля.
Такое совпадение имен объектов — источник трудноуловимых глюков.
И еще один момент — в моей конфигурации оказалось несколько закрытых общих модулей. Проверяет ли Анализ конфигураций обращения к таким модулям?
(35) В описании вида ошибок я указывал на такую возможную причину ложного срабатывания. Пока остается только отметить эту ошибку как исключение … )))
С закрытыми общими модулями не проверял, но по идее, если текст общего модуля не выгрузился в файл, то АК будет воспринимать этот общий модуль как пустой и все обращения к нему как ошибку. Также, при загрузке должно вывестись сообщение, что отсутствует текст с модулем.
(34) «А пулемет я вам ребята не дам».
Если речь идет о формальном описании языка 1С, то его у меня нет, хотел бы на него сам посмотреть. Писал по принципу — что вижу, то и разбираю. Прогонял парсер на многих конфигурациях, увидел много всего интересного. Особо понравилась ловушка для пишущих парсеры:
Перейти ~КонецПроцедуры;
~КонецПроцедуры:
(37) Оригинальная грамматика и парсер на ее основе — ничем не «подкосишь». Дальше по убыванию надежности идет неоригинальная грамматика и парсер на ее основе. А потом идут все парсеры без грамматики. Да, грамматика — формальное описание языка.
(36) Да, при загрузке модулей было сообщение, что текст модуля отсутствует. Как пожелание на будущее развитие — так как есть обработка cf-файла, то принципиально возможно вытащить имена и количество параметров процедур и функций закрытого модуля из потока image (скомпилированного образа текста модуля).
Конфигурация понравилась.
Где можно узнать подробнее о свойствах и функциях парсера «stparser_1.0.0.7.dll» ?
(40) В общем модуле РаботаСПарсером. Я постарался получше его закомментировать.
(41) Да, я видел.
Хотелось бы описание каждой функции для оценки возможности использования компоненты,а в общем модуле только вызовы функций.
Кстати, в конфгурации используюутся все методы компоненты?
(42) В общем модуле используются все функции компонент, при этом, в самой конфигурации не используется последняя функция общего модуля ХэшСтроки, которая вычисляет md5 от произвольной строки (была добавлена по просьбе знакомых). А так, компонента разрабатывалась именно под нужды АК и ничего большего пока не умеет.
(43) Спасибо, понятно. Буду смотреть детально.
А есть планы по развитию компоненты и какие?
Отличная конфигурация!
При загрузке текстов модулей УПП Для Украины типовой возникло несколько ошибок:
Выдается ошибка «непредусмотренный символ как разделитель» при наличии в имени переменной украинской буквы (є)
Использование є в идентификаторе — возможно ошибка разработчиков типовой, хотя в платформе такое проходит.
Выдается ошибка «непредусмотренный символ как разделитель» на строках
СписокВыбора = Новый СписокЗначений();
СписокВыбора.Добавить(«;101», «(101) Сплата суми податкового зобов’язання (штрафної санкції) або податкового боргу*»);
СписокВыбора.Добавить(«;106», «(106) Сплата пені*»);
СписокВыбора.Добавить(«;109», «(109) Оплата податкового векселя*»);
СписокВыбора.Добавить(«;116», «(116) Сплата процентів за користування податковим кредитом*»);
СписокВыбора.Добавить(«;121», «(121) Сплата адміністративного штрафу*»);
СписокВыбора.Добавить(«;107», «(107) Повернення зайво сплачених коштів»);
СписокВыбора.Добавить(«;108», «(108) Перерахування коштів з одного бюджетного рахунку на інший»);
СписокВыбора.Добавить(«;110», «(110) Відшкодування ПДВ на рахунок платника»);
СписокВыбора.Добавить(«;111», «(111) Відшкодування процентів за бюджетною заборгованістю»);
СписокВыбора.Добавить(«;117», «(117) Погашення податкового боргу за рахунок продажу активів підприємства-банкрута»);
СписокВыбора.Добавить(«;118», «(118) Погашення податкового боргу за рахунок продажу активів платника, що перебувають в податковій заставі»);
СписокВыбора.Добавить(«;119», «(119) Погашення податкового боргу за рахунок продажу активів платника за рішенням суду»);
СписокВыбора.Добавить(«;120», «(120) Погашення податкового боргу за рахунок ПДВ, відшкодованого на рахунок кредитора»);
СписокВыбора.Добавить(«;122», «(122) Стягнення податкового боргу за податковим зобов’язанням (штрафною санкцією)»);
СписокВыбора.Добавить(«;123», «(123) Стягнення пені»);
СписокВыбора.Добавить(«;124», «(124) Стягнення несплачених процентів за користування податковим кредитом»);
Элемент.СписокВыбора = СписокВыбора;
При замене украинских букв на русские ошибка не исчезает.
Выдается ошибка «непредусмотренный символ как разделитель» на строках
//Фінансовий результат (прибуток +, збиток -) від
//Реализации
При замене украинских букв на русские ошибка не исчезает.
Пришлите мне пожалуйста файл с модулем на котором «спотыкается» парсер по почте: mail@stal76.ru.
Мысль: вместо Graphviz или помимо его использовать для отображения связей MindManager
(47) Насколько я понял, MindManager — коммерческий продукт.
С ходу не нашел как его можно использовать для построения графов, если подскажите — буду благодарен.
При анализе интерфейсов с помощью утилиты ReadCFg.exe. Возникает ошибка (на рисунке).
Что посоветуете?
(49) Проверяемая конфигурация 8.1 или 8.2?
Также вышлите мне, пожалуйста, ответ по email — я вышлю вам версию программы с выводом отладочной информации.
Как я раньше жил без этого??
На первом же шаге настройки получаю ошибку:
Ошибка подключения внешней компоненты из файла C:App1C_ToolsAnalysisstparser_1.0.0.7.dll:
{ОбщийМодуль.РаботаСПарсером(23)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту):
Ошибка при загрузке внешней компоненты.
Windows 7 Max 32 bit, 1С 8.1.15.14
Что делать? 😳
(52) Вы можете установить программу Dependency Walker (http://www.dependencywalker.com/) и прислать мне по почте скриншот с результатом ее проверки dll-ки?
(53) HTTP Error 404.0 — Not Found 🙁
(54) В ссылку по ошибке добавил в конец скобку. Вот правильная ссылка:http://www.dependencywalker.com/
Указанная ошибка в 52 возникала из-за настроек User Account Control.
При загрузке данных в базу останавливается на ошибке:
«Ошибка при обработке файла C:Dats…Обработка.Настройки.Форма.Форма.Форма.Модуль.txt
В строке 1351 непредусмотренный символ как разделитель «|» (124) »
С этой строки начинается запрос. Синтаксических ошибок в нем нету.
Это ошибка или как это обойти?
(56) Пришлите мне, пожалуйста, на email часть текста модуля содержащего указанную строку.
при загрузке данных в 8.2 валится по нехватке памяти
При загрузке cf в 1С:Предприятие 8.2 (8.2.12.92) ругается , грузить не хочет , говорит о несовместимости
(59) cf сделан для 8.1.
При загрузке модулей ругается на украинские буквы как на неправильный разделитель, ну и ошибка как в (56)
Предлагаю при заполнении регистра сведений Вызовы кроме ресурса НомерСтроки также заполнять имя процедуры/функции, которой принадлежит данная строка. Это необходимо для построения косвенных зависимостей. Например необходимо установить какие процедуры/функции общего модуля необходимы для правильной работы документа Документ1, при этом:
Документ1 вызывает процедуру ОбщийМодуль1.Процедура1
ОбщийМодуль1.Процедура1 вызывает процедуру ОбщийМодуль2.Процедура2
Соответственно в отчете ОбращенияПодсистемы необходимо выводить, что Документ1 зависит от ОбщийМодуль2.Процедура2
(62) Я тоже думал о добавлении такого же ресурса.
В отчете «Анализ модуля» требуется эта информация, но она вычисляется в самом отчете.
Еще можно сделать граф интерактивным, например с помощью DGML и просмотром его в VS 2010. По крайней мере открытие текста модуля и сделать возможность выводить продолжить дерево за пределы текущего модуля. Например при первом формировании показывается только текущий модуль и вызовы из него в другие модули и вызовы его из других модулей. А затем уже можно перейти в другой модуль.
(64) А есть свободные просмотрщики DGML?
Я думаю, что в VS 2010 есть отдельная компонента которая просматривает DGML, которая может использоваться в других приложениях
Просто шедеврально! +100!!!
Все-таки нужна возможность использования внешней программы для сравнения текстов модулей. Я например использую Araxis Merge. Он например умеет показывать отличия внутри строки.
Кроме того, стандартное сравнение игнорирует регистр символов, а хэш вычисляется с учетом его, поэтому в результате хэши разные, а сравнение выводит что файлы равны
1. При загрузке больших конфигураций (УПП со средним количеством доработок) приложение начинает валиться с ошибкой «Недостаточно памяти». Нужно записывать наборы по несколько модулей, а загрузку выполнять внутри одной транзакции.
2. Если хэш модуля не поменялся — можно его не грузить и не обновлять информацию в связанных с ним регистрах сведений. Очень помогает при обновлении рабочей конфигурации
Еще необходим контроль прав доступа на конкретную версию конфигурации в зависимости от пользователя. То есть один пользователь загружает типовые, другие пользователи грузят свои рабочие. Соответственно пользователь может модифицировать только свои версии конфигурации
(68) С внешней программой мысль хорошая, тем более что программа умеет сравнивать три версии. В описании я не написал, но если видели, есть возможность сравнения модулей, функций и процедур между различными версиями.
Кроме указанных проблем при сравнении, есть еще проблема с «кривыми» разделителями строк. Также, высказывалось пожелание, при сравнении функций и процедур, учитывать впереди стоящий комментарий.
(69) 1. Ошибку «Недостаточно памяти» можно попытаться обойти, установив параметр «/3Gb» в boot.ini. Постараюсь сделать возможность переключения способа загрузки.
2. Мысль хорошая, только возникает сложность при удалении старых версий.
(70) Неожиданное для меня пожелание. Никто из знакомых его не высказывал, но согласен, что это может быть нужным.
(71) Я реализовал для себя решение проблемы с памятью и обновлением. Если интересно могу скинуть .cf.
(72) На mail@stal76.ru, я посмотрю. Спасибо.
Если под обновлением понимается загрузка, то по этому поводу я высказал свое мнение в 29-м комментарии.
При анализе интерфейсов с помощью утилиты ReadCFg.exe. Возникает ошибка (на рисунке).
(74) База, из которой выгружаете cf sql-ная?
(75) Да
(76) Попробуйте пожалуйста выполнить следующее:
1. Сделать пустую файловую базу и загрузить в нее этот cf.
2. Из созданной файловой базы выгрузите cf и запустите на нем ReadCFg.exe.
Какой будет результат?
Старый cf пока сохраните где-нибудь, он может понадобиться еще.
Указанную ошибку постараюсь исправить в ближайшее время.
(77) спасибо, буду пробовать
(78) Скиньте мне пожалуйста пустое письмо на mail@stal76.ru
Хотел посмотреть эту разработку (собственно, и не отказался от такой мысли до сих пор), но… Загрузил с сайта программы последнюю версию. Загрузить данные стандартной конфигурации УПП не смог — возникает ошибка «Недостаточно памяти». Платформа 8.2.13.205, загружал конфигурацию УПП 1.3.9.1 (но дело не в этом). Посмотрел. В обработке «ЗагрузкаДанныхОКонфигурации» в качестве реквизитов используются наборы записей регистров сведений, в которые при загрузке данных о конфигурации пишется и пишется, пишется и пишется, пока по недостатку памяти не отвалится. Решить эту проблему можно промежуточными записями этих наборов регистров и их очисткой для дальнейшего заполнения. Память, занимаемая приложением 1С при этом не растет.
1. В конце функции ОбработатьМодуль() обработки ЗагрузкаДанныхОКонфигурации перед выходом следующий код (ну, 1000 можно там заменить на желаемое):
масНаборовЗаписей = ПолучитьСписокНаборовЗаписей();
Для Каждого НаборЗаписей Из масНаборовЗаписей Цикл
Если НаборЗаписей.Количество() > 1000 Тогда
НаборЗаписей.Записать(Ложь);
НаборЗаписей.Очистить();
КонецЕсли;
КонецЦикла;
2. В процедуре ЗаписатьНаборыЗаписейРегистров() обработки ЗагрузкаДанныхОКонфигурации заменить код:
НаборЗаписей.Записать();
на код:
НаборЗаписей.Записать(Ложь);
3. Для случая, когда данные о конфигурации загружаются повторно в функции ПолучитьКонфигурациюИВерсию() в ветке, где
происходит обработка выборка перезаписи данных о конфигурации поверх уже загруженных, перед выходом из функции код:
масНаборовЗаписей = ПолучитьСписокНаборовЗаписей();
Для Каждого НаборЗаписей Из масНаборовЗаписей Цикл
НаборЗаписей.Отбор.Версия.Установить(ЗагружаемаяВерсия, Истина);
НаборЗаписей.Очистить();
НаборЗаписей.Записать(Истина);
КонецЦикла;
После этих изменений загрузка данных о конфигурации УПП у меня прошла успешно, при этом память клиента 1С не была больше 300 мегабайт.
(80) Есть в планах исправить эту проблему.
(0) Вопрос автору:
А нет в планах реализовать расчетЦикломатическую сложность модуля
(82) Показатель интересный, но не знаю, насколько он будет объективно отражать сложность связей, например, в общем модуле.
Спасибо за предложение.
(83) я сейчас пытаюсь проанализировать способ расчета величины покрытия авто-тестами конфигурации, цикломатическая сложность как показатель может для этого применяться.
Вспомнил про Вашу конфигурацию — решил обратить Ваше внимание.
(84) На счет использования в тестировании особо не думал.
Была мысль сделать отчет, который мог быть полезен для тестирования внесенных изменений в конфигурацию. Например, внесли изменения в несколько функций общих модулей. Отчет должен был бы показать функции и процедуры всех модулей конфигурации которых коснулось это изменение, т.е. то, что нужно протестировать.
я ваш фанат! 🙂 последний пару месяцев хотел такой инструмент
автору спасибо, полезная весчь
У меня при выборе пути к парсеру выдает ошибку: «Ошибка подключения внешней компоненты к файлу D:ak… : Общий модуль, работа с парсером(23): ошибка при вызове метода контекста(ЗагрузитьВнешнююКомпоненту)».
(88) Какая используется операционная система, есть ли права администратора? Если используется Windows 7, то скорее всего нужно настроить UAC (User Account Control).
win7, права администратора присутствуют.
(90) Попробуйте на время отключить UAC и проверить, будет ли загружаться компонента.
Да, спасибо огромное! Оказывает еще нужно было перезагрузиться(хотя он не оповещал, что необходим ребут для принятия изменений).
(92) Только теперь неплохо бы его включить назад и настроить соответствующим образом.
Хотелось бы попробовать вашу конфигурацию.
Все делал по инструкции с Вашего сайта(http://www.stal76.ru/ak).Только у меня при Выгрузке данных из проверяемой конфигурации появляется ошибка
{ОбщийМодуль.ОбщегоНазначения(17)}: Поле объекта не обнаружено (Параметры)
Запрос.Параметры.Вставить(Элемент.Ключ, Элемент.Значение);
Пробовал я на 1С:Предприятие 8.1, учебная версия (8.1.9.57)
на 3-х разных конфигурациях
на 14-ой и 15-ой версии Вашей конфигурации
И ещё при использование ReadCFg, выводится следующее сообщение, например
И так во всех случаях при использование ReadCFg
Создано файлов:0
Это влияет на что нибудь?
(94) Опишите пожалуйста порядок ваших действий при которых происходит ошибка. В какой момент?
(95) Сообщение программы ReadCFG говорит о том, что в вашей конфигурации нет ни одного общего модуля.
(97) Загружал конфигурацию в которой есть общие модули.
ReadCFG сообщает следующее
(99) Сообщение говорит о том, что в основном интерфейсе (главном меню программы) нет обращений к процедурам общих модулей. Это нормально.
(97) Как я,понимаю (что создано файлов=0) не влияет на дальнейшую загрузку данных о конфигурации . А создаются файлы, когда интерфейсов>1?
(100).Ок.Спасибо.Попробую