Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: В Макете вывести Родителя
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
MevMix
Добрый день
возможно ли в Макете при печати вывести Родителя Справочника(в данном случае номенклатуры)

Возможно ли указать просто параметр в макете и какой если ДА?

или тока через запрос вывести можно
Спасибо
Vofka
В макете пишем: Родитель.
В коде пишем:
ТабДокумент.Параметры.Родитель = ПеременнаяСоЗначениемСправочника.Родитель;
MevMix
Цитата(Vofka @ 07.06.11, 10:58) необходимо зарегистрироваться для просмотра ссылки
В макете пишем: Родитель.
В коде пишем:
ТабДокумент.Параметры.Родитель = ПеременнаяСоЗначениемСправочника.Родитель;


{Документ.ПриходнаяНакладна.Форма.ФормаДокумента(55,29)}: Переменная не определена (ПеременнаяСоЗначениемСправочника)
ТабДок.Параметры.Родитель = <<?>>ПеременнаяСоЗначениемСправочника.Родитель

вот что выдает и не совсем понял в какую часть кода ее вставить
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.ПриходнаяНакладна.ПолучитьМакет("Печать");
// Заголовок
Область = Макет.ПолучитьОбласть("Заголовок");
ТабДок.Вывести(Область);
// Шапка
Шапка = Макет.ПолучитьОбласть("Шапка");
Шапка.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Шапка);
// Материалы
Область = Макет.ПолучитьОбласть("МатериалыШапка");
ТабДок.Вывести(Область);
ОбластьМатериалы = Макет.ПолучитьОбласть("Материалы");
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
ОбластьМатериалы.Параметры.Заполнить(ТекСтрокаМатериалы);
ТабДок.Вывести(ОбластьМатериалы);

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.Показать();
Vofka
Ну конечно не будет работать. Надо ведь хотя бы немного подумать, а не просто скопипастить и вставить абы куда.
MevMix
Цитата(Vofka @ 07.06.11, 11:19) необходимо зарегистрироваться для просмотра ссылки
Ну конечно не будет работать. Надо ведь хотя бы немного подумать, а не просто скопипастить и вставить абы куда.


Так подскажите откуда береться

ПеременнаяСоЗначениемСправочника
Batchir
так надеюсь понятнее, но "подумать" включить всё-таки надо
ТабДокумент.Параметры.Родитель = <ПеременнаяСоЗначениемСправочника>.Родитель;

где <ПеременнаяСоЗначениемСправочника> - ссылка на элемент справочника

З.ы. и раз учитесь, то готового кода не дождетесь.
MevMix
Цитата(Batchir @ 07.06.11, 11:39) необходимо зарегистрироваться для просмотра ссылки
так надеюсь понятнее, но "подумать" включить всё-таки надо
ТабДокумент.Параметры.Родитель = <ПеременнаяСоЗначениемСправочника>.Родитель;

где <ПеременнаяСоЗначениемСправочника> - ссылка на элемент справочника

З.ы. и раз учитесь, то готового кода не дождетесь.

Я понимаю что вы Гуру в вопросе 1С
для новичков сложновато и как вы говорите ВКЛЮЧАТЬ....
Я думал форумы для того и существуют, чтобы общаться и спрашивать
Batchir
MevMix, ответ Вам разжевали на уровне новичка.
Теперь немного подумать, вглядеться и всё получится.
Vofka
Цитата
для новичков сложновато и как вы говорите ВКЛЮЧАТЬ....

А вы всех новичков знаете? Если лично у вас "включать" не получается - бросьте это дело, пока не поздно.
Цитата
Я думал форумы для того и существуют, чтобы общаться и спрашивать

Ну всё. Называется "приехали". Вам дали более чем достаточный ответ. И если компонент "мозг" не включается - форум программистов не поможет sad.gif

Это только у меня складывается впечатление, что молодёжь хочет научиться одинэсить, доверяя этот вопрос исключительно интуиции? Или может это матрица? 47046430.gif
MevMix
Цитата(Batchir @ 07.06.11, 12:16) необходимо зарегистрироваться для просмотра ссылки
MevMix, ответ Вам разжевали на уровне новичка.
Теперь немного подумать, вглядеться и всё получится.

Ну вам виднее вы ГУРУ

Тема закрыта
Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл
ОбластьПереченьНоменклатуры.Параметры.Заполнить(ТекСтрокаПереченьНоменклатуры);
ОбластьПереченьНоменклатуры.Параметры.Номенклатура = "" + ТекСтрокаПереченьНоменклатуры.Номенклатура.Родитель.Наименование
+", "+ТекСтрокаПереченьНоменклатуры.Номенклатура.Наименование;
ТабДок.Вывести(ОбластьПереченьНоменклатуры);
КонецЦикла;
Vofka
MevMix, ну вот, можно если захотеть. Для вас ещё не всё потеряно smile.gif
Batchir
Не совсем то о чем говорили, но ведь получилось, ничего ведь сложного здесь нет
MevMix
Цитата(Vofka @ 07.06.11, 12:22) необходимо зарегистрироваться для просмотра ссылки
MevMix, ну вот, можно если захотеть. Для вас ещё не всё потеряно smile.gif


Ваш вариант пробовал
не получается, ругается на РОДИТЕЛЬ
Думаю трабл с переменной
 
ПеременнаяСоЗначениемСправочника = Справочники.Номенклатура.ПолучитьСсылку();

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
ОбластьМатериалы.Параметры.Заполнить(ТекСтрокаМатериалы);

ТабДок.Параметры.Родитель = ПеременнаяСоЗначениемСправочника.Родитель;

ТабДок.Вывести(ОбластьМатериалы);
КонецЦикла

ругаеться
{Документ.ПриходнаяНакладна.Форма.ФормаДокумента(61)}: Поле объекта не обнаружено (Родитель)
ТабДок.Параметры.Родитель = ПеременнаяСоЗначениемСправочника.Родитель;
logist
Накракали smile.gif))
Цитата(MevMix @ 07.06.11, 12:30) необходимо зарегистрироваться для просмотра ссылки
 
ПеременнаяСоЗначениемСправочника = Справочники.Номенклатура.ПолучитьСсылку();

В этом контексте нет ссылки соответственно нет родителя, сейчас "ПеременнаяСоЗначениемСправочника" = пустому значению.
Нужно получить ссылку чего-то. читайте синтаксис-помошник по этой функции
Vofka
faceoff.gif

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
ОбластьМатериалы.Параметры.Заполнить(ТекСтрокаМатериалы);

ТабДок.Параметры.Родитель = ТекСтрокаМатериалы.Номенклатура.Родитель; // Номенклатура - это я наугад написал, вставьте правильное имя

ТабДок.Вывести(ОбластьМатериалы);
КонецЦикла
Batchir
А если будет ругаться что нет параметра "Родитель", тогда прочтите сообщение №2. Область макета "Материалы" - нужно прописать параметр.

З.Ы. Теперь разжевано на уровне младенца.
MevMix
Цитата(Vofka @ 07.06.11, 13:11) необходимо зарегистрироваться для просмотра ссылки
faceoff.gif

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
ОбластьМатериалы.Параметры.Заполнить(ТекСтрокаМатериалы);

ТабДок.Параметры.Родитель = ТекСтрокаМатериалы.Номенклатура.Родитель; // Номенклатура - это я наугад написал, вставьте правильное имя

ТабДок.Вывести(ОбластьМатериалы);
КонецЦикла

Все равно ругается

{Документ.ПриходнаяНакладна.Форма.ФормаДокумента(61)}: Поле объекта не обнаружено (Номенклатура)
ТабДок.Параметры.Номенклатура = ПеременнаяСоЗначениемСправочника.Номенклатура;
Тут не могу понять как эту переменную со справочником связать
Vofka
Это просто, извините, ахренеть АХРЕНЕТЬ. Причём здесь
ТабДок.Параметры.Номенклатура = ПеременнаяСоЗначениемСправочника.Номенклатура;

В общем, faceoff.gif
Ziam
Vofka, может вам перед созданием постов новичками в теме программистам сделать кратенький опросик?
Типа область видения переменной? И 3 варианта ответов. Ответил - ушел пост, не ответил - ушел учить матчасть. Ибо я не знаю как с халявщиками бороться. Идеи исчерпались уже.
MevMix
Хочу спросить тогда
Вот
ТабДок.Параметры.

после точки должно быть тот параметр который в макете
правильно я думаю или нет

Цитата(Batchir @ 07.06.11, 13:16) необходимо зарегистрироваться для просмотра ссылки
А если будет ругаться что нет параметра "Родитель", тогда прочтите сообщение №2. Область макета "Материалы" - нужно прописать параметр.

З.Ы. Теперь ражевано на уровне младенца.


В области макета Материалы параметр РОДИТЕЛЬ есть
Ziam
Цитата(MevMix @ 07.06.11, 14:54) необходимо зарегистрироваться для просмотра ссылки
Хочу спросить тогда
Вот
ТабДок.Параметры.

после точки должно быть тот параметр который в макете
правильно я думаю или нет

Если ТабДок типа ТабличныйДокумент (от которого логически следует сокращение), тогда нет.
Vofka
Цитата
Vofka, может вам перед созданием постов новичками в теме программистам сделать кратенький опросик?
Типа область видения переменной? И 3 варианта ответов. Ответил - ушел пост, не ответил - ушел учить матчасть. Ибо я не знаю как с халявщиками бороться. Идеи исчерпались уже.

С одной стороны - это решение проблемы, а с другой будут тыкать до тех пор, пока тесты не будут пройдены. В общем, как по мне - не вариант.
ЗЫ. если хочется продолжить общение на эту тему, пожалуйста, в необходимо зарегистрироваться для просмотра ссылки раздел.
MevMix
Vofka
Сдела еще вот так
ОбластьМатериалы.Параметры.Родитель = ТекСтрокаМатериалы.Номенклатура.Родитель;

Да выводит все ОК, но хочется понять и разобраться как вы предлагали делать!!!

При таком раскладе ссылка пустая получается и в Макете в параметре ничего не выводить
СпрНомРод = Справочники.Номенклатура.ПолучитьСсылку();


Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

ОбластьМатериалы.Параметры.Заполнить(ТекСтрокаМатериалы);
ОбластьМатериалы.Параметры.Родитель = СпрНомРод.Родитель;

ТабДок.Вывести(ОбластьМатериалы);
КонецЦикла;
Batchir
Цитата
Сдела еще вот так
ОбластьМатериалы.Параметры.Родитель = ТекСтрокаМатериалы.Номенклатура.Родитель;


Да выводит все ОК, но хочется понять и разобраться как вы предлагали делать!!!

Именно так и предлагали и никак не по другому.
MevMix
Цитата(Batchir @ 08.06.11, 13:48) необходимо зарегистрироваться для просмотра ссылки
Именно так и предлагали и никак не по другому.


Так только тогда содержание поста 2 не понятно
Batchir
тогда ещё раз прочтите содержание поста 6
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.