Регистрация Правила Главная форума Поиск |
0
- 12.12.2019 - 20:46
|
Всем привет. Имеем такую ситуацию: Есть база на 7.7, и в ней есть некоторый справочник. В справочнике есть реквизит строка неограниченной длины В этом реквизите хранится таблица значений, преобразованная в строку методом ЗначениеВСтрокуВнутр(). | |
1
- 12.12.2019 - 20:50
|
В этой таблице - ссылки на элементы справочника Контрагенты (или какого-нибудь другого справочника, не суть важно). Выглядит это примерно так: Отредактировано EarlyBird; 12.12.2019 в 20:52. Причина: апаыпап | |
2
- 12.12.2019 - 20:54
| | |
3
- 12.12.2019 - 20:59
|
Переношу этот справочник в другую базу через текстовый файл, с помощью Export77 / Import77. (Перенос по OLE невозможен, базы находятся в разных сетях.) При переносе наткнулся на неприятный сюрприз: если переносить строковый реквизит "дословно", то при преобразовании в ТЗ получаю фигу - все ссылки на справочник пустые. В общем-то понятно, почему это произошло (потому что я перенёс внутренние идентификаторы). Непонятно другое - как это пофиксить? Кто что посоветует? | |
4
- 12.12.2019 - 21:08
|
Пока родилась следующая идея: перед переносом выполнить конвертацию ссылок. То есть, в каждом элементе справочника сделать следующее: 1) распаковать строку в ТЗ методом ЗначениеИзСтрокиВнутр() 2) запаковать обратно методом ЗначениеВСтроку() 3) записать элемент. При такой конвертации в строке будут не внутренние идентификаторы, а нормальные коды элементов, и это всё должно поехать норм. | |
5
- 12.12.2019 - 22:51
| Нахрена передавать ТЗ, если используешь текстовый файл? Формируй сразу нормальный текстовый файл, который удобно обработать на стороне приемника. И будет счастье | |
6
- 13.12.2019 - 06:42
| Я не передаю тз. Я выгружаю в текстовый файл (через Export77) справочник, в котором есть реквизит длинная строка. В этой длинной строке - ТЗ со ссылками на контрагентов. Всё это нормально затягивается в приёмник (через Import77), но когда из строки распаковываешь ТЗ, получается хрень (ссылки невалидны). Блин по новой весь сабж пришлось повторить. | |
7
- 13.12.2019 - 06:48
|
Возникает конечно резонный вопрос - кто додумался хранить таблицу значений в длинной строке в реквизите справочника? Но так исторически сложилось, это данность, с которой мне остаётся только смириться на данном этапе. (За "переделать по-нормальному" деньги не заплатят) | |
8
- 13.12.2019 - 07:23
| (6)Ну уж извините, что заставил повториться. Как вариант, можно сделать модифицированную (нетиповую) Export77. В ней поймать выгрузку этой строки, преобразовать в ТЗ, сделать "правильную" ТЗ без ссылок, снова превратить в строку и выгрузить. То есть сделать своеобразное правило конвертации. Это дело вкуса, но мне больше нравится правильно готовить данные на стороне источника. | |
9
- 13.12.2019 - 09:11
| 8-USSR > да, это хорошее решение, допилю Export77 | |
| Интернет-форум Краснодарского края и Краснодара |