0 / 0 / 0
Регистрация: 18.06.2011
Сообщений: 37
1

Обращение к документу из кода

28.06.2011, 11:03. Показов 29310. Ответов 16
Метки нет (Все метки)

Приветствую вас
Вот например в коде

Код
 Докум. Фирма. ЮрЛицо.ЮрАдрес
Здесь все понятно, обращаемся к справочнику Фирма,далее там находится реквизит ЮрЛицо, потом обращаемся к справочнику ЮрЛицо, и там есть реквизит ЮрАдрес. Все просто. А вот как вытаскивать данные не из справочника, а из документа
Я пробовал вот так:

Код
 Док.Реализация.Телефон
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.06.2011, 11:03
Ответы с готовыми решениями:

Обращение к документу Access с паролем
Как должна выглядить строка подключения к документу Access c паролем ? Добавлено через 5 часов...

Обращение управляемого кода к неуправляемому
1)Вопрос такой как идет обращение неупрвляемого кода к управляемому?Сборщик мусора может чистить...

Ресурсы и файлы: обращение из кода
Добавил в проект изображения *проект* - Add - Existing items - *картинки* (скрин прикрепил)...

Обращение нескольких потоков к одному участку кода
Здравствуйте, недавно написал программку, которая запускает несколько потоков, ждёт их завершения,...

16
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
28.06.2011, 11:30 2
Изучай матчасть по адресу СоздатьОбъект :
Док = СоздатьОбъект("Документ.Реализация");
0
0 / 0 / 0
Регистрация: 18.06.2011
Сообщений: 37
28.06.2011, 11:51 3
Я так и сделал потом

Код
 Док1= СоздатьДокумент("РеализацияПрочее");
Срок=Док1.Комментарий
Но все равно не выводится
Почему РеализацияПрочее - потому что в этом справочнике есть поле комментарий, а в справочнике Реализация такого поля нету (хотя Openconf выводит)
0
0 / 0 / 0
Регистрация: 18.06.2011
Сообщений: 37
28.06.2011, 12:10 4
а когда пытаюсь сделать так как написано (вместо Док1, пишу Док), то он выдает ошибку
"Неаерное присвоение значение. Используйте Текущий документ()", хотя такой функции и в помине нету
0
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
28.06.2011, 12:25 5
СоздатьДокумент() - не существует, есть СОздатьОбъект() синтаксис выше привел vbs
Ну объект Док ты создал.. А документ нашел? а то получается "покажите мне накладную, номера не знаю, даты не знаю"
0
0 / 0 / 0
Регистрация: 18.06.2011
Сообщений: 37
28.06.2011, 12:27 6
И как находить Документ
0
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
28.06.2011, 12:54 7
а вот вопрос - что ты имеешь от документа? Номер,дату, значение какого-либо реквизита? Номер является уникальным в пределах периодичности документа (обычно год), тогда используешь Док.НайтиПоНомеру("01001001", 01.01.11). Если у тебя есть ссылка на документ тогда Док.Найтидокумент(ТекущийДокумент());, если у тебя есть значение реквизита - то Док.НайтиПоРеквизиту("Пользователь",ГлПользователь ) - но тут может быть промашка - реквизит не уникальный, а найти тебе вернет первое значение из списка найденных. Так что лучше всего по номеру и ссылке.
0
0 / 0 / 0
Регистрация: 18.06.2011
Сообщений: 37
28.06.2011, 13:17 8
мне нужно найти реквизит

Добавлено: Так когда пишу

Код
 Док1.НайтиПоРеквизиту
ругается что поле агрегатного объекта не обнаружено
Мне необходимо получить из документа реализации поле комментарий. Документ уже создал, теперь остаось его найти?
НайтиПоРеквизиту работает со Справочником, в Документе не видит этого поля.
Ты можешь дать номер своей аськи, а то у меня очень медленно продвигается работа

Через отладчик я убедился что функция создатьОбъект создает объект с девственно читыми реквизитами.
Я использую вот такую функцию

Код
 Справка=Док1.ПолучитьАтрибут("Комментарий")
Но так как реквизиты чистые то в справку ничего не пишется
Цель моего шаманизма - есть поле Комментарий, я хочу данные из этого поля выводить на печатную форму
0
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
28.06.2011, 14:59 9
Непосредственно сидя в документе? или из списка документов? Если из самого документа (должен быть записан) - тогда текущийДокумент().Реквизит,если из списка (журнала) тогда ТекущийДокумент.Реквизит ( это только для активного в данный момент на форме). А создатьОбъект в основном используется из кокой-то сторонней обработки/отчета, нафиг он нужен если ты уже сидишь в объекте или на нем спозиционировался?
стучись если что одиндватривосемьшестьодинсемьодинвосемь
0
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
28.06.2011, 15:40 10
Вот puh14 задал ключевой вопрос: в каком месте пишутся эти строки. На всякий случай поясню, что имею в виду не город и улицу, а расположение модуля.
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
28.06.2011, 16:24 11
Цитата Сообщение от 9AAAA
Я так и сделал потом
Док1= СоздатьДокумент("РеализацияПрочее"); Срок=Док1.Комментарий
Но все равно не выводится
Почему РеализацияПрочее - потому что в этом справочнике есть поле комментарий, а в справочнике Реализация такого поля нету (хотя Openconf выводит)
Ох, и каша у тебя в голове !
1. РеализацияПрочее и Реализация - это не справочники, а документы
2. Комментарий - ОБЩИЙ реквизит для ВСЕХ документов
3. СоздатьДокумент("РеализацияПрочее"); - ахинея, которая работать не будет без AddIn.XMLParser (а это явно не твой случай)


Цитата Сообщение от 9AAAA
НайтиПоРеквизиту работает со Справочником, в Документе не видит этого поля.
4. Для документов есть метод ВыбратьПоЗначению

puh14, терпи - парень активный, он тебя вопросами достанет. Будешь в качестве "АудиоЖКК" работать
0
0 / 0 / 0
Регистрация: 18.06.2011
Сообщений: 37
28.06.2011, 17:44 12
vbs Все так как вы говорили, я пятый день сижу на 1с и в голове немножко каша.
Метод ВыбратьПоЗначению в нем нужно указывать две даты- даты начала и конца. А мне нужно чтобы метод автоматически вытягивал из реквизита значение и подставлял в Печатную форму
Попытка номер раз

Код
Срок=Докум.Комментарий
При этом выводит ошибку переменная срок не определена, но запускается и в место где должно быть значение получившиеся стоит черное слово срок
Попытка номер два

Код
Док1=СоздатьОбъект(""Документ.РеализацияПрочее")
Срок= Док1.Комментарий
При этом я в отладчике посмотрел (заодно и им научился пользоваться), что когда я пишу СоздатьОбъект, то объект создается но полностью пустой и при проходе второй строчки в переменную Срок ничего не записывается, потому что Док1.Комментарий содержит пустую строку
На всякий случай привожу здесь процедуру ПриОткрытии модуля модифицируемой печатной формы

Код
 Процедура ПриОткрытии()

Если ПустоеЗначение(Форма.Параметр) = 0 Тогда

Докум   = Форма.Параметр.Получить("Контекст");
Устройство = Форма.Параметр.Получить("Устройство");
КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");

Печать(Докум, Устройство, КолвоКопий);
Статусвозврата(0);
Возврат;
КонецЕсли;


КонецПроцедуры // ПриОткрытии()
P.S. Моя цель - вытащить, то что написано в Документе РеализацияПрочее поле Комментарий и вставить его в переменную срок на печатной форме.
Идентификатор Секции и имя переменной я поменял (было склад стало срок). то необходимо, потому что я модернизирую печатные формы из реализации
0
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
28.06.2011, 18:31 13
Цитата Сообщение от 9AAAA
Попытка номер два
Док1=СоздатьОбъект(""Документ.РеализацияПрочее")
Срок= Док1.Комментарий
Первая строчка не нужна, вторая бессмысленна, пока нет позиционирования на конкретном документе.
К тому же этот кусок кода содержит синтаксические ошибки
Об обеих забыть (на данном этапе)


Цитата Сообщение от 9AAAA
Попытка номер раз
Срок=Докум.Комментарий
Если указанная строка находится в процедуре Печать внешней формы, нет никаких оснований сомневаться,
что переменная Срок будет иметь значение Комментарий выбранного (если он-таки выбран !) документа,
ибо Докум - это контекст документа (а следовательно через него есть доступ ко всем реквизитам выбранного документа - контекст
передается параметром)
В случае сомнений, отправляемся в отладчик, где смотрим значение Докум.Комментарий после отработки строки :

Докум = Форма.Параметр.Получить("Контекст");

PS. Наконец-то, со 135-й попытки стало ясно, что ты хочешь !
0
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
29.06.2011, 09:47 14
"Если долго мучатся что-нибудь получится!" ;-)

Лучше конечно хоть чуток литературу почитать. Хоть на той-же мисте
0
1 / 1 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
06.07.2011, 17:37 15
Цитата Сообщение от puh14
Лучше конечно хоть чуток литературу почитать. Хоть на той-же мисте
или хотя бы синтакс-помощник!
0
1 / 1 / 0
Регистрация: 15.11.2009
Сообщений: 947
07.07.2011, 01:06 16
Цитата Сообщение от KiR
или хотя бы синтакс-помощник!
Ох, и мудрым стал KiR, летит время!
А я вот замечу одну мысль. Когда человек осваивает новую среду, для него все неясно. В такой ситуации от хэлпов и помощников толку никакого. У него как шоры на глазах. Не стану скрывать, что в 8-ке с помощником стал более-менее пользоваться спустя месяца 3-4. Вот не понимаю этих разделов. Где и что искать? Не понимаю этих лаконичных толкований.
Мысль: на первом этапе человеку нужна базовая методология. Четкого уложения в голове элементарщины. Как обращаться к документу, справочнику. Из документа, из отчета. Настолько четкого, что мыслях нет ни одной зазубрины, как Устав ГиКС. А уж потом рука полезет смотреть в справку напомнить название или параметры.

Совет: у нашего предприятия есть одно из правил - любую проблему нужно начать с положительного шага. Напишите 1 строку программы, но работающую. Потом к ней 2-ю. Учитывая количество дней в году и ваш юный возраст...
0
1 / 1 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
07.07.2011, 16:18 17
Дайнеко, я имел ввиду что синтакс помощник ходя бы синтаксис покажет и может у человека сразу придет понимание что он делает не так как нужно и задумается о том что надо бы базовой методологией заняться, а не сразу в дебри лезть... я к примеру на курсы ходил для этого. но курсы для ленивых - нормальный человек может обойтись кучей литературы и видео...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.07.2011, 16:18
Помогаю со студенческими работами здесь

Работа с Webrowser и обращение к определенному контейнеру кода
Есть такой кусок кода. <div class="images-upload-urls-container"> ...

Повторное обращение к куску кода и где он должен храниться?
здравствуйте. у меня есть кусок кода, к которому можно обращаться несколько раз в течение работы...

Запретить прямое обращение к скрипту, но разрешить обращение через RewriteEngine
основной файл у меня index.php и в нем уже определяется какой файл подключить, к примеру ...

поиск по документу
Добрый день! Возникла проблема, которую не могу решить самостоятельно: Есть xml-документ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru