|
Выгрузка/загрузка данных из документа 1с в txt файл | ☑ | ||
---|---|---|---|---|
0
Pyryrym
31.08.20
✎
17:57
|
У меня есть обработка, которая берет реквизиты документа и сохраняет их в txt файл. например вот так:
Номенклатура|Яблоки Цена|10000 откуда получаю После чего мне нужно загрузить эти данные обратно. И если дело касается реквизитов с типом Строка, Число и т.п., о никаких проблем нет, но с типом СправочникСсылка, например, значения 1с уже не может вставить. Есть ли какой нибудь способ получить, например, ссылку справочника, имея только имя? Еще, проблема в том, что Типы могут быть из различных справочников, перечислений и т.д., то есть использование НайтиПоНаименованию не подходит. Использовать значениевстрокувнутр нельзя |
|||
1
ДенисЧ
31.08.20
✎
17:58
|
Ну так выгружай правильно... С видом справочника и гуидом...
|
|||
2
Йохохо
31.08.20
✎
18:01
|
бывает крыжик, что код уникален
|
|||
3
Pyryrym
31.08.20
✎
18:04
|
(2) Я не совсем понимаю смысл слова крыжик
|
|||
4
Pyryrym
31.08.20
✎
18:04
|
(1) GUID нельзя использовать
|
|||
5
H A D G E H O G s
31.08.20
✎
18:07
|
(4) почему?
|
|||
6
Глупый ответ
31.08.20
✎
18:08
|
(4) заведи регистр и в него пиши, ссылка, строка(наименование).
|
|||
7
Глупый ответ
31.08.20
✎
18:08
|
(5) религия запрещает.
|
|||
8
Pyryrym
31.08.20
✎
18:11
|
(5) Задание такое
"Необходимо использовать метаданные,запрещено использовать функции "ЗначениеВСтрокуВнутр()" ,"Уникальные Идентификатор()" и подобные функции ,выгружающие уник. идентификаторы объектов , запрещается использовать выгрузку и загрузку в XML и JSON" |
|||
9
ДенисЧ
31.08.20
✎
18:12
|
(4) Расстреливают за него?
|
|||
10
ДенисЧ
31.08.20
✎
18:12
|
(8) Ну а вид и тип выгружать можно? И что тогда будешь делать с дублями наименований?
Можно ещё к наименованию код выгружать... |
|||
11
d4rkmesa
31.08.20
✎
18:18
|
(0) "Еще, проблема в том, что Типы могут быть из различных справочников, перечислений и т.д., то есть использование НайтиПоНаименованию не подходит. "
Не совсем понял, почему тогда НайтиПоНаименованию не подходит. |
|||
12
Йохохо
31.08.20
✎
18:19
|
(3) галка контролировать уникальность
|
|||
13
Йохохо
31.08.20
✎
18:20
|
(8) наверняка эта конфа наследована от других заданий и достаточно ее открыть
|
|||
14
Pyryrym
31.08.20
✎
18:34
|
(11) Вообще подходит, просто я не до конца понимаю, можно ли ее использовать, не перебирая все справочники?
Например При выгрузке Множество = ТипЗнч(Документ[ИмяРеквизита]) (СправочникСсылка.имяСправочника) При загрузке НовыйДокумент[ИмяРеквизита] = Множество.НайтиПоНаименованию."НаименованиеРеквизита". Можно ли так сделать, или, как мне изначально представлялось, нужно будет обходить все справочники, смотреть, есть ли совпадения названий, и потом уже искать по наименованию |
|||
15
dka80
31.08.20
✎
18:42
|
Это задание тут раз десять уже было. Воспользуйся поиском
|
|||
16
Fish
31.08.20
✎
18:49
|
(14) Зачем перебирать все справочники? В (0) у тебя есть имя реквизита. По нему ты можешь легко получить тип этого реквизита и искать уже по наименованию в нужном объекте метаданных.
|
|||
17
Fish
31.08.20
✎
18:50
|
+(16) Вот если там будет составной тип, тогда немного сложнее.
|
|||
18
Pyryrym
31.08.20
✎
18:55
|
(17) я не понял, как получить по реквизиту его тип
|
|||
19
RomanYS
31.08.20
✎
18:57
|
(18) из метаданных
|
|||
20
Pyryrym
31.08.20
✎
19:01
|
А можно, пожалуйста, кодом, я по всякому попробовал, не получается
|
|||
21
Pyryrym
31.08.20
✎
19:32
|
Для Каждого Реквизит Из Документ.Метаданные().Реквизиты Цикл
ТипРеквизита = Реквизит.Тип; КонецЦикла; Тут тип у меня ПеречислениеСсылка.Название, однако присваивается СинонимНазвания |
|||
22
RomanYS
31.08.20
✎
19:40
|
(21) почитай про описание типов и чем оно отличается от типа.
ОписаниеТипаРеквизита = Документ.Метаданные().Реквизиты[ИмяРеквизита].Тип; ТипРеквизита = ОписаниеТипаРеквизита.Типы()[0];//только для простого(не составного) типа далее по типу тебе придётся нужного менеджера объекта получить |
|||
23
Pyryrym
31.08.20
✎
19:42
|
(22) Спасибо большое, даже не слышал про описание типов
|
|||
24
Pyryrym
01.09.20
✎
14:56
|
(22) С типами я разобрался, не понимаю, зачем менеджер объекта
|
|||
25
RomanYS
01.09.20
✎
15:29
|
(24)
МенеджерОбъекта.НайтиПоНаименованию(...) или МенеджерОбъекта.НайтиПоКоду(...). можно конечно запросом искать, но всё равно по типу нужно будет имя таблицы получить |
|||
26
Shecurok
01.09.20
✎
15:37
|
(24) привет. есть возможность отправить обрбаотку на почту? [email protected]
|
|||
27
МихаилМ
01.09.20
✎
15:48
|
||||
28
Pyryrym
01.09.20
✎
16:38
|
(25) не подскажешь, как можно получить менеджер объекта. Плюс, у меня у реквизита где тип указан СправочникСсылка.Название, отладчик говорит, что значение - синоним справочника, это так и должно быть:
|
|||
29
Shecurok
01.09.20
✎
16:42
|
(28) очень прошу, скинь обработку на почту. необходимо переместить реквизит типа строка из одной базы в другую. Судя по описанию твоя подойдет. Если бы я мог помочь в решении твоей проблемы, то естественно помог бы.
|
|||
30
Shecurok
01.09.20
✎
16:46
|
могу в обмен (ну мало ли на будущее пригодится) скинуть обработку по установке предопределнных элементов (на infostart 2sm стоит)
|
|||
31
rudnitskij
01.09.20
✎
18:55
|
(18) "я не понял, как получить по реквизиту его тип" - зачем он вам нужен? Вам нужен тип значения, который в нем записан - для записи в файл. Он точно не будет составным
|
|||
32
Pyryrym
01.09.20
✎
20:34
|
(31) то есть, тип значения реквизита и тип реквизита разные вещи?
|
|||
33
RomanYS
01.09.20
✎
21:21
|
(32) Это ты на (22)(23) должен был осознать: в метаданных описание типов(которое в общем случае может быть составное) а у значения совершенно конкретный тип.
|
|||
34
Pyryrym
02.09.20
✎
14:04
|
(33) У меня еще один вопрос возник - есть ли в синтаксисе языка именно такая конструкция - МенеджерОбъекта.НайтиПоНаименованию(...), То есть обращаться к менеджеру через переменную, или только
Если тип = перечисление, то Перечисление.НайтиПоИменованию |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |