<?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 По дбф.КоличествоПолей() Цикл
{Обработка.СверткаИБ.Форма.Модуль(180)}: Перед выполнением операции нужно открыть базу!
Для а = 1 По дбф.КоличествоПолей() Цикл
{Обработка.СверткаИБ.Форма.Модуль(180)}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
Основная база не была запущена.
(2)
Обработка последовательно обрабатывает следующие файлы:
1cv7.md — конфигурация
1SJOURN.DBF — журнал документов
1SCRDOC.DBF — ссылки документов
DH*.DBF — шапки документов
DT*.DBF — таб.части документов
RG*.DBF (по индексу RG*.CDX) — итоги по регистрам
RA*.DBF — движения по регистрам
1SCONST.DBF (по индексу 1SCONST.CDX) — константы и периодич.реквизиты
(2) продолжение
SC*.DBF — справочники (по необходимости)
1SBLOB.DBF — длинные строки
1SSYSTEM.DBF — системные установки
1SSTREAM.DBF — последовательности
1SJOURN.DBF (по индексу 1SJOURN.CDX) — журнал документов
Удаление всех *.CDX
Сжатие всех *.DBF
(2) продолжение
Поэтому все указанные файлы должны присутствовать в выбранной папке и не должны быть открыты ни в 1С (даже в разделенном режиме), ни в какой-либо другой программе (например, просмотрщик DBF файлов).
(2) еще попробу переиндексировать базу перд сверткой, может, нарушены индексы
Будет ли работать на бюджетной конфигурации?
Пока работает только с компонентой «Оперативный учет» (сворачивает регистры). Свертка бух.итогов и проводок в отладке.
Чёрт! Черт! Черт! 😀 Просто супер! Спасибо огромное автору! 5 гиговая база свернулась за 40 минут в 1.6! 😀 Причем свернулась корректно! Респект и уважуха автору! 😀
(9) а + слабо поставить? 😉
Уважаемый автор! 🙂 исправился! Прошу прощения что тупанул и сразу не поставил. 🙂 и еще раз спасибо. Моя собственная обработка свертки сворачивала базу 5 гиг за 6 часов…. 😉 так что вашу я ОЧЕНЬ оценил.
(9) для меня главное — «Причем свернулась корректно!»
и, конечно, скорость.
благодарю за отзыв
Для а = 1 По дбф.КоличествоПолей() Цикл
{Обработка.СверткаИБ.Форма.Модуль(180)}: Перед выполнением операции нужно открыть базу!
Для а = 1 По дбф.КоличествоПолей() Цикл
{Обработка.СверткаИБ.Форма.Модуль(180)}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
У меня тоже самое только при запуске «Свертка ИБ»….Я что-то сделал не так?
Все нормально.Разобрался. 😀 .Начал сворачивать на копии.Посмотрим ,что получиться…… 🙂
(0) Есть ли смысл использовать объект XBase, когда можно всё и так свернуть, используя 1cpp и прямые запросы ? И не надо иметь для этого стороннюю базу..+ сворачивать таким способом можно хоть в dbf, хоть в скуле..
Да.. недостатки:
1.нужно хотя бы ставить флаг проведенности у документа СверткаИБ
2.нет возможности правки документа СверткаИБ (разве что «руками»)…
3.Теряется вся аналитика..по кред.докам/партиям и т.д..
4.Будут битые ссылки в справочниках/документах..нужно ТиИ хотя бы. потом
+15 да еще… Не у всех периодичность хранения останков «месяц»… что тоже будетиметь плачевный результат..
+ зачем писать функции перевода в др. систему счисления, когда есть 1cpp и штатные функции самой 1с-ины
_IdToStr(ДесЗначение)
Уж не знаю что за базы вы сворачивали, но моя база 5.5 гб 600 т.док сворачивалась сутки, и при этом на обработке регистра «ПартииОтданные» 1ска вылетела я с++ runtime ошибкой, без каких либо разъяснений. И чтож теперь делать то?
(17) Хех, удалил индексы, сжал базу (ужалась до 2.5Гб) (сворачивал на 1.10.09, так что у меня еще осталось 140 тыс. документов). И тупо запустил свертку еще раз, вот теперь она действительно быстро часа за 3 все доделала. Потом еще час на свертку итогов. И вот сейчас глядя на остатки по регистрам могу сказать — Все отлично! Копейка в копейку на 1.01.10 🙂 +
При выборе базы пишет «Ошибка открытия ИБ».
«амд.Открыть(КаталогИБ+»1Cv7.MD») = 3″, а не < 2.
ActiveMD.dll зарегистрировал.
Что я не так делаю?
(19) Разобрался. Для SQL базы работает?
(16) А что будет если периодичность не 1 месяц, у меня например 5 дней, и вроде бы нормально свернулась, правда конечно не за 40 минут.
база не большая 160 метров. Свернулась за несколько минут.
Остатки свернулись нормально. Запустил тестирование и исправление ИБ.
Тест физической целостности проходит нормально. А вот тест логической целостности уже двое суток идет ). Мне просто интересно через сколько он закончится )
Всех с прошедшими наконец праздниками! Спасибо за комментарии.
Кое-что подправлено и выложено сегодня (11.01.10).
Теперь по конкрентным вопросам.
(15) (16) — разработка делалась изначально на xBase, 1cpp было добавлено в самом конце для ускорения поиска в таблице значений (объект «ИндексированнаяТаблица»), в принципе, замечания Ёпрст по поводу использования 1cpp и прямых запросов правильны и будут учтены в следующей версии.
(16) (21) с периодичностью остатков тоже проблемы будут решены, просто в моей базе периодичность была месяц.
И вообще, эта разработка пока не тянет на универсальную, потому что делалась в «пожарном» режиме для конкретной базы. Поэтому еще раз благодарю за замечания и предложения, будем двигаться дальше.
Шикарно. Прям спас. Аналогично база на 6 гигов -> 25 минут и база в 200 метров без косяков
А я передумал… При более детальном разбирательстве, выяснилось что не пошли остатки по покупателям, поставщикам и партиям отданным. Все остальные регистры в норме. Причем и на 6гб и на 200мб. Базы совершенно разные, организации тоже, слегка модифицированные торговли… В маленькой базе пропали полные наименования номенклатуры, адреса и телефоны физ.лиц. Ну видимо обновление это исправляет. Маленькую базу могу предоставить для опытов 🙂
Остатки не перенесены вообще 😮 . А документы все благополучно удалились. Что сделано не так?
(26) чем проверил, что останков нема ? В RA и RG должны быть записи..от документа СверткаИБ
Остатки по складам проверяю обычным отчетом «Остатки ТМЦ», должен быть конечный остаток — там пустота. По контрагентам тоже самое. Все сделано по инструкции.
(28) Ошибки писал при этом (при свёртке)?
Что в самих RA и RG ? Например, в любом останковом регистре ? Есть чО?
Ошибок не писал.
В регистрах ничего нет. 🙁
Извиняюсь, что не отвечал — работы навалилось.
(26) (28) (30) — остатки переносятся следующим образом: на 1 число в начале дня создается документ «СверткаИБ», все остатки на конец 31 пред.месяца пишутся как движения этого документа, поэтому на 31 не будет никаких остатков. нужно смотреть движения и остатки за тот месяц, в котором документ «СверткаИБ.
(25) — обратись в личку, думаю это связано с ошибками в пред.версии. базу тоже можно посмотреть, чем больше вариантов для тестирования — тем лучше.
+! Однозначно! Потестил… Нашел косяк… После свертки, при проверке регистра «Покупатели», обнаружилась куча записей с битыми ссылками (объект не найден). Т.е. по договору часть записей привязались к доку «СверткаИБ», а часть (большая) нет… По моему т
Версия от 11.01.10 пошустрей…Но у меня при обработке движений ОстатковТоваров 98%
Выдает ошибку
дбф.УстановитьЗначениеПоля(Наименование,ПолучитьПусто(рек.Тип));
{Обработка.СверткаИБ.Форма.Модуль(736)}: Не соответствие типов!
А после отработки корректировки служебных данных:
Для а = 1 По дбф.КоличествоПолей() Цикл
{Обработка.СверткаИБ.Форма.Модуль(180)}: Перед выполнением операции нужно открыть базу!
Для а = 1 По дбф.КоличествоПолей() Цикл
{Обработка.СверткаИБ.Форма.Модуль(180)}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
Обработка останавливается и не завершается
В результате регистры ОстатковТоваров битые. (объект не найден)
Все делал по инструкции.Что-то не так?
Конфа- слегка модифицированная торговля….
(31) Свернул маленькую базу версией от 11.01.10, справочники в порядке, остатки по контрагентам тоже… Эхх еще бы успеть свернуть заново 6гб ))
Здравия! свернул типовую ТиС с «раздолбаной последовательностью док.» за 4 года за 3 часа. Всё было на ура, пока не заглянули в спр. Номенклатура (длинные наименования почему-то пустые были и на печать в доках пустота. Перезалил справ.универсальной выгр./загр. Всё тип-топ.). То же самое с спр. Контрагенты (не у всех реквизиты перенеслись. Лекарство — перезалил справ.универсальной выгр./загр.) Создал в старой БД док. Инвентаризация, перенёс его в нов. БД и на основании, документом прихода внёс корректные остатки на начало. Пока всё — Гуд! (Большой + ) и (маленький — ).
Могу отблагодарить по яндекс-деньгам(давайте счёт).
Заказы принимаете? 😎
Имеет смысл собрать «ремкомплектик инструментов» по свёрткам ТиС, Бух, ЗиК самых эффективных и быстрых… (?)
Здравия!
Господа призываю очень внимательно проверять остатки по регистрам! Т.е. не просто по итоговым сумам, но и в разре записей! Т.к. как я уже говорил есть реальный косяк с привязкой пустых ссылок! Не в обиду автору!
(38) косяка с привязкой нет. есть простой вопрос о свертке базы — или вы храните документы, на которые есть ссылки (в регистрах, например), (тогда нет смысла в свертке) или вы их удаляете. если реквизит имеет тип документа определенного вида, то он будет очищен, если просто «документ» или «неопределенный», тогда будет ссылка на документ свертки. по-моему, логично.
Проблемы со сверткой могут возникнуть из-за того, что платформа 1с 7.7 игнорирует операционную систему (100% загрузка процессора, или 25% на 4-х ядерном и т.п.). Во время свертки НЕ НУЖНЫ параллельные процессы. Особенно важно — те, что работают с hard’ом, raid’ом и т.п.
Наверное, правильнее было назвать разработку не «свертка», а «обрезка» ИБ.
(40) Действительно, когда я первый раз запустил «обрезку» базы, у меня параллельно работало в рабочей копии базы 40 человек, и кроме них еще одна копия базы сворачивалась другим способом. И свертка заняла сутки. Второй раз делал ее ночью, все лишнее убил, в результате за два часа управился. Но все равно есть у меня одна проблема, но она скорее не с самой сверткой, а с базой. Дело в том что раньше криво был поставлен учет проданных товаров, грубо говоря весь товар отпускали через реализацию на комиссию, в результате у меня регистр «ПартииОтданные» раздуло до гигабайта, а отчет комиссионера никто никогда не делал. В итоге чтобы получить долги контрагентов нужно было застрелиться, предварительно посчитав сколько денег пришло и сколько товаров было отгружено (. Собственно проблема в том что свертка вылетает на этом регистре где то на 64% с runtime ошибкой (не зависимо от загрузки сервера). Приходится делать сжатие и снова запускать. И тогда у меня все регистры сворачиваются правильно, кроме партий отданных. Я думаю вообще удалить движения по этому регистру из «СверткаИБ» и скорректировать долги по контрагентам. Наверное так будет проще всего.
А есть ли способ передвинуть уже готовый документ «СверткаИБ» на день раньше? Чтобы на 1-е число получились начальные остатки. Я пробовал действовать в разрез с инструкцией, т.е. ввел в оригинальной базе документ 30.10.09 в конец дня. Но тогда у меня все документы за октябрь сохранились в базе и вышло что попало.
(38) Хм… Суть в том, что сворачивалась (практически типовя ТиС). При контроле итогов после свертки сумма итоговая по Покупателям сошлась. Проверил по конкретному контрагенту с детализацие по докам и…. Фиг! Т.е. полезли долги. Привязанные к док «вертка ИБ». Посмотрел итоги по регу и точно! Выходит что если галку детализация по докам движения убрать то все гуд если поставить, то та часть доков что привязалась вылазит в долг. Думаю не надо обяснять почему так… 😉 Думаете не косяк? Как мне кажется все битые (удаленные) ссулки должны вязаться на док Свертка ИБ тогда итоговые суммы ессно будут падать в 0.
(42) Отдельный комментарий на:
<Дело в том что раньше криво был поставлен учет проданных товаров, грубо говоря весь товар отпускали через реализацию на комиссию, в результате у меня регистр «ПартииОтданные» раздуло до гигабайта, а отчет комиссионера никто никогда не делал.»>
Если бы делали «Отчет комиссионера», то регистр раздулся бы еще больше.
А что касается вылета на 64% по runtime — это нехватка памяти. я тестировал свою обработку на ноутбуке — вылетала такая ошибка на 2-х из 5 тестируемых баз. на серверной платформе (конфигурация в описании) — 1 раз, на домашнем под 7 ultimate с 4Г памяти и обычным SATA — ни разу. в чем проблема?…
(44)
<Думаете не косяк? Как мне кажется все битые (удаленные) ссулки должны вязаться на док Свертка ИБ тогда итоговые суммы ессно будут падать в 0.>
Делать ссылку на документ можно только если реквизит имеет тип документ того же вида, или «Документ» неопределенного вида, или «Неопределенный». иначе проблемы со ссылочной целостностью.
(43) по поводу начальных остатков.
уже обсуждаю этот вопрос в личке — говорят: «надо остатки на начало». на вопрос «зачем?», для налоговой, бухгалтерии, взаиморасчетов и т.п. — ответа пока не получил. если нужно — доработка займет 15 минут. согласен сделать.
(40) доп. комментарий:
неправильно сказано: не «1с игнорирует операционную систему», а последователи Билла Гейтса не выдерживают стандарты. извинения гг Нуралиевым.
(47) Основное конечно взаиморасчеты, так как бухгалтеров смущает в актах сверки отсутствие начальных остатков.
(47) <Делать ссылку на документ можно только если реквизит имеет тип документ того же вида, или «Документ» неопределенного вида, или «Неопределенный». иначе проблемы со ссылочной целостностью.>
Уважаемый автор вы безусловно правы! 🙂 Естественно я имел ввиду только те ссылки, которые являются документами! Надо разбираццо! 😀
Сдраствуйте!!
в конце оброботки «Свертка ИБ» выдаёт ошибку
»
Для а = 1 По дбф.КоличествоПолей() Цикл
{Обработка.СверткаИБ.Форма.Модуль(180)}: Перед выполнением операции нужно открыть базу!
Для а = 1 По дбф.КоличествоПолей() Цикл
{Обработка.СверткаИБ.Форма.Модуль(180)}: Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
»
(сворачиваю Бухгалтерию 7.7)
выяснил что не хватает файла 1SSTREAM.DBF
вопрос как это можно полечит???
зараниее Спасибо!!
Здравствуйте! Помогите!! ТиС 8.7. Все сделано по инструкции. При открытии каталога базы «Ошибка открытия ИБ!» 🙁 🙁 🙁 Конфигурация 7.70.873
(51) Господа, по-моему оперелено в кописании «Свертка базы 7.7 Оперативный учет» (Оперативный учет!!!).
(52) не думал, что еще кто-то работает на версиях ТиС менее 9
(53) -исправление ошибок:
(51) Господа, по-моему определено в описании: «Свертка базы 7.7 Оперативный учет» (Оперативный учет!!!).
для (52) могу предложить стукнуть в личку
(49) еще раз вопрос — «Оперативный учет» потому и называется оперативным, что в нем контролируются ОПЕРАТИВНЫЕ (читай ТЕКУЩИЕ) остатки. ЗАЧЕМ начальные на 01.01.??. встречный вопрос — если есть остатки на 31.12…, а нет на 30 11…, то как?
(57) Да уже в принципе не важно 🙂 В любом случае спасибо огромное за обработку
(53) 😮 поторопился!!
подскажите существует, что-то подобное для Бухгалтерского учета!!!
(54) Работает, и весьма активно работает. И сейчас ему очень плохо так как надо ОЧЕНЬ срочно обрезать базу под нуль.
(56) простите мне мою темноту 😳 , но как и чем стучать в личку.. 🙂
ТОже проблемы при свёртке ТиС8.7… После окончания сворачивания 1С зависает при попытке ТиИ базы… 🙁
(59) Я сломал ногу (физиологически, левую), поэтому приостановилось на время разработка. но бух. итоги обязательно будут в свертке.
(61) щелкнуть на моем ник’е, потом — «написать сообщение»
(60) под нуль база обрезается проще: там не нужны остатки и документы. для упрощения: удаление всех DH*, DT*, RG*, RA*. (правда, при этом все-таки остается периодика и длинные строки). но база работать должна.
еще раз хочу сказать: моя разработка — это не коммерческая и не финальная версия. просто хотелось предложить идею и услышать замечания о багах и, может быть, предложениях. все базы протестировать, ессно не смогу, но с версией ТиС 8.7 интересно. можно мне отправить после личной связи (дам мыло и аську).
(63) скорейшего выздоровления.
Буду ждать ваше решение по свертке «Бухгалтерского учета».
И будет ли она сворачивать итоги по нескольким Планам счетов??
Версия обработки — от 11.01.2010
Версия ТиС 875
После свертки База зависает на ТиИ (где-то на константах)
В Обработке «СверткаИБ» закомментировал строки с 746 по 801 (отвечают за свертку периодических реквизитов и констант) всё стало работать.
Не стал разбираться до конца, но видимо где-то ошибочка при свёртке периодических реквизитов.
Вопрос автору:
1. Можно ли посмотреть этот случай?
2. Не очень ли критично не сворачивать периодические реквизиты и константы?
P.S. Автору скорейшего выздоровления
отлично отработало, спасибо
Можно ли при работе свертки прерывать ее работу, а потом запускать заново?
(70) Категорически нет
Подскажите, эту свертку можно применять для SQL-ных баз?
(72) в данном варианте -нет
Не знаю с чем было связано следующее. После свертки базы, содержащей пять разных фирм, в справочнике фирмы были перепутаны полные наименования.
Дополню, каша с периодическими реквизитами в справочнике фирм.
(75) стесняюсь спросить — а какие периодические реквизиты есть в справочнике фирм?
Отличная свертка, с первого раза сделала все без нареканий! Спасибо огромное!
(76) У меня ТиС для Украины и в нем периодические руководители, наименования, адреса.
Нельзя ли в документе Свертка не разбивать на партии движения (я так понял), а сворачивать. У меня после свертки не проводился расходный документ. Остатки были, а вот на партию в документе Свертка ругался.
Спасибо, отличная работа, очень помог и бесплатно) хороший человек, спасибо)
Грац) Обгоняет, пожалуй, все выложенные на ИС аналоги.
http://infostart.ru/public/14740/ , хотя скорости явно не прибавит.
Для дальнейшего переноса между базами напрашивается структура документа свертки по аналогии с
Косячок: 1SSTREAM.DBF есть не везде (Аналит: Аптека 5.0 проф. релиз 4.00)
Хорошая вещь.Чуть-чуть под свое подшаманил…И песня…
(80) Косячок: 1SSTREAM.DBF есть не везде (Аналит: Аптека 5.0 проф. релиз 4.00)
Честно говоря, там много косяков — нет проверок на типы установленных компонент, на существование файлов, на версии компонетов и конфигураций и т.д. и т.п.. Делался как очень срочный заказ, а выложено как идея. Кто понял — тот доработает. ((81) Чуть-чуть под свое подшаманил…). Кому помогло — рад.
Если кому нужны бухитоги (недавно сам столкнулся) или еще что — это обсуждается. Будет готовый продукт.
Обработка очень помогла. Автору СПАСИБО! Надо было _срочно_ резать три базы торговли, уперлось в ограничение на размер DBF, что бы я делал без этой обработки — не знаю… Не успеть самому быстро написать подобное. Еще раз спасибо!
Плин, у человека на 5й странице уже было:
«Ошибка открытия ИБ».
«амд.Открыть(КаталогИБ+»1Cv7.MD») = 3″, а не < 2.
ActiveMD.dll зарегистрировал.
Он разобрался, а в чем дело не сказал. Сижу в отладчике и не могу понять.
Громадное спасибо. Использовал для большой распределенной базы (10Гб). Учитывая цейтнот (нельзя остановить работу в базе) за ночь обрезал.
(84) Описание метода Открыть(,);
Синтаксис: Открыть(<ИмяФайла>,<Пароль>)
Назначение: открыть файл конфигурации
Возвращает: Число.
0 — удачное открытие;
1 — открыто в режиме «только-чтение»;
2 — ошибка открытия по неизвестной причине;
3 — неправильный пароль.
Параметры
<ИмяФайла> Строка .Имя открываемого файла
<Пароль> Строка. Пароль для защищенной конфигурации
Можно попробовать для незащищенной конфигурации указать в качестве пароля пустую строку. Также ошибка может возникнуть, если MD-ник уже открыт (в конфигураторе, мониторе или предприятии).
Спасибо автору за ответ. Тож подумал вчера, что дело в пароле, переименовал Users.usr, не помогло. Щас дошло, что на конфе у меня тож пароль стоит. 🙂 Снес пароль — обработка запустилась, конфа — переписанная ТиС, записал результаты отчетов по контрам и товарам, запустил обработку. Пока шуршит. Жду.
09.08.10 выложено обновление обработки (см. в описании). Сделано это потому, что большинство ошибок, о которых мне пишут в личку и аську («Ошибка открытия ИБ»), связаны именно с тем, что конфигурация запаролена. Хотя зачем это делать, никак не могу понять… Также введена проверка на присутствие файла последовательностей (1SSTREAM), так как во многих самописных конфигурациях последовательностей обычно нет, а закомментарить обработку этого файла, видимо, не желают.
Жалко, что весной не нашел твою обработку, пришлось самому писать. Но сделал только минимальный функционал, по снятию с проведения документов (удаление записей о движении в регистрах). Остальное программно. Еще может кому пригодится: немного отсрочить конец большой базы dbf, если самый большой файл rg*.dbf, то можно попробовать удалить из него записи с нулевыми значениями по всем ресурсам. Один раз меня это спасло.
(89) «Еще может кому пригодится: немного отсрочить конец большой базы dbf, если самый большой файл rg*.dbf, то можно попробовать удалить из него записи с нулевыми значениями по всем ресурсам.» —
это (и не только это) и делается во второй обработке «Свертка итогов».
1. Каким образом можно удалить документ «Свертка ИБ»?
2. При помощи чего можно отредактировать движения документа «Свертка ИБ»?
2.1. Если это возможно, то при помощи чего?
(91) Документ «Свертка ИБ» не удаляется, не делается непроведенным и пр. интерактивно. Его движения тоже отредактировать нельзя. Это фактические остатки предыдущего периода, причем все документы за этот период физически удалены. Т.е. период закрыт и движения в нем редактировать нельзя. Поэтому рекомендуется его делать после всех регламентных операций по закрытию периода. Удаление документа и его движений будет сделано автоматически при следующей свертке. Корректировка остатков может быть произведена только обычными документами, имеющимися в конфигурации.
Также можно удалить или сделать документ непроведенным программно (например, из какой-нибудь обработки) или вручную, скорректировав запись журнала документов и записи регистров.
Удалять программно пробовал, не удаляет и не помечает на удаление!
(93) Если ты пробовал методами 1с — Удалить() и СделатьНепроведенным(), тогда не получится. Нужно прямое обращение к dbf — файлам журнала, ссылок документов и движений регистров.
А если не секрет, зачем его удалять?
Автору большое спасибо! Отличная скорость обработки, не ожидал такого. На базе в 13 гиг свернулось часа за 3, если считать только время выполнение самой обработки. Правда пришлось заменить использованные ТЗ на Индексированные таблицы, так как объемы большие (регистр ПартииНаличие в районе 700000 записей) и 1Ска падает как известно от такого дела.
Еще вопрос возник, почему обработка заявлена как «Свертка ИБ 7.7 Оперативный учет»? Бух итоги тоже ведь сворачивает.
(95) «Еще вопрос возник, почему обработка заявлена как «Свертка ИБ 7.7 Оперативный учет»? Бух итоги тоже ведь сворачивает.» —
а вот это для меня открытие. Спасибо, конечно, за положительный отзыв, но нельзя ли пояснить, откуда такое мнение? Я вообще-то бухитоги и проводки не сворачивал. Может, они просто остаются в базе с неверными ссылками на удаленные документы?
Вообще да, конечно это ссылки на удаленные документы. Это так показалось из-за того, что БИ были свернуты на более раннюю дату чем ОУ 🙂 Придется чето думать…
Огромное спасибо. Выручила обработка уже не раз. Вещь.
Корректно и быстро: 1.1 Гига база свернулась в 200 Мб — за 15 минут. Автор — молодчинка -> +