|
Использование Метаданных для получения всей информации из документа | ☑ | ||
---|---|---|---|---|
0
Hammond
17.10.20
✎
19:58
|
Добрый Вечер, господа!
Есть задание, сделать внешнюю обработку, на которой есть формы "Документ", где пользователь выбирает документ, "Файл", куда выбранный документ должен записываться. Также кнопки "Просмотр файла" "Выгрузить Документ" "загрузить Документ" суть работы такая: Нужно как-то считать все данные из выбранного пользователя документа. не могу разобраться, как это сделать. в задании написано "обязательно использовать метаданные". также нельзя использовать "ЗначениеВСтрокуВнутр()", "УникальныеИдентификатор()" и подобный функции. Загрузка должна производиться ТОЛЬКО в файл TXT. Формы я создал эти, но вот как выбрать через метаданные всю информацию из выбранного документа не знаю |
|||
1
acht
17.10.20
✎
20:07
|
Как, однако, у тебя много заданий-то... И со всеми на форум приходишь, да?
|
|||
2
МихаилМ
17.10.20
✎
20:08
|
из Вашего сообщения понятно , что задание
вы должны сделать самостоятельно. |
|||
3
Hammond
17.10.20
✎
20:11
|
Я и делаю, просто нуждаюсь в некоторых подсказках, так как только знакомлюсь с 1с, и каждое задание для меня имеет определенные сложности, так как содержит еще неизвестные мне аспекты, которые я изучаю. а в таком нелегком задании пригодится любая помощь
|
|||
4
PR2
17.10.20
✎
20:13
|
(0) А в чем сложность-то?
|
|||
5
МихаилМ
17.10.20
✎
20:15
|
Вы не первый
https://www.cyberforum.ru/1c-standard/thread2312683.html а тут за деньги делали https://pro1c.org.ua/index.php?act=work&do=details&order=710 |
|||
6
Hammond
17.10.20
✎
20:17
|
я не знаком с метаданными вообще. я представляю, что это такое, поскольку весь день изучаю это. но все равно не понимаю, как получить именно информацию из документа
то есть я понял, как получить имена, синонимы всех документов в конфигурации через цикл, но как получить информацию из выбранного документа не понимаю |
|||
7
Hammond
17.10.20
✎
20:18
|
я понимаю, что не первый, но так и не нашел нигде помощи
|
|||
8
PR2
17.10.20
✎
20:20
|
(6) Вообще обычно помогает почитать СП и посмотреть типовые
Ну или накопить денег и платить тем, кто будет тебе все это рассказывать вместо СП и типовых |
|||
9
МихаилМ
17.10.20
✎
20:21
|
вот и на мисте уже были темы
как написать подскажите, литературу какую использовать? |
|||
10
Жан Пердежон
17.10.20
✎
20:22
|
можно и без метаданных, это даже проще
|
|||
11
Hammond
17.10.20
✎
20:22
|
к сожалению, обязательно использование метаданных, с которыми я встречаюсь первый раз
|
|||
12
Hammond
17.10.20
✎
20:22
|
(8) я ограничен во времени, поэтому и сижу на формах
|
|||
13
acht
17.10.20
✎
20:31
|
(12) А мог бы потратить время на учебу, т-щ хитрожопый студент.
Сдается мне, что это задание при приеме на работу в Новосибирске: v8: "Перегрузка документа" Изучаю 1С четвёртый день :) А мысль о том, что твои работодатели тоже читают этот форум, тебе не приходила? |
|||
14
Hammond
17.10.20
✎
20:34
|
Нет, вы не угадали, далеко не в Новосибирске, но суть задания достаточно похожая
к сожалению, ответа там я так и не нашел а насчет чтения работодателем, то такое может быть. но мне главное выполнить задание и понимать, как это работает. |
|||
15
acht
17.10.20
✎
20:39
|
(14) Ну ответ там и не дали ровно по той же причине.
|
|||
16
Hammond
17.10.20
✎
21:23
|
Знатоки, такой вопрос:
а я могу вообще получить список реквизитов документа? то есть я пишу метаданные.документ.авансовыйотчет.реквизиты и выдает "КоллекцияОбъектовМетаданных" а получить получить именно имена реквизитов? |
|||
17
mistеr
17.10.20
✎
21:24
|
(0) По-моему, с этой задачей раз в год приходят, если не чаще.
Подсказка. Через метаданые нужно получить имена всех реквизитов документа. Потом обратиться к каждому реквизиту по имени, получить его значение и записать в файл. |
|||
18
Hammond
17.10.20
✎
21:25
|
(17) Да, я так и подумал, но не удается получить имена реквизитов. (16)
|
|||
19
mistеr
17.10.20
✎
21:25
|
(16) Слово "Коллекция" намекает на то, что у нее есть методы, чтобы получить содержимое.
|
|||
20
Hammond
17.10.20
✎
21:29
|
я понимаю, но что это за метод не могу найти
то есть я пишу метаданные.документ.авансовыйотчет.реквизиты. и должен что-то выбрать, но что - загадка. скорее всего f(x) какую-то |
|||
21
hhhh
17.10.20
✎
21:47
|
(20) попробуй почитать про Для Каждого
|
|||
22
Hammond
17.10.20
✎
21:51
|
я знаком с циклами
|
|||
23
Hammond
17.10.20
✎
21:55
|
нашел в интернете функцию перебратьметаданные:
КоллекцияОбъектов = Метаданные.Документы; //Перебрать коллекцию объектов метаданных Для каждого Метаданное Из КоллекцияОбъектов Цикл Имя = Метаданное.Имя; Синоним = Метаданное.Синоним; Комментарий = Метаданное.Комментарий; КонецЦикла; я немного его изменил, КоллекцияОбъектов = Метаданные.Документы.АвансовыйОтчет.реквизиты в конце сообщить(имя); сообщить(синоним); и программа выдает имя ТОЛЬКО одного реквизита |
|||
24
acht
17.10.20
✎
21:57
|
(23) Ну ты же знаком с циклами
|
|||
25
Cthulhu
17.10.20
✎
22:00
|
нахрена изобретать велосипед?????? "все уже украли до нас" (с)
вариант текста - xml. никаких метаданных не надо. выгрузка - вполпинка. загрузка - вполпинка. |
|||
26
acht
17.10.20
✎
22:03
|
(25) Т-щ курсант, мне не надо лучше, мне надо, чтобы вы замучились.
|
|||
27
МихаилМ
17.10.20
✎
22:26
|
(25) тс не описал всего задания . по условиям нельзя использовать хмл джсан и пр. и внутренние идентификаторы.
|
|||
28
Конструктор1С
18.10.20
✎
07:30
|
(0) для данной задачи не нужны метаданные, XDTO рулит
|
|||
29
Конструктор1С
18.10.20
✎
07:32
|
(11) видимо авторы задачи сами рукозады
|
|||
30
hhhh
18.10.20
✎
09:07
|
(28) задача так сформулирована, использовать метаданные, XDTO запрещено
|
|||
31
ProxyInspector
18.10.20
✎
09:23
|
Что вы мучаете человека. Это же ваша смена
МетаданныеДокумента = ДокументСсылка.Метаданные(); Для Каждого МетаданныеДокументаРеквизит Из МетаданныеДокумента.Реквизиты Цикл ИмяРеквизита = МетаданныеДокументаРеквизит.Имя; СинонимРеквизита = МетаданныеДокументаРеквизит.Синоним; КонецЦикла; Для Каждого МетаданныеТабличнаяЧастьДокумента Из МетаданныеДокумента.ТабличныеЧасти Цикл ИмяТабличнойЧасти = МетаданныеТабличнаяЧастьДокумента.Имя; КонецЦикла; Ну и тае далее и тому подобное. Таким образом можно добраться до любого реквизита документа, определенного в конфигурации |
|||
32
hhhh
18.10.20
✎
09:31
|
(31) он так уже делал в (23). Не получилось. Наверно, родился под несчастливой звездой.
|
|||
33
ProxyInspector
18.10.20
✎
09:32
|
(32) Я думаю он победит
|
|||
34
mistеr
18.10.20
✎
11:37
|
(31) Лучше пусть он сейчас помучается, чтобы потом не мучить нас.
|
|||
35
PR2
18.10.20
✎
11:49
|
(12) Тот, кто ограничен во времени, должен быть неограничен в деньгах
Ну или самостоятельно укладываться в ограниченное время |
|||
36
PR2
18.10.20
✎
11:52
|
(31) Что ты лезешь со своим говнокодом, ТС знаком с циклами
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |