Получить все реквизиты и их значения для любого документа #750518


#0 by Fanyn
Добрый день. Мне необходимо получить все реквизиты и их значения для любого, выбранного пользователем, документа. Названия реквизитов я получила. Подскажите, пожалуйста как получить их значения и стоит ли для значений создать отдельный массив или же создать Таблицу Значений? P.S. кодить на 1с только начала. Почти ничего не знаю :( Заранее спасибо!
#1 by Fanyn
Для получения названий реквизитов использую выше указанный код.
#2 by jsmith82
Муторно как-то. Лучше звёздочкой
#3 by 1Сергей
а ничо, что имена реквизитов в шапке и в табличных частях могут совпадать?
#4 by Fanyn
Извините, я нуб, поэтому нужно разжевать :) МассивИменРеквизитов.Добавить(РеквизитТЧ.*);              В данной строке?
#5 by jsmith82
Не-не, ты чо
#6 by Fanyn
Абсолютно согласна, но пока не считаю это таким уж важным, как только получу значения реквизитов, вернусь к данной проблеме :)
#7 by jsmith82
#8 by Fanyn
мне потом эти реквизиты в файл записать нужно будет
#9 by jsmith82
Ну, и в текст запроса можно добавить поля, которых не хватает. Не помню щас, нужно ли табличные отдельно прописывать, но там тоже будет через скобку и *.
#10 by jsmith82
Хотя для табличных частей лучше свои отдельные таблицы. Запрос на шапку и запросы на каждую ТЧ. Выгрузка в ТЗ, доступ к именам колонок через Колонки.
#11 by magicSan
Какая страшная логика у человека "МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипЗнч(Объект));"
#12 by jsmith82
Ну да, проще Объект.Метаданные
#13 by magicSan
Это логичнее поэтому для нормальных выглядит как проще
#14 by magicSan
ей же написано значения объекта - как вообще до такой уйни можно было додуматся?
#15 by Fanyn
до этого я код не писала вообще, запросы строила с помощью Схемы компоновки данных. До того что есть додумалась с помощью гугла и аналогичных тем на форумах :)
#16 by Fish
Может, где-то набор новичков идёт и это у них тестовые задания? Недавно похожее что-то было:
#17 by jsmith82
#18 by jsmith82
#19 by Fanyn
Ошибка передачи данныых. {Форма.Форма.Форма}: Ошибка при вызове метода контекста (МассивИменРеквизитовОбъекта)     МассивРеквиз = МассивИменРеквизитовОбъекта(Док); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: НачалоСвойства: ret    Форма: Элемент    Тип: { по причине: Ошибка преобразования данных XDTO: НачалоСвойства: Value    Форма: Элемент    Тип: { по причине: Ошибка отображения типов: Отсутствует отображение для типа '{' Я с такой сталквалась, если в строке убрать Имя после точки. Я так понимаю, он передает таблицу а ждет массив?
#20 by jsmith82
не понял. код выложи функции
#21 by Fanyn
код функции полностью ваш, только добавила строку после цикла
#22 by Fanyn
&НаКлиенте
#23 by jsmith82
...
#24 by jsmith82
Я написал для ОФ, а для УФ одну строчку изменил
#25 by jsmith82
Хотя тоже непонятно. Что за Объект.Документ
#26 by Fanyn
Документ - это реквизит на форме обработки, документ выбираемый пользователем
#27 by jsmith82
А, понял, ТЗ на клиент идёт
#28 by jsmith82
ValueTable
#29 by jsmith82
#30 by jsmith82
ИмяМодуля тут имя модуля в конфигурации, который содержит функцию ТаблицаЗначенийВМассив. Если типовая, то такой модуль должен быть. Сделай глобальный поиск. Если нет, скопируй из типовой. Там не должно быть ссылок на иные функции, а если и есть, то не больше одной-двух.
#31 by Fanyn
я пишу внешнюю обработку, функцию в модуль обработки вставила. Где теперь посмотреть имя модуля для вставленной функции (конфигурация не типовая)
#32 by jsmith82
найди в любой типовой. в УТ 11, в Бух 30 щас посмотрю у себя
#33 by Fanyn
нашла, но проблема с переносом данных между клиентом и сервером осталась..
#34 by jsmith82
Такого быть не могёт. Та же ошибка?
#35 by jsmith82
Кинь обработку, если чо
#36 by Fanyn
Могу, куда кинуть?
#37 by jsmith82
Пжжи
#38 by jsmith82
Понял, в чём ошибка. Щас
#39 by jsmith82
#40 by jsmith82
Запрос табличные части выгружал как таблицы значений. Надо было их удалить
#41 by jsmith82
Ну, конечно, сам сабж довольно спорен, в т.ч. под вопросом передача на клиент. Задача не ясна точно, но код рабочий
#42 by magicSan
Какие ужасы ..... может
#43 by jsmith82
шо это было? О_о
#44 by magicSan
Все реквизиты со значениями и тз табличных частей а чо ты там нагородил я хз - вырви глаз какой-то
#45 by jsmith82
Ну ты скажешь тоже. Вывалил в окно служебных сообщений и празднуешь? У меня хотя бы в удобоваримый класс пакуется, с которым работать можно
#46 by magicSan
я хз куда там покавать и в каком виде это не приницпиально. надо руки отрезать ......
#47 by jsmith82
чо те не нравится?
#48 by magicSan
нахера брать все значения табличных частей документов типа объекта???
#49 by jsmith82
Ессно нахера. Я же не экзамен сдаю ёптить. Написал от балды, чтобы тупо работало.
#50 by jsmith82
У тя так вообще хрен пойми чо написано. Вывалил в стек и доволен
#51 by jsmith82
)
#52 by magicSan
#53 by magicSan
У меня 4 быстро работоющих строчки а твое Уг зависает...
#54 by jsmith82
И что ты хотел этим доказать? У меня ещё на клиент передаётся, а у тебя вырубится с ошибкой. Это тоже было в требованиях от ТС
#55 by jsmith82
Почему зависает-то? И там, и тут обращение к серверу. Кэшируется как-то круче у тебя?
#56 by jsmith82
Короче, раскритиковал мой код, сам ничё не предложил, чтобы отвечало требованиям, и раздулся от важности )
#57 by magicSan
то вывод не нравится то передача на сервер - детский сад. такие мелочи самому не смешно ими аргументировать? Твое угу тянет все значения табличных частей - которыхх миллионы - какой нахер кэш??? тебя просили реквизиты и значения выбраного документы - чиатать научись - я это вывожу если ыт неспособен понять 4 строчки - в ясли.
#58 by jsmith82
У тебя типа такая установка "вот вам код, если не работает или чёто не хватает, в ясли".
#59 by Fanyn
Спасибо, проблема решена :) Однако еще вопрос ТЗ записывается в двумерный массив (видимо) и когда я циклом пытаюсь записать ее в файл то записывается просто строка "Структура". Вы не подскажете как правильнее массив разобрать по столбцам?
#60 by jsmith82
Ты как в файл записываешь? Строчно? Зачем? Сериализация не нужна? Задача просто показать, что умеешь?
#61 by Fanyn
да, сериализацию использовать нельзя и функции записи xml. В файл записываю строки: Реквизиты в виде: имяреквизита=значение|имя=значение| И тд
#63 by Fanyn
Результат записи: Кредитный договор 000000001 от 14.03.2013 0:00:00 Кредитный договор Проведен=Структура|Ссылка=Структура|ПометкаУдаления=Структура|Дата=Структура|Номер=Структура|Клиент=Структура|Сотрудник=Структура|СуммаКредита=Структура|Ставка=Структура|Срок=Структура|
#64 by jsmith82
Щас скажу
#65 by jsmith82
#66 by jsmith82
Ну, а записать ставь там, где получаешь значение
#67 by Fanyn
Ошибка: {Форма.Форма.Форма}: Итератор для значения не определен     Для Каждого ЭММ ИЗ Э0 Цикл
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С