Имя: Пароль:
1C
1С v8
Задача по перезагрузки документа
, ,
0 Nikname232
 
18.06.16
15:57
Приветствую вас, форумчане. Имеется один вопрос, который еще задавался здесь v8: "Перегрузка документа" Изучаю 1С четвёртый день :) . Задача та же. Я понимаю, задача не из легких и я не прошу написать за меня код, кто может мне объяснить как собрать все данные документа с помощью метаданных?
1 zak555
 
18.06.16
15:59
так в 17 ответ
2 Nikname232
 
18.06.16
16:06
(1) Да, я это изучал, вот в задаче имеется пункт, что нельзя использовать xml. А про метаданные в 17 ответе нет ни слова.
3 Nikname232
 
18.06.16
16:47
Не зная на сколько правильно я делаю вот что получается
:

&НаСервере
Процедура РаботаСМетаданными (Документ)
    МетаданныеО = Метаданные.Документы;
    Объект1 = ДОкумент.Ссылка.Метаданные();
    
    СП = Новый Структура();    
    
     Текст = "";
Для Каждого реквизит ИЗ объект1.реквизиты Цикл
СП.Вставить(Реквизит.Имя);
ТТТ = "";
    
КонецЦикла;

Для каждого Элемент Из СП Цикл
   ТТТ = ТТТ + Элемент.Ключ + " = " + ДОкумент.Ссылка[Элемент.Ключ] +  Символы.ПС;
    КонецЦикла;

КонецПроцедуры


Теперь вопрос такой, а как свойства формы в текст записать?
4 Garykom
 
гуру
18.06.16
16:54
Чем то это напоминает куяк, куяк и за 4 дня в дамки.
5 Garykom
 
гуру
18.06.16
16:56
ТС для начала пойми что "информация документа" которую хотишь "записать в файл" не линейная текстовая. А объектно/иерархическая.

К примеру при загрузке документа выясняется что организации или контрагента или чего другого (реквизит шапки или ТЧ ссылочного типа) нету в базу куда загружаем из файла.

Что будем делать?

ЗЫ Правильный ответ "Изучать КД2"
6 zak555
 
18.06.16
17:01
(2) чо можно использовать ?
7 Nikname232
 
18.06.16
17:02
(6) нужно в txt
8 Garykom
 
гуру
18.06.16
17:03
(7) Не подскажешь что изменится если расширение .xml поменять на .txt ?
9 Garykom
 
гуру
18.06.16
17:04
(8)+ Не знать что XML это обычный текстовый файл... мдя...
10 Nikname232
 
18.06.16
17:05
(9) это я знаю, но сама задача заключается в том, чтобы в txt записать.
11 Garykom
 
гуру
18.06.16
17:07
(10) Берешь XML, кодируешь Base64 и записывай куда хочешь, хоть в txt.
12 Garykom
 
гуру
18.06.16
17:07
(11)+ А против JSON нет предубеждений?
13 Nikname232
 
18.06.16
17:09
(12) Нет. про это ни слова.
(11) Ключевое слово "Берешь xml" - нельзя брать :D
14 Garykom
 
гуру
18.06.16
17:12
Изучил ветку по задаче и понял смысл задания.

Кароче ТС придумывай свою сериализацию с любым способом разметки. Технически можно и XML но все врукопашную без готовых парсеров/сериализаторов.

Т.е. через метаданные обходишь все реквизиты документа, если реквизит (причем не пустой) это ссылка то рекурсия и обход реквизитов объекта что по ссылке.
Далее все это сам сериализуешь в текст и пишешь.

При чтении все назад причем нужно предусмотреть как просто нахождение в базе существующих объектов ссылочных, так и их создание/обновление.
15 Nikname232
 
18.06.16
17:12
Задача в том, чтобы записать с одной конфигурации документ в txt, и этот txt файл выгрузить в другую конфигурацию, чтобы они были одинаковые на вид.
16 Nikname232
 
18.06.16
17:14
(15) И проводились
17 Garykom
 
гуру
18.06.16
17:15
(15) Мы то поняли, а сам то понял сложность задачи? Честно скажу без опыта программирования до этого и/или знания других языков.
Новичек полный в 1С не может решить эту задачу самостоятельно в разумные сроки.

Разумный срок для спеца на такую задачу не более 10 часов. Для новичка почти нереально уложиться в месяц.
18 Garykom
 
гуру
18.06.16
17:16
(16) Не смеши, проведение это простейшее.

Там не проведение нуна кстати, а статус документа - 2 флага "пометка удаления" и "проведен" сохранять и восстанавливать.
19 Garykom
 
гуру
18.06.16
17:17
(18)+ Т.е. как понял полный перенос документа (про прочие объекты нет данных) за исключением его "Номер" который следующий порядковый из базы.
20 Nikname232
 
18.06.16
17:21
(19)  а я наивно полагал, что есть вариант записать все данные с документа в том числе и свойства формы и залить в другую базу )) Не так то все просто походу.
21 Garykom
 
гуру
18.06.16
17:24
(20) ХеХе ))
22 RomanYS
 
18.06.16
17:24
(15) ЗначениеВФайл - ЗначениеИзФайла, для одинаковых конфигураций подойдет
23 Nikname232
 
18.06.16
17:26
(22) Да, знаю, но к сожаленью тоже нельзя.
24 Рэйв
 
18.06.16
17:29
(23)Это почему еще?
25 RomanYS
 
18.06.16
17:31
(24) Ну нельзя же просто взять... и решить ). Походу нельзя использовать средства, которые могут привести к решению задачи ))).
26 Nikname232
 
18.06.16
17:33
(25) и смех и грех ))
27 Garykom
 
гуру
18.06.16
17:34
(24) Читы запрещены.
28 Garykom
 
гуру
18.06.16
17:35
(27)+ Но паравоз разрешен как и донат ))
29 Рэйв
 
18.06.16
17:42
Как все сложно то :-)...
30 Nikname232
 
18.06.16
17:43
(29) Легких путей не ищем
31 Рэйв
 
18.06.16
17:44
(30)Я заметил.
32 Nikname232
 
18.06.16
17:44
Вот нашел еще такую тему, правда давняя, но задача та же v8: v8: Перезагрузка документа. УТ
33 Garykom
 
гуру
18.06.16
17:46
(32) Те еще рано темы или готовый код искать.
Сначала на бумажке/в екселе распиши по шагам что и как делать нуна.
Выложи сюды те подскажут что забыл ))

А вот когда план будет уже можно его курить, искать как каждый шаг/пункт выполнить.
34 Nikname232
 
18.06.16
17:51
(33) Дельный совет.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший