1с обмен данными задвоились справочники
Задвоились предопределенные элементы справочников? Выход есть!
Дублирование предопределенных элементов справочников может произойти как по причине того, что при обмене данными в режиме загрузки уникальность предопределенного элемента в пределах области информационной базы не проверяется, так и при объединении/обновлении конфигураций.
В этой статье мы напишем обработку, которая позволит избавиться от дублей предопределенных элементов справочника.
- Первым делом мы найдем задвоенные (затроенные и т.д.) предопределенные элементы всех справочников.
- Затем определим на какие элементы больше всего ссылаются другие объекты базы.
- С учетом количества ссылок, определим как «правильные» те, на которые меньше всего других ссылок.
- Оставим эти элементы предопределенными, а дубликаты сделаем непредопределенными (наименование сделаем как у предопределенных, для возможности дальнейшей замены всех ссылок на «правильный» соответствующий предопределенный элемент справочника).
- Дальше можно заменить все ссылки объектов к этим дубликатам ссылками на те элементы, которые мы решили оставить предопределенными и при необходимости удалить дубликаты. Мы просто предложим пометить дубликаты на удаление.
Создадим новую обработку, и добавим табличную часть «ЗадублированныеСправочники»:
Реквизиты табличной части «ИмяСправочника», «СинонимСправочника» и «ИмяПредопределенныхДанных» - переменная строка неограниченной длины;
«КоличествоДублей» и «КоличествоСсылок» - неотрицательное число;
«ЭлементСправочника» тип «Справочник».
Создадим основную форму и разместим на ней табличную часть и кнопки «1. Заполнить», «2. Подсказать правильные», «3. Оставить предопределенными только отмеченные»:
В теле процедуры обработчика нажатия кнопки «1. Заполнить» будем вызывать процедуру ЗадублированныеСправочникиЗаполнить()
В процессе работы данной процедуры мы будем следить за тем, какие справочники проверяются на дубли в специальном окне:
Это окно реализовано функцией глобального контекста ПоказатьОповещениеПользователя()
При окончании процедуры мы получим заполненную дубликатами табличную часть, в колонке «Правильные» указывается предопределенный элемент справочника, который необходимо оставить:
Теперь пользователь может либо сам определить «правильные» предопределенные, либо воспользоваться подсказкой по кнопке «2. Подсказать правильные».
В теле процедуры обработчика нажатия этой кнопки будем вызывать процедуру ПодсказатьПравильные() – как уже было сказано, подсказка заключается в определении количества ссылающихся объектов информационной базы на предопределенный элемент справочника – чем больше ссылок на элемент, тем он «правильнее» (меньше ссылок придется заменять в дальнейшем):
Данная операция будет довольно длительной – производится поиск всех ссылающихся объектов, по окончании мы получим рекомендации:
Теперь пользователь может определить «правильный» элемент, руководствуясь данными о количестве ссылающихся объектов базы на конкретный элемент предопределенного справочника:
В теле процедуры обработчика нажатия кнопки «3. Оставить предопределенными только отмеченные» будем вызывать процедуру ОставитьТолькоОдинПредопределенный(). Кстати, спросим – помечать ли на удаление «неправильные».
Уже замаялись, с этими Обменами между базами. Только все настроили, все стало отрабатывать, но тут взяли и обновили релиз БП, а потом и УТ.
Снова сделали настройки обмена с помощником, и теперь в справочнике Организий БП, появляется Дубль Основной организации, в коде которого появляется префикс БП, и дальше уже кучу доков и справочников создает с этой новой организацией.
(1) katrineKA, скорее всего, из-за префикса и задваивается. Попробуйте удалить префикс в настройках, если он не нужен. Или поправьте поиск в правилах обмена.
(1) katrineKA,
Вариант здесь один - берётся конфигурация "Конвертация" и разбираетесь как идёт синхронизация (по каким реквизитам, по внутреннему коду, . ).
Других способов решения Вашей проблемы не существует.
Обычно синхронизация идёт по кодам справочников. Т.е. если коды организаций совпадают всё будет ок, если различаются будут дубли.
Узнать можно, если правила обмена загрузить в конфигурацию "Конвертация данных". Там можно посмотреть по каким полям настроено соответствие.
В конфигурации, куда переносятся объекты, создается регистр сведений в котором запоминаются соответствия элементов "СоответствиеОбъектовДляОбмена". В нем надо подкорректировать запись в которой указана организация из другой базы.
если вы настраивали план обмена, зачем включили обмен по организациям? а вообще открыть правила в конвертации и посмотреть, как происходит поиск элемента и в какой момент происходит создание объекта
Организацию включили, потому что в УТ их несколько, но только по одной нужно передавать данные.
А что делать , если нет конфигурации "Конвертация данных"?
(8) katrineKA,
На текущий момент на сайте 1С доступна версия 2.1.8.1, думаю если вы 1С все же купили, то доступ к сайту у вас есть. Если же доступа к сайту 1С нет, то найти опять же можно (через поиск находится как минимум 2.1.5.1).
В конвертации вы можете настроить правила так, чтоб поиск организации выполнялся по коду/номеру или другому реквизиту. Так же вы можете отключить создание элемента в справочнике в случае если элемент не найден в базе "приемника".
в "СоответствиеОбъектовДляОбмена", удаляю не нужную строку, но он ее опять создает при загрузке доков. А если создать вруную такую же как в УТ, то пр загрузке, создает такую же строку, ссылки одинаковые получаются, но Ссылку на собственный объект не заполняет. Т.е. все равно создает еще одну организацию.
(9) katrineKA, Ну как вариант чтобы сильно не париться, можно ссылки одной организации заменить на другую, через поиск и замена объектов
(10) Zixxx, обработкой пробовала, например в доках меняется без проблем, а вот если создан договор на эту организацию, то даже автозамена не помогает. Выдает запрет на изменение, т.к. есть проведенные доки с этими договорами.
Причем, проведенные доки, это доки за 2012 год, вот этого уже совсем не понимаю, почему он их задевает или выгружает, откуда берет, тож не понятно, дата стоит с 01.04.2013.
В общем, уже не знаю, что еще сделать можно.
(11) katrineKA, Нет, я имел ввиду про "Поиск и замена значений", она же в режиме ОбменДанными.Загрузка = Истина работает, поэтому ей без разницы есть что-то введенное по договорам или нет.
(13) Zixxx, мы говорим об одной и тойже обработке "ПоискИЗаменаДублирующихсяЭлементов+", я ее на этом форуме брала.
Да и кстати, на сегодняшней копии, обработка все заменила, без проблем. А на вчерашней, в договорах не смогла замену произвести.
Спасибо, что еще раз про нее написали, сегодня она отработала, хотя бы так, а то бухгалтера страдают. А в правилах обмена все равно разораться нужно, ведь в слеюдущем квартале опять выгружать :(
(14) katrineKA, Есл дублирует один раз, значит при следующих обменах все встает на первый дубль. Поэтому если он останется а оригинал убрать, то дублей больше не будет
Дык, скачать с сайта "users.v8.1c.ru" или с диска ИТС взять.
Если не справитесь, обращайтесь в "личку" - помогу.
Я подниму тему.
Организация дублируется с ИНН и КПП, но код не указывается, а если пометить на удаление или записать, тогда появляется код, доки с УТ 10.3 выгружаются с дублирующей организацией, Удаление не помогает.
Считал ссылку с УТ на организацию получил
Вставил в БП 2.0 ссылку эту в регистр СоответствиеОбъектовДляОбмена, там была другая ссылка, не помогло, пытался изменить в настройках Соответствие по Наименованию, не помогает.
Организации идиэнтичны друг другу, ИНН КПП Код, Наименование, что в УТ, что в БП, нифига не понимаю.
Обратил внимание когда в Обмене меняю Соответствие по наименованию или по ИНН и КПП, то в правилах остается вот такая фраза:
(18) BARDER, Сталкивался я с такой бедой, обмен БП 2.0 и УТ 10.3, поиск организации в правилах обмена там зачем-то сделан по внутреннему ID. В один прекрасный момент все перестало работать, с чем связано - не знаю, то ли обновление релиза, то ли еще что, база далеко. Поковырялся часа два, потом сделал тупо - загрузил правила обмена в "Конвертацию данных" и переделал поиск организации по ИНН и КПП, после чего забыл про эти проблемы.
alexdm прав. Но такая проблема и с УТ 11-х версий
Лечится только правкой правил в конвертации правил.
А сделано это 1с-цами скорее всего потому что что организации могут ввести в справочник с одинаковым инн/кпп сколько угодно.
А при настройке обменов между БП в УТ предполагается, что БП пустая база.
А сделано это 1с-цами скорее всего потому что что организации могут ввести в справочник с одинаковым инн/кпп сколько угодно.
Для меня частенько вообще не доходит логика 1с-овцев, если честно. Не может быть В ПРИНЦИПЕ одинаковых ИНН и КПП еще у какого-то предприятия в России. Почему бы не сделать поиск по ИНН/КПП, тем более, что во всех переносах из ЗУП/ЗиК в БП сделано именно так ?
alexdm
Много раз видел когда вторую организацию с тем же ИНН/КПП вносили для управленческих целей (внутренних. да каких угодно).
А сколько контрагентов с одинаковым ИНН/КПП не сосчитать вносят. Например какие-нибудь фонды. подразделения и прочее.
Делал всякие выгрузки, синхронизацию ставишь по ИНН/КПП - клиент "обработка не работает, дублируются данные", начинаешь разбираться и о чудо пару-тройку контрагентов с одинаковым ИНН/КПП, спрашиваешь почему так? ответ "нам так нужно и все тут".
Я тоже первое время задавался этим вопросом, а потом поставил себя на их место и понял что это правильное решение.
Заметь с одинаковым ИНН/КПП 1с-ка не запрещает вносить ни организации, ни контрагентов. В 3.0 БП сделали раскраску если ИНН/КПП дублируется. Задайся вопросом зачем вообще создавать механизм проверки, если этого не может быть в принципе. Делайте тогда жесткий запрет на внос дублей, однако этого нет в 1с-ких конфах.
А теперь представь сделали они поиск в обменах по ИНН/КПП, и чтобы все это работало надо Запрещать вносить дублирующую информацию.
Но в этом случае больше будет недовольных.
опять же кто настраивал обмен между БП и УТ и у них бухия пустая была, например только все купили разом, они и не узнают про эту проблему, да эта даже не проблема, а я назвал бы ее "фичей" или особенностью.
alexdm
(24) "дубли контрагентов в базах - зло, с которым надо бороться, т.к. проблем это добавляет гораздо больше."
Сам этим занимаюсь с переменным успехом.
"Ведение "управленческого" (читай - левого) учета в рабочей базе - это за гранью разумного, гораздо лучше для этих целей сделать отдельную базу, которую похерить - пара минут, в случае чего."
Поддерживаю, но, понимаешь не все бухгалтеры могут понять что можно работать в "управленческой торговле" где даже еще в 7.7 был многофирменный учет.
"как может работать программа если там нет проводок. какие-то там регистры и прочее.
Какой выход - вести управленческий учет в бухии, благо и 1С помогла в этом введя в бухии многофирменку.
+22
"Я тоже первое время задавался этим вопросом, а потом поставил себя на их место и понял что это правильное решение."
"Я тоже первое время задавался этим вопросом, а потом поставил себя на место 1с -цев, а не клиентов и понял что это правильное решение."
Предварительная настройка синхронизации БП 3.0 и ЗУП 3.0
Для того, чтобы мы смогли увидеть документы, которые при синхронизации загрузились в Бухгалтерию 3, в частности, это документ «Отражение зарплаты в бухучете», необходимо установить флаг в Общих настройках – Настройки зарплаты, определяющий ведение всех расчетов по оплате труда во внешней программе, то есть в нашей ЗУП 3.
Рисунок 2 Настройки зарплаты
Рисунок 3 Настройка параметров учета зарплаты
И после этого включить Синхронизацию данных – установить флаг, разрешающий другим программам обмениваться с нашим ЗУП 3. Сделать это необходимо, перейдя в раздел Администрирование – Настройки синхронизации данных:
Рисунок 4 Включение синхронизации
Рисунок 5 Установка флажка для возможности синхронизации
При синхронизации элементы данных из обеих программ (элементы справочников, документы и т.п.) сопоставляются между собой по отдельным присущим им уникальным признакам, по которым их можно однозначно идентифицировать. Для каких-то элементов это будет их код или идентификационный номер, для каких-то простое наименование. В табличке ниже видно, по каким признакам программа ищет те или иные данные, чтобы их сопоставить и внести изменения, произведенные в одной программе над этими данными, автоматически воспроизведя их в другую программу.
В синхронизируемых элементах данных, к сожалению, не все параметры поиска могут быть заполнены. В этом случае при первоначальной синхронизации программа предлагает нам проверить, каким образом данные будут сопоставлены, и внести вручную необходимые правки в это сопоставление.
Настройка синхронизации БП и ЗУП – пример синхронизации по Организации, у которой в программе Бухгалтерия 3 не заполнены коды, а заполнено только наименование
Рассмотрим пример настройки синхронизации по Организации, у которой в программе Бухгалтерия 3 не заполнены коды, а заполнено только наименование. Кроме того, справочник Подразделения в той и в другой программах различается. В Бухгалтерии 3 имеется только одно Основное подразделение.
После того, как подключение к Бухгалтерии 3 установлено, мы можем изменить некоторые начальные настройки, перейдя по ссылке «Изменить правила выгрузки данных»
Здесь у нас есть возможность установить дату, ранее которой данные из ЗУП выгружаться в Бухгалтерию не будут (например, если до этой даты заработная плата начислялась в бухгалтерской программе).
Выбрать организацию, данные по которой будут выгружаться, и каким образом будут выгружены проводки в документе «Отражение зарплаты в бухучете» с детализацией по сотрудникам или сводно (по всем разрезам, кроме сотрудника).
В случае, если выгрузка настроена сводно, то ведомости на выплату не выгружаются и в платежных поручениях по ведомостям необходимость выбора ведомости отключается.
Если в Бухгалтерии 3 по синхронизируемой организации применяется Упрощенная система налогообложения (УСН), то при данной настройке после переноса данных движения по регистрам (прочие расходы и расходы при УСН по 70 счету) не появляются, а только по налогам и взносам. В связи с этим использовать данную настройку при УСН не желательно.
Рисунок 6 Дополнительные настройки при синхронизации
Далее аналогичную донастройку делаем для программы, в которую будем выгружать данные
Рисунок 7 Уточнение параметров загрузки и выгрузки для Бухгалтерии 3 при настройке синхронизации в программе ЗУП 3
Рисунок 8 Успешное завершение настройки синхронизации
Далее программа начинает искать и сопоставлять данные
Рисунок 9 Первоначальная синхронизация данных
Программа сопоставила Организацию по наименованию
Рисунок 10 Сопоставление данных из двух программ
Поскольку способы отражения в ЗУП еще не настраивались, они будут загружены из Бухгалтерии в момент, когда будет произведен обмен данными 1с бухгалтерия 3.0
Рисунок 11 Сопоставление способов отражения в учете
Нажимаем кнопку Далее. Программа получает данные и выдает следующую информацию
Рисунок 12 Форма настройки отправляемых данных
Проверим результаты выгрузки. Так как в программе ЗУП данных по заработной плате за 2017 год пока нет, нет ведомостей на выплату и документов Отражение в учете, то в Бухгалтерию 3 не выгрузились пока ни подразделения, ни физические лица. С выгруженным же элементом справочника Организации произошло следующее: программа посчитала приоритетным элемент, созданный позже в программе Бухгалтерия 3 и заменила этим элементом в ЗУП 3 карточку организации, затерев тем самым заведенные в ней коды.
Рисунок 13 Карточка организации в ЗУП 3 после первоначальной синхронизации с Бухгалтерия 3
Рисунок 14 Форма синхронизации данных
Нажав на эту ссылку, в открывшейся форме мы можем посмотреть отличия в синхронизированных элементах справочника Организации и изменить результат загрузки, нажав на кнопку "Пересмотреть"
После чего карточка организации примет прежний вид
Рисунок 15 Карточка организации после разрешения конфликта синхронизации
А после дальнейшей синхронизации заменит прежнюю карточку в Бухгалтерии.
Аналогичным образом можно разрешать все подобные конфликты, обычно возникающие при выгрузке справочников Подразделения, Физические лица и т.п., элементы которых выгружаются, с документами, имеющими на них ссылки.
Часто встречающиеся проблемы обмена данными БУХ и ЗУП и их решения
Также хочется рассмотреть еще несколько проблем, возникавших при синхронизации у пользователей в последнее время и предложенных для их разрешения вариантов действий.
1. В последних релизах ЗУП 3, начиная с 3.1.2.120, вместе с физлицами, выгружающимися с ведомостями на выплату, выгружаются теперь их лицевые банковские счета для перечисления на них заработной платы сотрудникам. Для того, чтобы эта функция работала, необходимо обновить до последней версии конфигурацию Бухгалтерии 3.
2. До недавнего времени не выгружались страховые взносы на тяжелые условия труда. Начиная с релиза 3.2.2.120, эта проблема решена. Также необходимо обновить релиз Бухгалтерии 3 до актуального релиза для того, чтобы заработали новые правила обмена. правила обмена данными зуп 3.0 должны быть актуальными.
3. Вопрос от пользователя: перед тем как провести 1с 8.3 бухгалтерия обмен данными, настраиваем синхронизацию ЗУП 3.1.2.90 и БУХ 3.0. В окне выбора варианта подключения присутствуют варианты:
• Прямое подключение к программе через интернет
• Другие каналы связи
Вариант «Прямое подключение к программе на этом компьютере или в локальной сети» отсутствует. Хотя в ЗУП 3.0 был. И в описании справки тоже есть.
Ответ: Данная проблема возникает в двух случаях:
1. Используется сервер Linux. Он не поддерживает прямое подключение, так как используется COM-подключение, которое является механизмом Windows.
2. Одна или обе синхронизируемые конфигурации являются базовыми.
Решение: Использовать обмен через файлы, через каталог обмена. Настраивается такая синхронизация аналогично прямому подключению.
4. Вопрос от пользователя: по какой причине в начислениях с назначением «Доход в натуральной форме» нет возможности указать, что они не должны отражаться в бухучете? Подскажите, пожалуйста, как сделать так, чтобы проводки по данным видам расчета формировались только по суммам начисленного НДФЛ и взносов.
Ответ: Проводки формируется в бухгалтерской программе. Если используется БП 3.0, то после того как произведен обмен данными зуп 3.0 бухгалтерия 3.0 проводки по виду операции «Доходы в натуральной форме» и так формируются только по страховым взносам и НДФЛ.
5. Вопрос от пользователя: физическое лицо было создано в Бухгалтерии 3 и выгружено в ЗУП 3. Потом в ЗУП 3 был принят сотрудник на основе этого физлица, начислена зарплата, есть он в Отражении в учете и в Ведомости на выплату. Но при синхронизации в этих же документах в Бухгалтерии 3 вместо физлица отображается «объект не найден».
Ответ: в Бухгалтерии 3 скопируйте ссылку на объект и найдите ее в ЗУПе, возможно ссылка задвоилась и при обмене подставляется она. Потом удалить эту запись с битой ссылкой из регистра сведений СоотвтетствиеОбъектовИБ. Либо сделать копии обеих баз. Очистить записи по этому сотруднику в данном регистре сведений в обеих базах. Затем в ЗУП 3 пересохранить проблемного сотрудника и соответствующее ему физлицо. Перепровести Отражение и ведомость, где есть этот сотрудник, и выполнить синхронизацию.
К сожалению, пока не все проблемы, требующие решения на сегодняшний день, автоматизированы фирмой 1С. Реализации некоторых из них приходится ждать.
В частности, это вопрос, который не раз поднимался на партнерских ресурсах.
В Бухгалтерии учет идет укрупненно – в производстве только «Основное подразделение», а в ЗУП 3 нужна разбивка по бригадам и т.п. В ЗУП 25 можно было настроить проводки на «Основное подразделение», а в ЗУП 3 как это сделать, если в бухгалтерии не требуется детализация по мелким подразделениям?
Варианты решения данного вопроса предлагаются пока самими пользователями. Вот наиболее популярные из них.
Пока выход только в создании дополнительной обработки табличной части документа отражения ЗУП. Принцип простой: добавить дополнительное свойство «Подразделение» в справочник «Способы отражения расходов в ЗУП» и пробежаться по каждой строке во вкладке «Начисленная зарплата и взносы», подменив заполненное подразделение.
Мы тоже столкнулись с такой потребностью. Пока решили следующим образом:
- Для подразделения можно указать подразделение МВЗ (места возникновения затрат).
- Пришлось добавить «виртуальные» подразделения в список подразделений
- При заполнении отражения в учете в субконто подставляем подразделение МВЗ, если оно указано в подразделении.
Итак, резюмируя вышесказанное, хочется сказать, что при возникновении проблем при синхронизации данных зарплаты и бухгалтерии всегда можно найти подходящее решение. Надеюсь, что данный материал вам немного в этом поможет.
Но в любом случае вы всегда можете обратиться в нашу компанию ООО «Кодерлайн», которая уже имеет свою разветвленную сеть подразделений во многих городах России и ближнего зарубежья, а также активно предоставляет услуги по удаленному обслуживанию через различные интернет-ресурсы.
Задвоились предопределенные элементы справочников? Выход есть!
Это может произойти как по причине того, что при обмене данными в режиме загрузки уникальность предопределенного элемента в пределах области информационной базы не проверяется, так и при объединении/обновлении конфигураций.
В этой статье мы напишем обработку, которая позволит избавиться от дублей предопределенных элементов справочника.
- Первым делом мы найдем задвоенные (затроенные и т.д.) предопределенные элементы всех справочников.
- Затем определим на какие элементы больше всего ссылаются другие объекты базы.
- С учетом количества ссылок, определим как «правильные» те, на которые меньше всего других ссылок.
- Оставим эти элементы предопределенными, а дубликаты сделаем непредопределенными (наименование сделаем как у предопределенных, для возможности дальнейшей замены всех ссылок на «правильный» соответствующий предопределенный элемент справочника).
- Дальше можно заменить все ссылки объектов к этим дубликатам ссылками на те элементы, которые мы решили оставить предопределенными и при необходимости удалить дубликаты. Мы просто предложим пометить дубликаты на удаление.
Создадим новую обработку, и добавим табличную часть «ЗадублированныеСправочники»:
Реквизиты табличной части «ИмяСправочника», «СинонимСправочника» и «ИмяПредопределенныхДанных» - переменная строка неограниченной длины;
«КоличествоДублей» и «КоличествоСсылок» - неотрицательное число;
«ЭлементСправочника» тип «Справочник».
Создадим основную форму и разместим на ней табличную часть и кнопки «1. Заполнить», «2. Подсказать правильные», «3. Оставить предопределенными только отмеченные»:
В теле процедуры обработчика нажатия кнопки «1. Заполнить» будем вызывать процедуру ЗадублированныеСправочникиЗаполнить()
В процессе работы данной процедуры мы будем следить за тем, какие справочники проверяются на дубли в специальном окне:
Это окно реализовано функцией глобального контекста ПоказатьОповещениеПользователя()
При окончании процедуры мы получим заполненную дубликатами табличную часть, в колонке «Правильные» указывается предопределенный элемент справочника, который необходимо оставить:
Теперь пользователь может либо сам определить «правильные» предопределенные, либо воспользоваться подсказкой по кнопке «2. Подсказать правильные».
В теле процедуры обработчика нажатия этой кнопки будем вызывать процедуру ПодсказатьПравильные() – как уже было сказано, подсказка заключается в определении количества ссылающихся объектов информационной базы на предопределенный элемент справочника – чем больше ссылок на элемент, тем он «правильнее» (меньше ссылок придется заменять в дальнейшем):
Данная операция будет довольно длительной – производится поиск всех ссылающихся объектов, по окончании мы получим рекомендации:
Теперь пользователь может определить «правильный» элемент, руководствуясь данными о количестве ссылающихся объектов базы на конкретный элемент предопределенного справочника:
В теле процедуры обработчика нажатия кнопки «3. Оставить предопределенными только отмеченные» будем вызывать процедуру ОставитьТолькоОдинПредопределенный(). Кстати, спросим – помечать ли на удаление «неправильные».
PS: в конфигураторе задвоений не наблюдается..
Бывает такое после обмена, и проблема всплывает на 8.3. Дело в том, что предопределенность справочника теперь изменчива.
У справочника есть теперь реквизит "ИмяПредопределенныхДанных". Его можно очищать и писать. Конечно, если Вы руками попробуете двум элементам присвоить одинаковое значение, то платформа Вам скажет "ата-та", и Вы не накосячите. но есть случаи, когда платформа не властна над записью элементов справочника. Я говорю о РИБе - распределенной информационной базе. Если при записи элемента режим обмен.загрузка = ИСТИНА, то никакого контроля нет. Раньше это приводило к неуникальности кодов справочников и документов.
Теперь это может привести и к неуникальности имени предопределенного элемента.
Опишу практический пример того, как это бывает:
1. Имеем две базы, в которой есть данные. и есть справочник с предопределенными элементами. При создании баз уникальный идентификатор у них создался разный.
2. Мы выгружаем данные универсальной выгрузкой XML или средствами РИБ.
3. Загружаем XML файл.
4. Платформа синхронизирует все и вся по уникальному идентификатору, а он разный. она не находит элементы и создает новые. Режим обмен.Загрузка у нас ИСТИНА. Контроля при записи нет никакого.
Все, мы получили косяк, грозящий нам большими проблемами. При попытке пометить элемент на удаление мы имеем много мата со стороны платформы:
"Предопределенный элемент не уникален"
Как бороться?
1. Рисуем в форме элемента поле "ИмяПредопределенныхДанных", доступное для редактирования.
2. Открываем форму одного из дублей, обязательно меняем имя и стираем ИмяПредопределенныхДанных.
3. Записываем элемент
Все, готово. Теперь мы сможем пометить элемент на удаление.
Если конфигурация типовая и редактировать её нельзя, то пишем обработку, которая сотрет ИмяПредопределенныхДанных и допишет "1" в имя.
Отвечу: а как Вы узнаете, какой элемент надо оставить, кто из них сейчас сидит как ссылка в данных? Так Вы их сможете визуально отличить. Скорее всего у Вас будут ссылки на оба элемента и Вам понадобиться обработка по поиску и замене значений. При её использовании будет удобнее, если имена будут отличаться.
Если очистить "Имя предопределенных данных" ругается "Не предопределенные объекты не могут иметь предопределенные записи видов субконто", если изменить название ругается "Предопределенный элемент не принадлежит ПланСчетов.Хозрасчетный". Программно также не помогает..те же ругательства..Засада какая-то..
Бухгалтерия 8.3 это абзац.. да..Добавил прав для удаления предопределенных элементов плана счетов, счета удаляются прекрасно, вот только ПоискИЗаменаЗначений тут не помощник..Откатил базу на четверг, ну а чо делать..А то что бухи всю пятницу набивали спишу на неожиданную срочность от финдиректора..Ребята, не наступайте на эти грабли! Пользуйтесь конвертацией!)
Ну только если она поможет..
С конвертацией бывает также фигня, а если перед сохранением удалить субконто?
Описанный выше способ на справочниках работает на ура, с планом счетов не пробовал
Читайте также: