Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих)




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

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

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

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

99 Comments

  1. vit317

    В обработке при отвязке предопределенных элементов (план счетов задвоен) выдается ошибка {Форма.Форма.Форма(179)}: Ошибка при вызове метода контекста (Записать)

    ОбновляемыйОбъект.Записать(); по причине:Не удалось записать «02 (Счет бухгалтерского учета)»!

    Пробовал так же отвязать элементы справочника «Виды контактной информации» эффект тот же {Форма.Форма.Форма(179)}: Ошибка при вызове метода контекста (Записать)

    ОбновляемыйОбъект.Записать(); по причине: Не удалось записать «Адрес для информирования (Вид контактной информации)»!

    Reply
  2. ekaruk

    (1) vit317, Не должно быть таких проблем. Там очень простой код и запись в режиме обмена данными. Как вариант, у Вас нетиповая конфигурация и есть какой-то свой обработчик события «ПриЗаписи» или «ПередЗаписью», который не дает записать элемент. Если есть возможность, выложите конфигурацию (можно без данных) и напишите мне в личку, я проверю.

    Reply
  3. Yury1001

    (2)

    Пишу от имени vit317, разобрались – не хватало прав, завели пользователя и всё заработало, спасибо за ответ. Лайк)

    Reply
  4. vit317

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

    Reply
  5. ekaruk

    (4) vit317, Исходила из того, что при удалении желательно все элементы просмотреть, чобы понять, что именно удалять.

    Добавила в порядке эксперимента еще одну кнопку «Отменить соответствие». Если еще актуально, можете обновленный вариант скачать. Выделяете мышкой нужные строки и для всех одной кнопкой отменяете связь.

    Главное, потом проверьте, что лишнего не отменили, прежде чем применять изменения. 🙂

    Reply
  6. ufedor

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

    Пробовал запуск с ключиком, пробовал менять режим обновления — не помогло.

    Как автор исправляет эту ошибку?

    Reply
  7. ekaruk

    (6) ufedor, Если для справочника указано свойство «Обновление предопределенных данных» = «Обновлять автоматически» (или «Авто» и не используется РИБ), то достаточно запуска с ключем /SetPredefinedDataUpdate.

    Если для справочника указано «Не обновлять автоматически» (или «Авто» и мы находимся в узле РИБ), то только сверять предопределенные элементы ИБ с предопредленными элементами конфигурации и добавлять вручную связи описанных в конфигурации имен с имеющимися элементами ИБ. Собственно, именно это обработка и делает. Проверяет, каких и не хватает и позволяет добавить их вручную.

    Reply
  8. ufedor

    Вот именно, что стоит «Авто», база не является подчиненным узлом РИБ, запускаю с ключом — и ничего не происходит.

    Может быть, ошибка в платформе?

    Reply
  9. Гость

    (7) Добрый день! Возникает следующая ошибка при переназначении дублированного счета бух. учета! Подскажите, как быть. Скрин в приложении.

    Reply
  10. ekaruk

    (9) Гость, Первый раз вижу такое сообщение.

    Не совсем понимаю его смысл. В непредопределенных объектах вполне нормально использование предопределенных записей видов субконто.

    Кроме того, в данном контексте «непредопределенные» пишется слитно, а не раздельно.

    Могу предположить, что данная проверка добавленная по какой-то причине вашим програмистом без учета системного свойства ОбменДанными.Загрузка.

    Если можете зайти в режиме конфигуратора, попробуйте просто найти глобальным поиском (Ctrl+Shift+F) вцелом по конфигурации кусок этого сообщения, например, «предопределенные записи»

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

    Reply
  11. Гость

    (10) ситуация была такая. что из базы 3.0 переносили справочники в другую базу 3.0, типовой обработкой(универсальный обмен данными в формате XML). После этого задвоились некоторые виды предопред. субконто, и некоторые счета из плана счетов. Субконто переназначает нормально, а вот со счетами задачка. Потом ведь еще надо будет прогнать на поиск и замену значений, но это другая история…

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

    Reply
  12. ekaruk

    (11) Гость, То, что задвоились при переносе, это стандартная проблема.

    Само сообщение, которое у вас выдается, это не типовое сообщение БП и не сообщение платформы.

    Такой проверки быть не должно вообще. Счета должны переназначаться корректно независимо от субконто.

    Reply
  13. Nik_Nik

    Подскажите пожалуйста. Столкнулся с отсутствием предопределнного элемента в справочники СтатусНалогоплательщикаПоНДФЛ. В сам справочник нельзя добавить элемент в ручную, он закрыт для редактирование. Что подскажите сделать?

    Reply
  14. ekaruk

    (13) Nik_Nik, Вы можете использовать типовую обработку «Выгрузка и загрузка данных XML» и перенести нужный элемент из демо-базы

    http://its.1c.ru/db/metod8dev/content/4126/hdoc

    Reply
  15. Serge_ASB

    Скажите, на платформе 8.3.4.456 какие возможности даст обработка?

    У меня при выгрузке-загрузке из БП 3 в БП 3 задублировались счета и пошли косяки в ПВХ счета расчетов с контрагентами и учета номенклатуры.

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

    Reply
  16. ekaruk

    (15) Serge_ASB, Не будет работать режим «Проверка дублей вцелом по конфигурации». Т.е. нужно будет проверять каждый справочник отдельно или запускать на копии на платформе от 8.3.5.

    Основной режим работы (по одному справочнику) и проверка отсутствующих должны работать коррректно. Всё, что для них необходимо, есть с 8.3.3.

    Reply
  17. dj_serega

    Спасибо за обработку. Раньше пользовался универсальным редактором реквизитов. Но через эту обработку проще и быстрее.

    Вообщем +1 🙂

    Reply
  18. pallid

    (9)(10)(11)(12) Бухгалтерия предприятия, редакция 3.0 (3.0.37.41) типовая

    Такая же ситуация

    Reply
  19. ekaruk

    (18) white_sochi, Да, действительно, у меня тоже проявилась.

    Похоже, все-таки сообщение конфигурации.

    Пока не поняла, зачем добавили.

    Reply
  20. natar82

    Да, хотелось бы посмотреть обработку в действии. У меня ситуация в режиме пользователя некоторые предопределенные счета задвоенные. А в конфигураторе нет задвоений. База БП 3.0.37.37, стоит на поддержке.

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

    Reply
  21. natar82

    А как быть, если обработкой «Выгрузка и загрузка данных XML» хочу перенести все данные, но чтобы не было задвоений. Может снять галочки с пп.План счетов, план видов характеристик?

    Reply
  22. ekaruk

    (20) natar82, В конфигураторе и не может быть задвоений. Только в режиме предприятия.

    Сейчас бывает проблема при снятии признака переопределенности именно в релизе конфигурации БП 3.0.37.

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

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

    Используйте последнюю версию ВыгрузкаЗагрузкаДанныхXML83.epf с ИТС. В ней эти проблемы учтены, задваиваться не должно.

    Reply
  23. ekaruk

    (9) Гость, (20) natar82, В 8.3.5 немного изменились требования к работе с предопределенными элементами.

    Ошибка исправлена в обработке версии 1.3.2 (8.3.5+).

    Reply
  24. prestige

    Спасибо

    Reply
  25. dmin

    (22) использовала ВыгрузкаЗагрузкаДанныхXML83 , все равно задвоился план счетов((

    Reply
  26. ekaruk

    (26) dmin, Выгрузку именно плана счетов не проверяла.

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

    Проверьте, что точно используете ВыгрузкаЗагрузкаДанныхXML83 из последнего релиза конвертации данных (сейчас 2.1.8.2)

    Возможно, старая версия обработки попалась.

    Ну или не все варианты разработчики учли.

    Reply
  27. dmin

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

    Reply
  28. Serge_ASB

    У меня задвоение случилось при необдуманном переносе регистров Счета учета номенклатуры и … расчетов с контрагентами.

    Избавлялся муторно открытием реквизита «имя предопределенных данных» и анализом — какой из счетов «свой», а кто — «чужой».

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

    Reply
  29. ekaterinaeon

    большое спасибо за такую чудесную обработку, очень помогла! 🙂 на 8.3.5 кстати отлично работает))

    Reply
  30. vlastapov

    Обработка очень помогла уже второй раз. Теперь и на платформе 8.3.5. Огромное СПАСИБО!

    Reply
  31. buval

    Спасибо за Обработку. В РИБ была аналогичная ошибка

    «Справочник.УдалитьСтатусыНалогоплательщиковПоНДФЛ.Резидент. Предопределенный элемент отсутствует в данных»

    Изменил предложенный код в

    и всё получилось

    СсылкаНаОбъект=Справочники.УдалитьСтатусыНалогоплательщиковПоНДФЛ;

    ОбновляемыйОбъект = СсылкаНаОбъект.СоздатьЭлемент();// .ПолучитьОбъект();

    ОбновляемыйОбъект.ИмяПредопределенныхДанных = «Резидент»;

    ОбновляемыйОбъект.Наименование= «Резидент»;

    ОбновляемыйОбъект.ОбменДанными.Загрузка = Истина;

    ОбновляемыйОбъект.Записать();

    Через обработку проконтролировал

    Reply
  32. LineykaSBK

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

    При вызове обработчика обновления:

    «Документы.СписаниеСРасчетногоСчета.ЗаполнитьНалоговыйПериодПриУплатеСТраховыхВзносовИП()»

    произошла ошибка:

    «{Документ.СписаниеСРасчетногоСчета.МодульМенеджера(1993)}: Ошибка при получении значения атрибута контекста (ПФР_ОПС_ИП)

    СчетаУчетаСтраховыхВзносовИП.Добавить(ПланыСчетов.Хозрасчетный.ПФР_ОПС_ИП);

    по причине:

    ПланСчетов.Хозрасчетный.ПФР_ОПС_ИП. Предопределенный элемент отсутствует в данных».

    Если я правильно понял то с помощью этой обработки я смогу добавить предопределенный элемент?

    Reply
  33. ekaruk

    (33) LineykaSBK, Да, все верно.

    Сможете добавить.

    Если задача только добавить один элемент, то достаточно выполнить в консоли код, аналогичный (32)

    Но можно и обработкой, заодно остальные элементы сможете проверить.

    Reply
  34. LineykaSBK

    Спасибо 🙂

    Reply
  35. TeraByte87

    Отлично! Спасибо за обработку.

    Reply
  36. apostal86

    Спасибо. Все просто. Помогла сразу.

    Reply
  37. afrodit

    При открытии обработки Ошибка: переменная не определена (ЭтотОбъект)

    Reply
  38. ekaruk

    (38) forum1c8, Версия платформы точно 8.3.3 или выше?

    Reply
  39. afrodit

    (39) 8.3.5.1383

    Reply
  40. ekaruk

    (40) forum1c8, Возможно, включен режим совместимости 8.3.2 или ниже.

    В этом случае не будет и переменной «ЭтотОбъект».

    Если все-таки релиз от полноценного 8.3.3, то напишите в личку подробнее, что за конфигурация и версия обработки.

    Программное изменение предопределенных данных возможно не ранее 8.3.3 без режима совместимости.

    В более ранних релизах физически структура данных другая в таблицах.

    Т.е. в более ранних версиях Вам эта обработка не нужна, так как технически не может быть ни отсутствующих элементов, ни дублей.

    Reply
  41. Godman

    Спасибо за обработку!

    Успешна решена проблема при обновлении конфигураций бух 8.3. Выдавалась ошибка:

    При вызове обработчика обновления:

    «Справочники.ПрочиеДоходыИРасходы.ОбновитьПредопределенныеЭлементыКурсовыеИСуммовыеРазницы()»

    произошла ошибка:

    «{Справочник.ПрочиеДоходыИРасходы.МодульМенеджера(757)}: Ошибка при вызове метода контекста (Записать)

    ЭлементСправочника.Записать();

    по причине:

    Предопределенный элемент не уникален».

    Снял признак предопределенности с задвоенных элементов.

    Reply
  42. afrodit

    (41) да, включен режим совместимости

    Reply
  43. ekaruk

    Заменила версию 1.3.2 на 1.3.3.

    Добавлена возможность проверки пропущенных элементов вцелом по конфигурации без предварительной выгрузки конфигурации.

    Доступно только с платформы 8.3.5.

    Reply
  44. 3016299

    (44) но версия не изменилась, только что скачала — осталась 1.3.2

    Reply
  45. ekaruk

    (45) 3016299, Спасибо. На форме осталась надпись 1.3.2.

    Если скачанный файлик называется «УстановкаПредопределенныхЭлементов1.3.3.epf», то это 1.3.3.

    Заголовок не обновила.

    Поправила.

    Reply
  46. sergjan

    (37)

    Reply
  47. Dvornik

    Подскажите, скачал обработку, а в «Справочники.СтатусыНалогоплательщиковПоНДФЛ» добавить значения не могу. Вообще никак не могу. Предопределенные элементы есть только в конфигураторе. (Бух 3.0.37.25). Что только не делал, уже убрал РИБ. Установленных и новых предопределенных элементов нет.

    В конфигураторе есть, в базе нет. (открывал универсальной обработкой)

    PS. в след. версии (37.34) вылазит «ОснованияУвольнения», которых тоже нет в базе.

    Reply
  48. ekaruk

    (48) Dvornik, Что значит «элементов нет»?

    Обработка отображает все элементы, описанные в конфигураторе, и позволяет сопоставить с ними элементы из ИБ.

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

    Добавить элемент можно просто в форме списка справочника.

    Либо перенести типовой обработкой «Выгрузка/загрузка XML» из копии базы.

    Reply
  49. TODD22

    Здравствуйте.

    Спасибо за замечательную обработку.

    У меня возникла такая проблема. У меня РИБ.

    Случилась неприятность и базы перестали обмениваться. Пишет что «Конфигурация отличается от ожидаемой». Я узлы отключил от центральной, загрузил в неё конфигурацию центральной базы. И в этот момент у меня в базе задвоились предопределённые элементы. Я вашей обработкой их удалил.

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

    Что интересно задвоились не все предопределённые элементы. А только часть.

    С чем это может быть связано?

    Reply
  50. ekaruk

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

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

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

    Reply
  51. TODD22

    (51) А можно с помощью обработки случайно отвязанные «правильные» привязать назад?

    Reply
  52. ekaruk

    (52) TODD22, Да, можно.

    Просто его нужно правильно выбрать в колонке «Новый предопределенный элемент»

    В платформе нет информации, какой элемент ИБ был предопределенным в прошлом.

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

    Reply
  53. TODD22

    (53) Спасибо попробую… а то после того как в прошлый раз поломал все обмены сейчас как то с осторожностью надо к этому делу подходить.

    Reply
  54. TODD22

    (54) TODD22, У меня в правом крайнем столбце где нужно указать «Новый предопределённый элемент» обработка выводит 3 элемента. Но ни один из них не является «старым» элементом к которому нужно привязаться. А если нажимаю на выбор то открывается справочник сотрудники. Но там у меня нет этих пользователей. Они у меня в справочнике «Пользователи».

    Достаточно будет просто добавить в тип колонки справочник «Пользователи» или тут в чём то другом дело?

    Reply
  55. ekaruk

    (55) TODD22, Добавлять в обработку ничего не надо.

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

    Открывается стандартная форма выбора, определенная в конфигурации для данного справочника.

    Не совсем поняла, для справочника «Пользователи» открывается для выбора форма справочника «Сотрудники»?

    Что за конфигурация и что открывается в формах для справочника «Пользователи»?

    Попробуйте просто код пользователя ввести. Должен сработать ввод по строке.

    Reply
  56. markers

    Доброго времени суток!

    Обработка конечно хороша, за что спасибо вам, Но я тут решил запустить проверку не сопоставленных на бухгалтерии 3.0 и выдался такой вот списочек:

    Благо мне хватило места на экране и список был не такой длинный…. Может стоит этот список выгружать в какую-либо таблицу значений на форме или ещё чего, ещё бы по дабл-клику подставлять нужный справочник и пр. в тип объекта / имя объекта?

    Спасибо за внимание!

    Reply
  57. ekaruk

    (57) markers, Да, согласна. Иногда список совершенно нечитабельный получается.

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

    Конкретный перечень и так виден при выборе справочника.

    Поправлю как-нибудь при случае.

    Reply
  58. tormozit

    Добавил аналогичный инструмент в подсистему «Инструменты разработчика».

    Reply
  59. SLord

    Типовая

    1С:Предприятие 8.3 (8.3.6.2152)

    Бухгалтерия предприятия, редакция 3.0 (3.0.41.52)

    Прошу помощи!!!!

    Не открываются для редактирования некоторые Контрагенты.

    Мне может помочь данная обработка?

    Reply
  60. ekaruk

    (60) SLord, Эта ошибка не связана с предопределенными элементами.

    Думаю, данная обработка тут не поможет.

    Смотрите в конфигураторе, на какой именно строчке ошибка и с чем она связана.

    Reply
  61. SLord

    (61)

    Подскажите как это делается через конфигуратор?

    Заранее спасибо.

    Reply
  62. AlX0id

    А в режиме совместимости — на УПП будет работать? Или же чисто 8.3 надо?

    Reply
  63. ekaruk

    (62) SLord, Что именно делается через конфигуратор?

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

    Выбирате справочник — Правый клик — «Открыть перечень предопределенных элементов»

    (63) AlX0id, Нужен режим совместимости не ниже 8.3.3.

    УПП, насколько я помню, сейчас в режиме совместимости с 8.2, так что на нем работать не будет.

    Reply
  64. SLord

    (64)

    Вы писали «Смотрите в конфигураторе, на какой именно строчке ошибка и с чем она связана.»

    Как смотреть в кофигураторе?

    PS: я не программист 1С.

    Reply
  65. ekaruk

    (65) SLord, Нужно открыть конфигуратор, запусть базу в режиме отладки, включить «Отладка»-«Остановка по ошибке» и попытаться повторить ошибку.

    Будет видно, на какой именно она строчке и что при этом происходит.

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

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

    Лучше обратиться к тому, кто вас обслуживает на постоянной основе.

    Reply
  66. SLord

    Спасибо.

    Но в том то и дело, что конфигурация типовая, произошло это после обновления релиза, переноса данных не было.

    Вот более полное описание ошибки:

    {ОбщийМодуль.УправлениеКонтактнойИнформацией.Модуль(350)}: Поле объекта не обнаружено (КонтактнаяИнформацияПоле105)

    Если СозданныеЭлементы.Найти(СтрокаПоиска.Вид) <> Неопределено

    В супорт уже обратился.

    Reply
  67. Dvornik

    (67) SLord, может вам попробовать мою обработку http://infostart.ru/public/270979/ открыть и убрать повтор адресов… если есть.

    Reply
  68. SLord

    (68) Dvornik,

    Спасибо, воспользуюсь, ща только до оффиса доберусь. Жалко что только по одному контрагенту можно просматривать, если бы она сама искала задвоенную информацию по всем контрагентам, хотя бы по очереди, нашла первого — исправили — ищет второго и т.д.

    Reply
  69. SLord

    (68) Dvornik,

    Еще раз спасибо.

    Открыл контрагента, который не открывался, элементы Юридический, Фактический адрес и телефон, повторялись 104 раза!!!!!

    Кажется я догадываюсь в чем проблема, у нас есть внешняя обработка «Загрузка счетов», надо ее проверить……

    Reply
  70. Гость

    Добрый день! При обмене задвоился план счетов. Воспользовалась вашей обработкой и стерла » ИмяПредопределенныхДанных» для неиспользуемых счетов. Хочу теперь их удалить, но выскакивает таже ошибка «Пометка на удаление предопределенного счета запрещена». Что не так?!

    Платформа 8.3.6.2299

    Заранее спасибо.

    .

    Reply
  71. ekaruk

    (71) sno35, Не должно быть такой проблемы. Сразу при очищении реквизита ИмяПредопреденныхДанных элемент становится обычным и его можно удалить.

    Точно помечаете элемент, который в списке без значка предопределенного?

    Reply
  72. Гость

    Да, нет. Значка предопределенного на этих счетах нет. Скрин прикрепила.

    Reply
  73. ekaruk

    (73) sno35, Проверяла на БП 3.0 на платформе 8.3.6.2152 и на 8.3.7.1633

    Не могу повторить проблему. Как только отменяется связь элемента ИБ с предопределенным элементом конфигурации, то он вполне корректно помечается на удаление,

    Reply
  74. Гость

    Спасибо большое. Все получилось.

    Reply
  75. Pyhar

    (74) Добрый день. База Бухгалтерия предприятия 3.0.40.37 БАЗОВАЯ. При обновление на любой другой релиз — ошибка про дублирование предопределенных в справочнике Виды отправляемых документов (5 элементов). Откатил на конфигурацию БД, лезу в справочник в конфигураторе. И там эти элементы действительно задублировались. Не знаю как это могло произойти, видимо был какой то глюк в предыдущем обновлении. обработкой то я лишние элементы то отвязал и удалил — а толку то. в конфигураторе как были задвоены так и есть. что можно сделать? Повторюсь конфа БАЗОВАЯ, естественно в ней не было ни каких изменений, обновлялась всегда в автоматическом режиме из режима Предприятие.

    Reply
  76. ekaruk

    (76) Pyhar, это известная проблема релиза 3.0.40.37.

    Дубли именно в конфигурации, это не проблема обновления.

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

    Либо откатитесь на более старый релиз платформы.

    Reply
  77. b-dm

    Для обычных форм планируете сделать ?

    Reply
  78. tormozit

    (78) Уже есть в подсистеме Инструменты разработчика в инструменте «Редактор предопределенных» http://infostart.ru/upload/iblock/4b2/35640846%5B1%5D.jpg

    Reply
  79. ekaruk

    (78) b-dm, Нет смысла. Типовые конфигурация на обычных формах идут в режиме совместимости с 8.2 и для них такая работа с предопределенными неактуальна. В каких-то исключительных случаях всегда можно запустить любую типовую в управляемом режиме.

    Ну или использовать вариант из (79)

    Reply
  80. ryutao

    Большое спасибо! Очень выручила Ваша обработка!

    Reply
  81. Bonov

    (76) Pyhar, чтобы беспроблемно обновить конфигурацию, делайте это именно на тех релизах платформы, которые заявлены как минимально необходимые. В Вашем случае можно использовать последний релиз 8.3.5.

    Reply
  82. Гость

    Обработка отвязывает задвоенные предопределенные элементы справочника,всё красиво.Но при обновлении все так же ругается на не уникальность этих же элементов=(

    Reply
  83. ekaruk

    (83) Гость, Обработка работает с данными информационной базы.

    Насколько я понимаю, в Вашем случае проблема в конфигурации.

    Проверьте из конфигуратора, нет ли дублей в конфигурации. Если есть, то удалите лишний.

    Reply
  84. Гость

    (84) разобрался,спасибо.Всё осуществлял в платформе 8.3.6.2332.Опустился на 8.3.6.2100 всё прошло успешно.

    Reply
  85. vlastapov

    И на платформе 8.3.7 тоже работает. Еще раз большое спасибо!

    Reply
  86. rodnik.mup@yandex.ru

    У меня бухгалтерия предприятия базовая ред 3.0 Релиз программы 8.3.7.1790

    При обновлении выдается ошибка Справочники. ВидыРегистровБухгалтерии.Субъектымалогопредпринимательств Отсутствует предопределенный элемент

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

    Возможно, она не подходит для этой версии программы.

    Метод объекта не обнаружен (СведенияОВнешнейОбработке)

    Reply
  87. ekaruk

    (87) rodnik.mup@yandex.ru, Обработка универсальная, не привязана к конкретной конфигурации.

    Запускается просто через «Файл» — «Открыть»

    Reply
  88. информсервис

    Большое спасибо. Очень помогли.

    Reply
  89. netaleksa

    Добрый день! При обновлении вылезает ошибка: Справочник. ВидыРегистровУчета. РегистрыБУСубъектовМалогоПредпринимательства. Предопределенный элемент отсутствует в данных.

    1С:Предприятие 8.3 (8.3.6.2152) Конфигурация Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.43.51)

    Reply
  90. netaleksa

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

    Reply
  91. ekaruk

    (91) netaleksa, Не совсем поняла, как именно отлаживаете.

    На всякий случай запустите сеанс предприятия из конфигуратора по кнопке F5-«Отладка»

    Тогда отладчик покажет, на какой строке ошибка проявляется.

    А вообще проблема с предопределенными стандартная, возникает часто.

    Просто берете обработку из этой публикации, выбираете Ваш справочник «ВидыРегистровУчета». Обработка покажет, какие элементы не определены. Далее достаточно будет просто связать их с элементами ИБ. Можно как с имеющимися, так и добавить новые.

    Если хотите лучше понять смысл проблемы и исправить вручную без обработки, то тут есть подробное описание с примерами кода http://infostart.ru/public/310542/

    Reply
  92. netaleksa

    (92)

    С отладкой разобралась) начинается процесс отладки, останавливается на ошибке. Скрины прилагаю.

    Reply
  93. netaleksa

    И далее остановка.

    Reply
  94. ekaruk

    (93) netaleksa, Эмм….

    Это не ошибки.

    До ошибок Вы еще не дошли.

    Это уведомление о фоновом задании. Все что в попытках, то смотреть не надо.

    А вообще отладка Вам тут и не нужна. Это абсолютно стандартная проблема. Нужно просто в режиме предприятия привязать предопределенный элемент.

    upd. (94) Уже ошибка.

    Чтобы на ней остановиться, включите отладку фоновых заданий в настройках отладки.

    Reply
  95. netaleksa

    (95) Спасибо за надежду) только теперь не могу найти где «включите отладку фоновых заданий в настройках отладки. «

    Reply
  96. ekaruk

    Отладка — Подключение — Автоматическое подключений — Фоновые задания

    Reply
  97. netaleksa

    (97) спасибо Вашу помощь) сделала рекомендуемые настройки отладки. Запустила отладку. Выдал большой файл в окне. Скрин всего вряд ли удобен для прочтения. Подскажете в каком разделе (выделенные зеленым цветом) посмотреть?

    Ошибка: При обновлении вылезает ошибка: Справочник. ВидыРегистровУчета. РегистрыБУСубъектовМалогоПредпринимательства. Предопределенный элемент отсутствует в данных.

    Reply
  98. ekaruk

    (98) netaleksa, Я уже в (92) рассказала, как поправить.

    Там же есть ссылка на статью с подробным описанием причин ошибки и способа исправления.

    Подробнее уже некуда.

    Reply
  99. AlexO

    (22)

    В конфигураторе и не может быть задвоений

    Может быть, как раз предопределенных элементов.

    Другое дело, что происходит такое не при обмене данными.

    Reply

Leave a Comment

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