Имя: Пароль:
1C
1С v8
как программно изменить значение параметра в табличном документе?
, ,
0 altaykniga
 
08.12.17
14:50
Доброго дня, уважаемые специалисты. Задача такая

Нужно программно после формирования табличного документа изменить некоторые его параметры (в шапке и подвале) и вывести уже на экран. Как этого добиться? Заранее благодарю за ответ
1 altaykniga
 
08.12.17
14:51
(0) в частности, нужно подменить, например КПП продавца, должность кладовщика, должность ответственного и фио ответственного
2 DDwe
 
08.12.17
14:52
(1) А сложность в чем?
3 ixijixi
 
08.12.17
14:53
Область.Параметры.ТвойПараметр = "Вот так это делается, детка!";
4 altaykniga
 
08.12.17
14:53
(2) как наСервере обратится к параметру "ИННпродавца" у области "Шапка" ?
5 altaykniga
 
08.12.17
14:54
(3) Как обратиться к "Область" ?
6 Denshu
 
08.12.17
14:55
(0) ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьШапка.Параметры.ИННпродавца = "Нужный ИНН";
7 Fish
 
08.12.17
14:55
(5) Не поверишь, но по имени или адресу:
ТабличныйДокумент.Область (SpreadsheetDocument.Area)
ТабличныйДокумент (SpreadsheetDocument)
Область (Area)
Вариант синтаксиса: По имени

Синтаксис:

Область(<ИмяОбласти>)
Параметры:

<ИмяОбласти> (обязательный)

Тип: Строка.
Имя области или адрес в формате "R1C1:R2C2", где число после "R" обозначает номер строки, число после "C" - номер колонки, символом ":" (двоеточие) разделяются координаты левого верхнего и правого нижнего угла области. В качестве имени также можно передавать пересечение двух областей, записываемое как "<Имя области 1> | <Имя области 2>".
Вариант синтаксиса: По адресу

Синтаксис:

Область(<НомерПервойСтроки>, <НомерПервойКолонки>, <НомерПоследнейСтроки>, <НомерПоследнейКолонки>)
8 altaykniga
 
08.12.17
14:57
(7) а если номера строк и колонок неизвестно? Есть только имя области "Шапка"
9 Fish
 
08.12.17
14:57
(0) И это. Зачем вот это: "после формирования табличного документа изменить некоторые его параметры".

Почему сразу нельзя выводить нужные?
10 DrShad
 
08.12.17
14:58
(3), (5) в итоговом ТД!? ))))
11 Fish
 
08.12.17
14:59
(8) Написано же: по имени ИЛИ адресу
12 Denshu
 
08.12.17
15:02
(8) В шапке, в ячейке должен быть прописан параметр <ИННПродавца>, и свойствах ячейки в свойстве "Заполнение" должно быть указано параметр, вот к этой ячейке ты и обращаешся по имени параметра который указана в свойстве "Параметр" =)
13 altaykniga
 
08.12.17
15:03
(11,12)

ОбрабатываемаяОбласть = Макет.Область("Шапка");

итог: у ОбрабатываемаяОбласть нет свойства "Параметры"
14 altaykniga
 
08.12.17
15:04
15 Табуретко
 
08.12.17
15:04
Макет.ПолучитьОбласть("Шапка");
16 Fish
 
08.12.17
15:07
(14) А на (9) ответишь?
17 altaykniga
 
08.12.17
15:07
(16)

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

Вот и хочу изменить нужные параметры уже после формирования табличного документа в модуле объекта ВПФ, а не лезть в общие модули. Переносить процедуры формирования табличного документа из общего модуля тоже не хотелось бы
18 DrShad
 
08.12.17
15:10
(17) если адреса областей где нужно менять текст статичны - получай их и меняй, если же нет то полным обходом всех ячеек ТД находи нужные и меняй
19 Табуретко
 
08.12.17
15:10
(17) ...Сделал внешнюю печатную форму...
хах, и как жэ вы ее сделали если заново менять параметры приходится??
20 Fish
 
08.12.17
15:13
(17) Тогда через параметры не выйдет. Только зная адрес ячейки, ну или через поиск текста.
21 Fish
 
08.12.17
15:14
(18) "то полным обходом всех ячеек" - Зачем, если есть НайтиТекст?
22 altaykniga
 
08.12.17
15:17
(20) а если адрес ячейки в типовом макете после очередных обновлений изменится?
23 Fish
 
08.12.17
15:18
(22) Значит придётся переписать твою ВПФ, или наконец-то начать использовать НайтиТекст :)
24 altaykniga
 
08.12.17
15:18
вот я и хотел через "попытка... исключение" обратится к области "шапка" сформированного табличного документа, попытаться найти нужный мне параметр и изменить его значение.
25 altaykniga
 
08.12.17
15:19
(23) НайтиТекст ищет текст, т.е. значение параметра. А если значениеПараметра изначально неизвестно, а известно только Название параметра, т.е. ИННпоставщика?
26 Fish
 
08.12.17
15:20
(24) В сформированном табличном документе нет параметров, которые были в макете. Прими это как данность.
27 altaykniga
 
08.12.17
15:21
все понял, спасибо всем за помощь
28 Fish
 
08.12.17
15:22
(25) Пля. Что значит, неизвестно? Типовой вывод берёт же эти данные откуда-то? Вот и ты оттуда же бери, ищи, а потом меняй, на то что надо :))

Только я всё равно не пойму, зачем менять ИНН в печатной форме, когда правильно его поменять у контрагента.
29 Табуретко
 
08.12.17
15:24
(28) не ИНН а КПП и скорее всего не у контрагента а у Организации по обособленному...

я тока не пойму почто нельзя заменять при заполнении макета темболее если уже есть ВПФ?
30 Fish
 
08.12.17
15:26
(29) Читай (25): "известно только Название параметра, т.е. ИННпоставщика". Именно, что ИНН.

Да и с КПП проблем не вижу - заводишь, как положено, обособленные подразделения со своими КПП.
31 altaykniga
 
08.12.17
15:26
(29) в процедуре Печать ВПФ табличный документ возвращается из типовой фукнции общего модуля
32 Табуретко
 
08.12.17
15:28
(30) см. (2)

(31) что это за внешняя печатная форма у вас такая, что она тогда у вас заполняет?
33 Табуретко
 
08.12.17
15:29
*(30) -> (1)
34 Fish
 
08.12.17
15:29
(32) И? В чём проблема вести учёт, как положено, и не выдумывать костылей с подменой КПП?
35 Табуретко
 
08.12.17
15:33
вангую что грузили в другом городе со своего склада пока бухи не вспомнили что это обособленное и если стого склада отгружать то в СФ нужно ставить КПП обособленного соответственно и кладовщики тут подтягиваются...