![]() |
|
Конвертация строки в справочник | ☑ | ||
---|---|---|---|---|
0
Lohmatiy
02.11.11
✎
23:06
|
Люди добрые, не откажите в помощи!
У меня ситуация такая: В базе Источник есть Справочник А. В базе Приемник есть Справочник А, но с реквизитом ДопРеквизит типа Справочник Б (причем, в Источнике справочника Б нет вообще). Мне нужно сделать следующее: перед выгрузкой данных из Источника выскакивает диалог, в котором вводится некий Текст. Затем при загрузке по этому Тексту ищется по наименованию элемент справочника Б. Если находится, подставляется в загружаемый справочник А, если не находится, то сначала создаётся, а потом подставляется. Вот никак не могу такие правила сочинить... |
|||
1
Lohmatiy
02.11.11
✎
23:08
|
*Если находится, подставляется в загружаемый справочник А, если не находится, то сначала создаётся, а потом подставляется.
- Здесь имеется в виду, что подставляется в реквизит ДопРеквизит Справочника А, а не вместо Справочника А. |
|||
2
Lohmatiy
02.11.11
✎
23:21
|
.
|
|||
3
acsent
02.11.11
✎
23:24
|
Значение = Новый Структура("Наименование", ТутТвояСтрока)
|
|||
4
Armando
02.11.11
✎
23:26
|
Крайне не надежная схема.
Что мешает доработать источник? И иметь человеческий обмен. |
|||
5
Lohmatiy
02.11.11
✎
23:33
|
Ну, история долгая... Источник должен быть полностью типовым. Это обязательно.
|
|||
6
Lohmatiy
02.11.11
✎
23:34
|
(3) Это при выгрузке объекта Справочник А должно быть, да?
|
|||
7
Armando
02.11.11
✎
23:41
|
(5) Справочник А в источнике не поддерживает свойства и категории?
|
|||
8
Lohmatiy
02.11.11
✎
23:48
|
(7) Нет, не поддерживает. Сейчас объясню. Этот обмен не будет постоянно работать. Его нужно будет провести один-два раза. Поэтому ненадёжность схемы здесь не критична. Можно предложить другие варианты, но это сейчас не так важно. Я видел, как обрабатывается конвертация строки в перечисление. Там всё просто. Настраивается синхронизация значений и всё. Но здесь так не получится, к сожалению. И вот я и думаю, как бы сделать...
|
|||
9
Сияющий Асинхраль
02.11.11
✎
23:49
|
Ну и добавь строковый параметр
|
|||
10
Lohmatiy
02.11.11
✎
23:51
|
(9) Я просто не совсем представляю, куда его добавить и как потом при загрузке отыскать. Везде по-разному пишут, а у меня ни так, ни эдак не получается...
|
|||
11
Сияющий Асинхраль
02.11.11
✎
23:55
|
У тебя для каждого элемента основного справочника это наименование различно, или одно на все элементы?
|
|||
12
Lohmatiy
03.11.11
✎
00:00
|
Одно на все.
|
|||
13
Сияющий Асинхраль
03.11.11
✎
00:07
|
Тогда действительно либо строковым параметром, вводимым при выгрузке, либо просто и тупо добавить конвертацию конкретной строки в справочник с поиском по наименованию
|
|||
14
Lohmatiy
03.11.11
✎
00:18
|
Написал в правиле конвертации Справочника А
ПередВыгрузкой: Параметры.Вставить("мСтрока", "АБВ"); ПередЗагрузкой: Сообщить(Параметры.Количество()); Он мне при загрузке пишет, что 0. Вот в этом и весь вопрос. Как его попросить передать параметр нормально? |
|||
15
Lohmatiy
03.11.11
✎
00:21
|
(13) Там совсем конкретной нельзя, т.к. она может быть какая угодно. Но для текущей выгрузки одинаковой для всех элементов справочника.
|
|||
16
Lohmatiy
03.11.11
✎
00:30
|
Ладно, утро вечера мудренее. Всем спасибо за ответы, если до завтра никто ничего не предложит, ещё раз тему подниму.
|
|||
17
Lohmatiy
03.11.11
✎
09:34
|
Всем привет ещё раз!
Проблема пока остаётся нерешенной. Буду благодарен за советы! |
|||
18
Defender aka LINN
03.11.11
✎
09:39
|
(17) "Проблему" решили еще в (3)
|
|||
19
FIXXXL
03.11.11
✎
09:44
|
(17) большой справочник-то?
а то выгрузи его в эксель, пусть там сразу проставят твои строки, потом с экселя грузи-ищи-записывай если работа единоразовая... |
|||
20
Lohmatiy
03.11.11
✎
10:33
|
(18) Можно сколько угодно умничать и отвечать односложными фразами, только это вряд ли поможет кому-то.
(19) Нет. Через Эксель нельзя, к сожалению. Нужно через конвертацию. |
|||
21
Lohmatiy
03.11.11
✎
11:12
|
Значит, сделал в итоге так:
1. В справочнике Конвертации на закладке Параметры создаём НашПараметр, заполняем все колонки, кроме Правил конвертации. 2. Создаем правило конвертации объекта. Источник пустой, Приемник - Справочник Б. 3. В правиле конвертации свойств объекта: Источник - пустой Приемник - Наименование (реквизит справочника Б) Перед выгрузкой пишем код: Значение = Параметры.НашПараметр; Вот и всё. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |