<?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='\
Хорошая статья, с картинками. Действительно для «чайников».
Самое главное (использование) слабо расписано или вообще не описано 🙁
Как работать с конфигурацией, помещенной в хранилище?
что делать, если объект уже захвачен в хранилище ?
назначение галочки рекурсия?
и т.д.
ЗЫ мы же говорим о начинающих 🙂
(2) .. ну у меня проблемы с этим не возникло, т.к. эти моменты более менее расписаны. А вот с вышеупомянутыми были вопросы, ответы на которые были найдены опытным путем.. в общем, обмен опытом для начинающих работать с системой версионного контроля фирмы 1С.
Назначение галочки рекурсия — в дереве конфигурации происходит захват не только ВЫДЕЛЕННОГО объекта, но и подчиненных ему.. т.е. если, например, выделить «узел» документа «ПриходнаяНакладная» и захватить его — то формы и макеты этого объекта будут незахвачены и над ними может трудится другой программист.. с галочкой рекурсия — будет захвачено все, что к документу относится (формы, макеты)..
Если выделить корень конфигурации, отметить галочку и выполнить захват — то получите АБСОЛЮТНО ВСЕ что входит в конфигурацию.
Если объект уже захвачен кем-то — то нужно дождаться, когда человек его поправит и освободит.. Именно этот момент позволяет избежать проблем с перезатиранием работы одного программиста другим.
Использование в одиночку — захватываем ВСЕ, делаем необходимую доработку, локально тестируем, сохраняем в хранилище с комментарием что сделано.. впоследствии, если что то не так, можно загрузить конфигурацию на момент ДО сделанной доработки.. можно посмотреть, что и где добавилось, какие изменения были сделаны в модулях — для этого нужно в меню Конфигурация/Хранилище выбрать История, выделить две строки и по правой клавише выбрать команду Сравнить конфигурации..
Использование в группе — вопрос более сложный и многообразный.. как появится опыт нашей группы — сделаю небольшое дополнение к заметке.
(3) ты не мне пиши, а в свое статью вставь 🙂 — я это и так знаю 🙂
а в статье явно будет полезнее, чем просто в комментах.
про галочку рекурсия ИМХО лучше дописать, что для прикладных объектов без нее будет захвачен только модуль объекта.
а после захвата корня конфы без рекурсии можно просто добавлять любые новые объекты
Все эти штуки с захватом выглядят как древняя CVS. Выглядит довольно жалко на фоне современных VCS (svn, git, hg)
В 7.7 можно было распотрошить конфу с помощью gcomp и пользоваться любыми удобными _тебе_ внешними средствами: например положить конфу под контроль нормальной VCS или использовать нормальные средства трёх-стороннего объединения (я использовал kdiff3).
Есть ли у Платформы 8.* средства выгрузки наподобие gcomp? Тексты модулей конечно можно выгружать/загружать пакетно, но хотелось бы выгрузить вобще всё.
(5) Это точно..
Есть ли у Платформы 8.* средства выгрузки наподобие gcomp?
Есть. Но в бета стадии — не помню названия, но здесь (на портале) есть..
Пока-что это набор относительно работающих разрозненых инструментов.
(6) (7) Насколько я понял этоV8Unpack ? Последний коммит 31.03.08… Оно ещё развивается?
Статья действительно хорошая, автор молодец. Но хочу добавить своих несколько мыслей:
1. Для полноты представления нужно было упомянуть и рассказать о сервере хранилища конфигурации. Что это за штука и с чем ее едят, соединие по tcp и т.д.
2. «можно посмотреть, что и где добавилось, какие изменения были сделаны в модулях — для этого нужно в меню Конфигурация/Хранилище выбрать История» — а если интересуют изменения в конкретном объекте, то лучше смотреть историю изменения объекта — отработает намного быстрее чем сравнение.
3. Неточность: «не забывая перед каждым объединением ОБНОВЛЯТЬ локальные БД из Хранилища — до последней версии» — каждый раз при объединении прийдется захватывать объекты, а при захвате Вы и так получете самую актуальную версию.
4. Обязательно нужно напомнить тот факт, что подключать новую конфигурацию под имеем пользователя, для которого уже есть подключенная конфигурация не следует, потому что это приведет к отключению предыдущей конфигурации. Особенно это актуально для рабочей БД, когда разворачивают бекапы и по невнимательности отключают рабочу БД от хранилища.
эм, что то еще хотел написать, но забыл … значит позже допишу
(4) Поддерживаю.
(0) Разбей статью на маленькие разделы (по одному-двум абзацам). Каждому абзацу дай заголовок. Например, «Создание хранилища», «Подключение к хранилищу», «Захват объектов в хранилище» и т. д.
Получится что-то типа FAQ для начинающих. Можно будет в тексте быстро найти нужный раздел.
Хотелось бы увидеть описания работы с сервером хранилища и через HTTP.
Автор не отметил не маловажной нюанс плюса хранилища:
Хранилище защищает от нечаянного изменения конфы. Например элемент формы, что бы не сдвинуть. А то потом сидишь и думаешь, что там изменил.
И про косяк что-то я не заметил:
При удалении объектов, если есть ссылки из других объектов, то иногда 1С сама разрулить не сможет и просит «удалите руками. плииииз» (было на ролях и рег.задании)
А еще автор не отметил крайне важные фичи:
— Использование хранилища по TCP/IP
— Использование хранилище по HTTP
Хотя может я просто чего-то не заметил… устал сильно уже
P.S. Мне бы такое описание лет 5 назад
(5) Уважаемый, не обижайтесь, но…
Вы бы сначала ману покурили как следует, а потом уже на жалость давили.
1. В CVS используется (как и в последователях CVS типа svn) парадигма конкурентного изменения контролируемого объекта. Опция монопольной блокировки там есть, но это только опция. Вы бы хотя бы аббревиатуру CVS потрудились расшифровать, которая начинается со слова Concurrent…
С моей колокольни хранилище 1С сильно напоминает SourceSafe от МелкоСофта — там все те же принципы использованы. Со всеми их достоинствами и недостатками…
2. kdiff3 хорошая программа. Но, до тех пор пока не попробуешь нормальный инструмент, хотя бы типа Araxis.
3. Про «а-ля gcomp» под 8.х погуглить религия запрещает? 😎
(9) история объекта предоставляет существенно меньшие возможности, чем сравнение, к сожалению.
Большое спасибо за статью, после чтения литературы многие вопросы остались неясными, а практический опыт (пусть даже чужой)-клад для новичка.
(12)Спасибо и Вам
Еще дополнение.
Когда работаешь над отчетом/обработкой, то удобно сохранить его во внешний файл и с ним работать, чтобы после каждого изменениях не перезапускать 1С. Так вот, возьмите себе за правило — в этом случае объект все равно захватывать. Иначе пока вы меняете внешний файл кто-то может его поменять в базе. А потом будет удивляться пропаже изменений
По поводу несовершенства хранилища (монопольная блокировка и т.п.). При нормальном распределении функционала по объектам конфигурации и небольшом количестве разработчиков (в пределах 5ти человек) в реальности ситуации когда один и тот же объект нужен двум сразу, и т.п., которые разрулены всякими крутыми упоминавшимися здесь пакетами, возникают достаточно редко, говоришь просто что тебе захваченный кем-то объект нужен и все. А если в базе один документ на все случаи жизни — и картошку продает и в трубы закапывает, тут конечно разработчиками придется в список записываться и утром и вечером отмечаться, чтобы очередь не потерять.
(Речь разумеется идет про самописные конфигурации, про типовые в этом плане ничего не могу сказать — нет такого опыта).
Еще можно сделать каждому разработчику личный общий модуль, тогда если двум человекам очень приперло одновременно работать над одним общим модулем (типа Заказчик так в ТЗ написал что должно быть в одном модуле, или база типовая и не хочется ее сильно менять) действуем так:
1. Захватываем «общий» и свой модули
2. Копируем процедуру из общего в свой , в общем первой строчкой ставим Возврат + Вызов этой функции из своего модуля. Помещаем оба модуля в хранилище, свой опять захватываем.
3. Исправлеям функцию, отлаживаем.
4. Захватываем «общий» модуль, вырезаем процедуру из своего и вставляем в «общий».
5. Помещаем оба модуля в хранилище.
Цель достигнута — из модуля «захватывается» только одна функция. Выглядит криво но еще раз: в реальности нужно очень редко.
Вопрос.
Есть измененная конфигурация и есть хранилище, конфигурация которого соответствует рабочей конфигурации. Как грамотно сделать обновление на новую версию конфы и хранилища?
(13) Я и не обижаюсь. По первому пункту вы абсолютно правы. Я начинал с svn, а c CVS как-то работать не приходилось даже. По-этому в моём представлении он был как некая древняя VCS с блокировками, на которые все почему-то всё время жаловались 🙂
Насчёт 2. Что в Araxis Merge (вы же про него?) такого особенного? Два года назад смотрел разные программы для diff/merge под винду и не нашёл ничего интересного у Araxis Merge по сравнению с kdiff3.
Выбрал то что ближе по духу и бесплатное:)
Насчёт 3. Я уже погуглил, писал ниже про V8Unpack.
Отключаюсь от хранилища, обновляю рабочую конфигурацию, выгружаю в файл. Затем захожу в рабочий конфигуратор, рекурсивно захватываю корневой элемент конфигурации, сравнить/объединить с конфигурацией из файла, потом помещаю в Хранилище.Все получится??? 😮
(20)
Непонятна цель, с которой это делается.. В норме отключаться от хранилища не нужно, даже вредно.. Если цель — правильно обновить Рабочую конфигурацию, то:
Вносим изменения из обновления в хранилище:
1) заходим в любую конфигурацию, связанную с хранилищем рабочей конфигурации, в конфигураторе
2) захватываем корень рекурсивно
3) обновляем конфигурацию файлом *.cf — сравнение/объединение
4) выполняем возврат рекурсивно
==
.. если при обновлении были внесены изменения в структуру данных БД, то придется ждать или выгонять всех пользователей..
.. если были изменены только модули — то можно обновить конфигурацию динамически (тогда изменения у каждого отдельного пользователя появятся после того, как они выйдут и снова зайдут в программу, т.е. перезапустят её)
Далее обновляем рабочую базу из хранилища:
5) открываем рабочую конфигурацию в конфигураторе
6) обновляем конфигурацию из хранилища
7) загружаем полученные из хранилища изменения клавишей F7 в рабочую БД (динамически или выгнав всех пользователей)
==
Все. Рабочая БД обновлена.
спасибо.Не надо отключаться, согласна. 🙂
Нашел по этому поводу материал ОнЛайн — что толку перепечатывать — читайте первоисточник:на сайте 1С и еще вот это вот ..
Кроме того пригодится ещеэто вот — из документации ..
(19) и для всех любителей SVN, CVS, GIT и т.д..
В отношении этих программ — в работе SVN + «Черепашка» мне пригодились даже без «растормашивания» кода 1С до исходников..
Методика такая:
Есть множество обработок, в 1С 77 они лежат в каталоге extform.. конфа старая, отлаженная, основная работа программистов — доработка под меняющиеся постоянно требования внешних отчетов и некоторых обработок.. программстов несколько — как узнать, кто и чего поменял?
Всю папку extforms загружаем в хранилище — прямо 1Совские «недобинарники».. Если заходить ежедневно и делать коммиты изменений каталога в хранилище SVN — то прекрасно отслеживается что (какой файл) и в каком порядке изменялось.. не ясно кто и что в файле изменилось.. но с «что в файле» есть небольшой «черный ходик» — мне помогло.. изменившиеся файлы берем в свой каталог, который тоже в отдельном хранилище (не связанном с ранее упомянутым).. Открываем обработку/отчет и сохраняем тексты его модуля в текстовые файлы. Все это коммитим в хранилище.
В этом хранилище можно видеть что изменилось в модулях/текстах.. только вот с формами облом..
ЧерепашкаSVN очень хорошо жала все файлы — каталог в 43Мб с обработками и т.п. ужался до 14 Мб и рос. очень медленно.. Секрет медленного роста — устройство хранилища SVN таково, что он реально коммитит только изменения даже у бинарников (перезаписывается только разница даже в exe-шниках) — в итоге 2 раза погрузив один и тот же файл (изменена только дата или имя, например), объем увеличится на.. менее чем на 1КБ..
===
Интересно будет попробывать Черепашку с ТЕКСТОВЫМИ файлами от 1С 8, которые оно получает при выгрузке модулей всех конфигураций с помощью СТАНДАРТНОЙ команды: Конфигурация / Выгрузить файлы конфигурации.. жаль при этом формы не выгружаются — но все ж..
Никто не пробовал?
(24) Вот как раз для подобного и был придуман GComp.
все делается автоматически вместо ручного «Открываем обработку/отчет и сохраняем тексты его модуля в текстовые файлы» 🙂
там тебе и модули, и формы, и для конфы — права, интерфейсы, ИД и т.д.
мы юзали результат разбора конф и внешних отчетов через GComp как в CVS, так и в SVN.
По поводу 8-ки — нет проблем, только очень медленная выгрузка и только модули, нет всего остального.
Лучше уж юзать хранилище, чем извращаться с выгрузкой.
(24) (25) Я вот тут подумал, вместо того чтобы корячиться над разбором cf файла, ведь наверное намного проще выгрузить метаданные в формате подобном GComp написав внешнюю обработку (т.е. средствами самой 1С)?
Вот только неудобно что запускать её придётся в режиме Предприятия. Есть ли возможность запустить внешнюю обработку в режиме конфигуратора? (наверное нет).
(26) Из режима Предприятия штатным способом нельзя достать тексты модулей 🙁
6. Если Вы хотите исправить права доступа на объект, захватили его — а права доступа по прежнему недоступны — захватите соответствующую роль.
— для исправления прав нужна только Роль, объект — не нужен.
Странно, не было никаких проблем когда несколько человек сразу изменения помещали, разве что подтормаживало малость.
Здравствуйте!
Нигде в инструкциях не прописано элементарное:
— чтобы поместить измененный объект в Хранилище, необходимо захватить корень.
Вопрос: захватывать рекурсивно?
Замечание: Захват корня для помещения измененных объектов, лишает всякого смысла понятие «коллективной работы». Получается необходимость договариваться об очередности. Что весьма проблематично, если разработчики в разных городах и с разным приоритетом.
А вы работаете как-то иначе?
Остался неясным вопрос — если рабочая база от хранилища была отключена кем-то, а народу много — как посмотреть, кто этот нехороший человек?
В журнале регистрации прямой записи об этом нет, можно лишь увидеть, кто входил в конфигуратор и методом допроса 😎 установить.
Еще идеи как выяснить — есть?
(29)
если еще актуально, то всё просто
Саму конфу НЕрекурсивно нужно захватывать только в том случае, если требуется добавление к примеру, справочника, документа, регистра, перечисления и т.п — т.е. корневого объекта структуры метаданных. Причем, разработчик после захвата конфы и добавления, например, справочника может его тут же подлить в хранилище и подлить саму конфу. А уже после этого опять захватить только этот объект и работать с ним, не занимая всю конфу.
Полностью (рекурсивно) захватывать объект можно, если не планируется работа других с какими-либо составными частями — формами, макетами и пр. В противном случае, каждый может захватить своё и подливать своё обособленно: если нужно менять структуру и писать в модуле объекта — захватываем сам объект, если формы — только формы.
(30)
как узнать, кто отрубил базу от хранилища? хм… в истории хранилища какие тачки к нему подключены/отключены кем и когда не запоминается, да… тогда, наверное, никак 🙂
ну ваще, чисто административная проблема, имхо. Т.е. такое, да, бывает когда:
а) программист просто ошибся когда выскочил тот самый диалог и ткнул не в ту кнопку. Сам так ошибался не раз. Лечится просто опытом, внимательностью и здоровым сном по ночам )). Тем более, что некритично, ибо в рабочей базе, подключенной к хранилищу, никто ж не кодит, да? 😉 (особенно в её отключенном состоянии)
б) программист — новичок, лечится опытом и доведением до сведения, что отключать рабочую базу от хранилища некрасиво
Т.е. все ситуации — это программисты, а с ними можно/нужно договариваться.
ЗЫ: в) если программистов как кур, и договориться нереально, то переходите на поставки обновлений — тут всё уже четко.
Как добавить в закладки 🙂
Очень полезная статья, я ранее никогда не работал с хранилищами конфигураций, но благодаря этой статье сразу разобрался что к чему. Автору респект!
— Если Вам надоело выгонять пользователей для того, чтоб внести изменение в конфигурацию..
это относится только к динамическому обновлению? Или все таки как то можно обновить конфигурацию БД не выгоняя пользвателей, с помощью хранилища БД. Было бы очень хорошо если такой способ есть 🙂
Начал работать в команде, в связи с чем знакомлюсь с хранилищем, но почитав информацию по нему понял, как выгодно разработки, где я работаю один, так же делать через хранилище.
(31) romansun, у меня возник такой вопрос: наша рабочая база подключена к хранилищу под отдельным пользователем (для ускорения накатывания изменений, ПОМЕЩЕННЫХ в хранилище всеми разработчиками), а сама разработка (захват и помещение объектов хранилища b т.д.) ведется в других, личных «тестовых» базах, подключенных под другими пользователями.
Когда нужно накатить накопленные изменения, я просто делаю в рабочей «Получить из хранилища». Однако если я не планировал обновляться, но нажимаю «Получить из хранилища» и текущая конфигурация помечается как изменённая. К сожалению, кнопка в меню «Конфигурация->Конфигурация базы данных->Вернуться к конфигурации БД» недоступна и приходится обновляться в рабочей базе, иначе у пользователей будет выходить вопрос «Конфа изменена, уверены, что хотите продолжить».
Вопрос: можно ли как-то выйти из этой ситуации без обновления рабочей базы (кроме такого варианта, как отключиться от хранилища и воспользоваться ожившей кнопкой «Вернуться к конфигурации БД» и подключиться только непосредственно перед обновлением)?
(36)вопрос понятен
как быть? эм… ну, технически, я так понимаю, никак. Конфа подключена к хранилищу, соответственно и работает по правилам хранилища. Хотя, не исключаю, что я чего-то не знаю, да ))
Имхо, проблема всё та же — человеческая:
Бейте себя по рукам, что тут попишешь… ))
Либо переходите на механизм выпуска обновлений — он несложен, и логически и методологически более верен.
Спасибо за статью! Все очень четко и по теме…
Подскажите, а можно ли обновить рабочую базу на определенную версию или частично?
Или выгрузить из хранилища конфигурацию определенной версии?
Пример:
Есть долгосрочный проект, который например месяц пишется. А между этим проектом есть много мелких изменений.
И надо организовать так, чтобы эти мелкие изменения можно было накатывать, а доработки длительного проекта пропускать.
«Или выгрузить из хранилища конфигурацию определенной версии?»
Это можно — в истории хранилища выбираете нужную строку (версию) и выгружаете (через контекстное меню)
—
«Подскажите, а можно ли обновить рабочую базу на определенную версию или частично?»
Можно и то и другое — через сравнение/объединение.. но всё это черевато, т.к. бывает (не всегда, но часто после даже стандартного обновления — происходит программная обработка данных — все же замечали, да??), что обновление сопровождается обработкой и корректировкой данных. При откате обратно — (1) нужно ли и (2) как обеспечить обратные действия??
Здравствуйте!
Вижу у вас есть хороший опыт работы с хранилищем конфигурации. Буду благодарен, если поможете разобраться с проблемой.
На сервере с адресом 1.1.1.1 запущена служба «Сервер хранилища конфигураций». В параметрах службы указан каталог -d «F:Repository»
1С:Предприятие 8.2 (8.2.19.90) — версии 1С и сервера конфигураций совпадают.
Есть папка Repository — на нее даны все права.
Пытался создать хранилище сразу указав путь, как tcp://1.1.1.1/Repository
Начинает анализировать структуру, потом конфигурировать файлы хранилища в
результате пишет — ошибка создания хранилища по адресу tcp://1.1.1.1/Repository
Хорошо, тогда предлагаю создать через файловый доступ.
Создает, в Repository появляется файл 1cv8ddb.1CD
Предлагает подключиться, я отказываюсь и пытаюсь подключиться через tcp://1.1.1.1/Repository
В результате появляется сообщение, «Хранилище конфигураций по адресу: tcp://1.1.1.1/Repository не обнаружено».
А вот, если указать файловый вариант подключения \1.1.1.1F$Repository
Подключение выполняется.
Что я не так делаю? Права полные. Служба работает и с каталогом F:Repository связана.
Заранее спасибо за ответ.
(42) Malvo4ka
Слышал звон, не знаю где он..
Подскажите, пожалуйста, а для заливки типовых обновлений какие-то особенности имеются? Или просто захватываем рекурсивно корневой узел, Поддержка Обновить конфигурацию, обновляем, помещаем в хранилище? Обновится ли таким способом конфигурация поставщика в рабочей базе и в ИБ разработчиков? Или обновляется только основная конфигурация?
(44) aniks3000, Тоже интересует этот вопрос
(44) aniks3000, Захватывайте рекурсивно корень, выполняйте обновление как обычно, помещайте в хранилище. Конфа поставщика во всех подключенных обновится нормально.
(40) подскажите, может в курсе, планирует ли фирма 1с развивать хранилище конфигурации? Интересует тотже вопрос, что уhttp://forum.infostart.ru/forum24/topic30408/message1186832/#message1186832 .
Есть у нас тестовое хранилище конфигурации, в которое разработчики помещают доработки, которые должны быть протестированы тестировщиком. И если из десяти задач тестировщик протестировал 9, а одну не успел, то мы бы ее не загрузили в рабочую базу. Вариант перейти на гит кажется слишком громоздким, у нас 82 и обычные формы.
Подскажите, пожалуйста, как удалить объект из конфигурации, подключенной к хранилищу?
(48) nadjav, захватить корень рекурсивно, если объект на поддержке, то дополнительно снять его с поддержки и потом можно будет удалить.
(49) (48) Не совсем так.
Еще нужно все роли захватить, иначе после удаления не удастся сделать коммит (помещение) в хранилище
(50) artbear, я же написал «захватить рекурсивно»
(51) Ага, не обратил внимание.
Но рекурсивный захват, ты же знаешь, зло еще то 🙂 и скорость, и монопольность и т.п.
коллеги, а кто-нибудь делает бэкапы хранилища? если да, то какими способами?
нашёл только вот этоhttp://fs.kursypo1c.ru/free/articles/programmist1C/ %20-%20Хранилище%20конфигурации.pdf
(53)
На сервере с линуксом ночью сохраняю каталог с хранилищем с помощью rdiff-backup.
1С-ка уже пару раз повреждала хранилище, так что бекап надо делать обязательно.
Бекап делается как зеркало+инкрементальный, а так как там куча мелких файлов, которые особо не меняются (в основном только добавляются), то получается довольно эффективно.
В cron прописано: