|
Печать шаблона из поля ввода в макете | ☑ | ||
---|---|---|---|---|
0
luxnlex
20.11.13
✎
23:30
|
Доброго времени суток, уважаемые форумчане!
Я только начинаю программировать на 1С, столкнулся с одной задачкой, но хоть убей мыслей нет как решить... Взял за пример документ реализацию товаров и услуг, создал реквизит "параметры" с типом строка, на форме создал поле ввода, в нем указал в данных реквизит "параметры". В общем макете ТОРГ-12 в шапке у ячейки задал тип шаблон, а теперь собственно задачка... Как мне сделать так, что бы например я ввожу в поле ввода текст вида Код 1C 1 "Дата формирования документа: "+#ДатаДокумента# и что бы он подставлялся в макет (уже в виде: Дата формирования документа: 20.11.2013 00:00)?. При чем значения не оговоренные заранее, что бы можно было в любой момент написать шаблон с одним и более параметром и это все подставлялось в макет. Как запихнуть это все в макет? Прошу помочь, спать не смогу ведь, пока задачу не решу... Хотя бы в каком направлении копать??? Интересует очень какой тип должен быть у реквизита, нужно ли параметр переводить в строку/обратно и как (были ошибки такие просто), может быть я не правильно задал шаблон... 2 дня думаю уже никак придумать не могу Код приводить не буду, так как, в силу тех знаний, которыми я обладаю на данный момент по 1с, просто стыдно |
|||
1
mikecool
21.11.13
✎
00:30
|
какой то развод...
|
|||
2
zakidonoff
21.11.13
✎
00:34
|
(1) Почему? Ставлю себя на его место... В общем-то вопросы, для человека,только влезшего в мир программирования, вполне логичные.
|
|||
3
recovery_man
21.11.13
✎
01:12
|
"Дата формирования документа: " [ДатаДокумента]
|
|||
4
Wobland
21.11.13
✎
05:44
|
шаблон в ТабДоке: Дата формирования [ИмяПараметра]
при выводе: Область.Параметры.ИмяПараметра=ЗначениеПараметра тчк |
|||
5
luxnlex
21.11.13
✎
09:50
|
(1) Почему вы так думаете? Обоснуйте пожалуйста?
|
|||
6
luxnlex
21.11.13
✎
09:50
|
(2)Спасибо за понимание, действительно очень сложно, но желание научиться именно на 1с писать огромное, так как сейчас огромный спрос на программистов 1с. Занимался раньше delphi, C++, но тут чувствую себя не в своей тарелке, поэтому хочется научиться, даже не из-за денег, для себя, принципиально, что вот я могу... Бесит, когда чего-то не понимаешь...
Да, многие скажут: Гилев, Чистов в помощь, книжки различные, курсы... Но по макетам информация есть конечно и ее много, но все как-то обобщено, либо нет информации по той задаче, которую я для себя поставил. Банально макет вывести получилось, а хочется понять на все 100% что как и откуда. А курсы я считаю лучше всего проходить после получения начальных, базовых знаний, после того как пересмотрю полностью Гилева, перечитаю практическое пособие разработчика, а самое главное все это попробую. |
|||
7
Wobland
21.11.13
✎
09:51
|
ну вот. речь не мальчика, но мужа. не какая-то там Катерина19 ;)
|
|||
8
luxnlex
21.11.13
✎
10:00
|
(4)Спасибо, но я так понял это предопределено будет? Я просто хотел что бы в макете был некий параметр, например <МойПараметр>, у ячейки тип шаблон (как я себе это представляю), а на форме я собственно задаю шаблон, ну например:
"Документ номер: "+#НомерДокумента#+"от "+#ДатаДокумента#+", выдан: "+#ПредставлениеОрганизации# ну и в таком духе, причем что бы можно было менять как угодно, ну что бы не в макете задавался текст с параметрами, а что бы они туда попадали при печати торг12. Направьте пожалуйста в нужное русло?=( P.S. прошу прощения, если некорректно выражаюсь, напоминаю, что я только начал на 1с программировать... |
|||
9
luxnlex
21.11.13
✎
10:03
|
(7) Спасибо) Посоветуйте пожалуйста как знающий человек: как при огромном желании познать программирование на 1с максимально быстро?
|
|||
10
zakidonoff
21.11.13
✎
10:21
|
(8) В шаблоне выбирай не текст, а параметр в свойстве ячейки.
Тогда её содержимое отобразится с тегами <>. Например, так <ДатаДокумента> После этого в обработке заполнения формы в свойствах "параметры" появится "ДатаДокумента", которому можно будет присваивать значение из переменных. |
|||
11
Wobland
21.11.13
✎
10:46
|
(9) у меня на старте никого не было. вот совсем. быстро освоил технику "подглядеть в типовой такой же момент и сделать так же у себя". потом наступило время техники "а почему это оно ругается?" и как следствие техники внимательного изучения СП. и только совсем потом пришла миста со своими детскими (не всегда, впрочем) болезнями
ну и до этого пять лет верхнего образования, без этого никак это личный опыт. а ещё я однажды лишился руки и очень быстро научился жить одной ;) |
|||
12
Wobland
21.11.13
✎
10:47
|
(8) если у ячейки шаблон, то всё в квадратных скобках - это параметры, которые можно задавать на этапе вывода
|
|||
13
Wobland
21.11.13
✎
10:48
|
а ещё я кому-то пример писал
ТабДок=ЭлементыФормы.Вывод; Макет=ПолучитьМакет("Печать"); Область=Макет.ПолучитьОбласть("Заголовок"); ТабДок.Вывести(Область); Область=Макет.ПолучитьОбласть("Строка"); Выборка=Справочники.Номенклатура.Выбрать(); Номер=0; Пока Выборка.Следующий() Цикл Номер=Номер+1; Область.Параметры.Номер=Номер; Область.Параметры.Заполнить(Выборка); ТабДок.Вывести(Область); КонецЦикла; ТабДок.Показать(); |
|||
14
luxnlex
21.11.13
✎
14:12
|
(13)Спасибо вам за помощь огромное=) Но это, к сожалению, немного не то...(
В общем реализовал частично так: ОбластьМакетаШапка.Параметры.Пар1 = ЭтотОбъект.МойПараметр; где Пар1 - параметр в макете, МойПараметр - реквизит Выводить-то выводит, но только с типом ячейки параметр (то есть грубо говоря текст), хотя нужен шаблон, там же несколько будет параметров содержаться. Как мне донести до 1с, что нужно "Текст1: "+[параметр1]+"Текст2: "+[параметр2] заменить в макете при печати на Текст 1: ЗначениеПараметра1 Текст2: ЗначениеПараметра2 Подскажите пожалуйста, как грамотно перевести спец. символы типа [], либо ##, либо еще какой любой другой и текст содержащийся между спец. символов как параметр? Буду очень вам признателен!) |
|||
15
luxnlex
21.11.13
✎
14:14
|
(10) Параметр не устраивает, к сожалению((( Нужно несколько параметров выводить, а тут без шаблона никак я так понимаю...
|
|||
16
zakidonoff
21.11.13
✎
14:56
|
(14) Ну, так и доноси...
ОбластьМакетаШапка.Параметры.Пар1 = "Текст1: "+ Строка(ЭтотОбъект.МойПараметр1) +" Текст2: " + Строка(ЭтотОбъект.МойПараметр2); |
|||
17
zakidonoff
21.11.13
✎
14:58
|
(14) Но если уж так хочешь через шаблон...
Пар1 = ОбластьМакетаШапка.Параметры.Пар1; Пар1 = СтрЗаменить(Пар1, "[параметр1]", ЗначениеПараметра1); Пар1 = СтрЗаменить(Пар1, "[параметр2]", ЗначениеПараметра2); ОбластьМакетаШапка.Параметры.Пар1 = Пар1; |
|||
18
Wobland
21.11.13
✎
15:16
|
(16) издеваешься?
(14) область.параметр1=..; область.параметр2=.. могу удалённо носом тыкнуть |
|||
19
mikecool
21.11.13
✎
15:18
|
(7) ))) это она пол сменила
|
|||
20
Wobland
21.11.13
✎
15:25
|
(19) от ты сравнил Папанова с Новодворской
|
|||
21
luxnlex
21.11.13
✎
15:28
|
(16) (18) Это все немного не то, как присвоить параметру значение я знаю, но как присвоить одному параметру несколько параметров и текст с формы (необязательно что там номер и дата, текст вводится в любой момент произвольный), тут-то и начинаются ошибки...
Вот ссылка на скриншот что хотел сделать: http://yadi.sk/d/FskW3-5CD5EE3 ссылкой сделать не смог к сожалению тут( и код: ОбластьМакетаШапка.Параметры.Пар1 = ЭтотОбъект.МойПараметр; |
|||
22
Wobland
21.11.13
✎
15:29
|
(21) от оно чо, михалыч. тогда слушайся закидонофа
|
|||
23
Wobland
21.11.13
✎
15:30
|
но я против отдельного поля в документе под такую херь и за правильный шаблон в макете
|
|||
24
luxnlex
21.11.13
✎
15:31
|
(19)Простите, что не очень корректно и грамотно выражаю свои мысли и ставлю задачу, я только недавно начал программировать на 1с, очень сложно адаптироваться пока(
|
|||
25
Wobland
21.11.13
✎
15:31
|
(24) ты не в теме, не обращай внимания ;)
|
|||
26
luxnlex
21.11.13
✎
15:33
|
(23) Это не по работе, никакой не тз, то что делаю никому не пригодится вообще скорее всего, это просто для себя, что бы понять принципы работы с макетом из режима предприятия, ну вот хочу я такую задачку решить для себя, я так понимаю можно это реализовать, но помучавшись 2 дня, пришел сюда за советом(
|
|||
27
Wobland
21.11.13
✎
15:35
|
(26) вот и делай сразу правильно. ты же хочешь формировать кусок печатной формы, основываясь на данных документа? номер и дата у тебя в нём и так есть, нечего информацию дублировать
|
|||
28
ALFkz
21.11.13
✎
15:40
|
Считывай текст с Табличного Документа и заменяй их на параметры которые из Формы. Типа в одной из колонок есть текст "Дата формирования документа: #ДатаДокумента#" и она идет в первой колонке
Текст=Тд.Область(R1C1).Текст; Для сч=0 по ЭтотОбъект.Метаданные().Реквизиты.Количество()-1 цикл Имя=ЭтотОбъект.Метаданные().Реквизиты.получить(сч).имя; Текст=СтрЗаменить(Пар1, "#"+СОКРЛП(Имя)+"#", ЭтотОбъект[Имя]); конеццикла; Тд.Область(R1C1).Текст=Текст; |
|||
29
Wobland
21.11.13
✎
15:42
|
а потом человек захочет, чтобы вместо "дата документа" было "документ от" и будет насиловать каждый документ вместо того, чтобы поправить макет
|
|||
30
luxnlex
21.11.13
✎
15:44
|
(27)в том то и дело, что просто присвоить значение я могу, даже запросик простенький делал уже (на форме поле добавил, кнопку выбора, привязал к реквизиту, реквизит ссылается на физ. лица), ну и по печати получал свой макет и свою область макета, делал запрос выбирал физ. лица, устанавливал параметр, выводил табдок, показывал документ, все рисует. Долго мучался правда, никакой литературы не было на тот момент. даже не знал как искать, так как информации по такой банальщине просто не было(((
Это я к тому что представление я имею... А то что я хочу сделать, это для себя, так как до этого программировал на ооп, да, тут логика есть и потихонечку ее начал понимать, но все равно очень сложно... На той же делфе я бы сделал простенькую программку за 10 минут и БД была бы на акцессе привязана и поля бы выводились, но тут... расскажите, пожалуйста кто знает как это сделать?(((( |
|||
31
luxnlex
21.11.13
✎
15:45
|
(29) так в том-то и дело, что параметры для начала я беру те, которые есть в макете торг12, а не свои, со своими другой вопрос...)
|
|||
32
Wobland
21.11.13
✎
15:47
|
(31) я вижу два пути. оба имеют право на жизнь.
1) хранить "шапку" в документе; 2) формировать шапку при печати макета; первый случай предусматривает индивидуальность, второй - унифицированность. что ты хочешь? |
|||
33
Wobland
21.11.13
✎
15:48
|
имхается мне, пока ты сам по себе тыркался, зашёл в тупик, из которого теперь не можешь выбраться...
|
|||
34
luxnlex
21.11.13
✎
15:54
|
(32)Унифицированность, если я правильно понял, то это универсальность?
|
|||
35
Wobland
21.11.13
✎
15:56
|
(34) нет. я имел в виду принципиально одинаковую форму шапки для любого документа. а у тебя она пока зависит от того, что вздумается юзеру в поле написать
|
|||
36
luxnlex
21.11.13
✎
15:56
|
(33)Именно так(
Надо было сразу грамотно поставить задачу, но в силу знаний, коих пока по 1с немного, не получилось корректно обозначить цель, которой я хочу достичь... |
|||
37
Wobland
21.11.13
✎
15:57
|
(36) дай уже удалёнку, проще пальцем раз ткнуть ;)
|
|||
38
luxnlex
21.11.13
✎
15:57
|
(35)не то что вздумается, имена параметров должны совпадать как они и заданы в макете, ну а текст что угодно может совпадать)
|
|||
39
luxnlex
21.11.13
✎
16:00
|
ammyy admin подойдет? как с вами связаться, что бы номер сказать?
мой ICQ: 454313995, почта: [email protected] |
|||
40
luxnlex
21.11.13
✎
16:19
|
(37)Спасибо огромное Вам, буду думать)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |