|
|
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Имеем 1С:Налогоплательщик 8.1. Необходимо программно заполнить отчет. Как обратиться к ячейке, у которой есть имя? Пробовал разные варианты - безуспешно. Код: plaintext 1. 2. 3. 4. 5. 6. На рисунке - структура отчета. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2010, 17:24 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Область.Параметры.П000100010003 = 100; должно работать, если свойство ячейки Заполнение стоит Параметр или Шаблон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2010, 17:44 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
В Конфигураторе встаю на ячейку, правая кнопка, Свойства: Макет Заполнение Текст В самом 1С:Налогоплательщик встаю на ячейку, правая кнопка, Свойства: Основные Имя П000100010003 Пункта Заполнение нет вообще. Так как же мне к ней обратиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2010, 17:55 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Макет = Отчеты.РегламентированныйОтчетРСВ1.ПолучитьМакет("СоставПоказателей2010Кв1"); Макет.Области["П000100010003"].Текст = 100; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2010, 18:04 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Господин ПЖМакет = Отчеты.РегламентированныйОтчетРСВ1.ПолучитьМакет("СоставПоказателей2010Кв1"); Макет.Области["П000100010003"].Текст = 100; Господин ПЖ, говорит, что нет такого объекта. А не может это быть связано с тем, что отчет внешний? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 09:44 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 10:03 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
SlavА не может это быть связано с тем, что отчет внешний? блин... если внешний конечно такого объекта нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 11:18 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Господин ПЖ блин... если внешний конечно такого объекта нет. Господин ПЖ, все там есть - с этим разобрался. Если внимательно посмотреть на картинку из моего первого поста, то в ячейках не название параметров - тогда бы они были в угловых скобках. Там стоят текстовые значения, которые являются названиями элементов формы. С заполнением макета теперь все понятно. Не очень понятно - а нужно ли его вообще заполнять? Как из макета данные попадут в форму? Можно ли сразу заполнять форму (на первой картинке ФормаОтчета2010Кв1)? Форма многостраничная - как адресоваться к элементам формы в этом случае? Буду благодарен за ответы и советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 12:06 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Нужно заполнять не форму, а документ "РегламентированныйОтчет". При открытии этого документа форма сама заполнится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 15:02 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
RustamZzНужно заполнять не форму, а документ "РегламентированныйОтчет". При открытии этого документа форма сама заполнится. RustamZz, можно чуть подробнее? Да, в реквизитах "РегламентированныОтчет" есть ИсточникОтчета, НаименованиеОтчета, ДанныеОтчета. Но куда (и как) писать данные? И правильно я понял, что никакие макеты мне для этого не нужны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 17:11 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Очевидно, что данные писать в ДанныеОтчета. Макет нужен, но другой тот, где перечислены сохраняемые реквизиты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 18:17 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
RustamZzОчевидно, что данные писать в ДанныеОтчета. Макет нужен, но другой тот, где перечислены сохраняемые реквизиты. RustamZz, как писать данные в ДанныеОтчета - каким образом связываются сотни ячеек конкретной формы с теми значениями, которые я хочу в них увидеть? Какой "другой" макет нужен и где я его должен создать? Если Вас не затруднит - можно небольшой кусок кода, как программно заполнить отчет. Погуглив, я не нашел ни одного примера программого формирования отчета. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2010, 09:05 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2010, 10:25 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
RustamZz, спасибо. Пошел разбираться. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2010, 11:58 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Заткнулся на первом шаге - как в РегламентированныйОтчет подставить свой? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Во всех случаях говорит: Объект не поддерживает этот метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2010, 15:44 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, на самом деле ошибка еще на самой первой строчке - где ИсточникОтчета . И наверно это правильно - документ еще не создан. Но если я поставлю первые две строки после СоздатьДокумент - то какой же в этом смысл? Как все-таки перед СоздатьДокумент указать из какого именно отчета? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2010, 16:21 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
А в чем смысл сего шаманства? Заполнить реквизиты еще не созданного документа - это последствия превышения нормы угарного газа в Нерезиновой... Чем не устраивает вариант создать документ и в нем заполнять регистры? МойДок = Документы.РегламентированныйОтчет.СоздатьДокумент(); МойДок.ИсточникОтчета = "Отчеты.<<ИмяВашегоОтчетаВКонфигурации>>"; МойДок.НаименованиеОтчета = "Отчеты.<<ИмяВашегоОтчетаВКонфигурации>>"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2010, 16:55 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
сам перегрелся, реквизиты регистрами обозвал.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2010, 16:55 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
1C никА в чем смысл сего шаманства? Заполнить реквизиты еще не созданного документа - это последствия превышения нормы угарного газа в Нерезиновой... Чем не устраивает вариант создать документ и в нем заполнять регистры? МойДок = Документы.РегламентированныйОтчет.СоздатьДокумент(); МойДок.ИсточникОтчета = "Отчеты.<<ИмяВашегоОтчетаВКонфигурации>>"; МойДок.НаименованиеОтчета = "Отчеты.<<ИмяВашегоОтчетаВКонфигурации>>"; 1C ник, видимо настало время еще раз, более четко сформулировать мою цель. Я хочу программно заполнить конкретный регламентированный отчет и записать полученный документ. При этом необходимо учесть: 1. Заполнение хотелось бы производить не вслепую, а визуализировав программно форму моего отчета и делая видимым пользователю процесс. 2. Форма моего отчета - многостраничная, страницы формируются динамически. Поэтому обращение к любому элементу формы требует её (формы) обязательный нормальный старт. На данный момент мне понятно, что все манипуляции надо делать через через Документ.РегламентированныйОтчет . Даже для того, чтобы убедиться, что мой отчет проинициирован правильно я - на первом шаге - хочу его просто увидеть. Поэтому и выполняю очевидные, казалось бы действия: 1. Создаю документ РегламентированныйОтчет. 2. Указываю в качестве иточника мой конкретный отчет. 3. Получаю форму. 4. Открываю её визуально. 1-ый вариант : предполагаю, что после указания источника все значения шаблона РегламентированныйОтчет проинициированы значениями из моего отчета, поэтому пытаюсь взять форму по названию из моего отчета - ФормаОтчета2010Кв1 : Код: plaintext 1. 2. 3. 4. 5. На ПолучитьФорму получаю ошибку - Недопустимое значение параметра . Ладно, не беда - значит надо обращаться по имени, которое указано в стандартном РегламентированномОтчете - ФормаДокумента . 2-ой вариант : Код: plaintext 1. 2. 3. 4. 5. Оно и понятно - в ней так и написано: "Эта форма вспомогательная, визуально не отображается". И теперь меня терзают смутные сомнения - как программно получить такое элементарное действие, как двойной щелчок мышью по регламентированному отчету, когда он появляется на экране? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2010, 10:05 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Все оказалось значительно проще. Так отчет создается и сохраняется: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Теперь другая проблема - не сохраняется значение, которое я пишу в ячейку. Имя П000100010003 - имя ячейки, которое я вижу в Свойствах, когда открываю отчет руками. В чем моя ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2010, 12:39 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
мухи отдельно, котлеты отдельно... не все что отображается в документе в нем же хранится. Тем более когда это в табличном поле болтается. Сидеть смотреть что делает функция .Сохранить() от формы... чего и куда она пишет (если вообще пишет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2010, 13:10 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Документ регламентированного отчета создается - с этим разобрался. Теперь не могу решить обратную задачу - имея документ регламентированного отчета программно его открыть. Делаю так - выбираю в диалоге нужный документ: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. На ПолучитьФорму ругается - Недопустимое значение параметра 1 . Хотя в реквизите ВыбраннаяФорма документа именно это название и стоит. Как программно открыть документ регламентированного отчета? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2010, 14:41 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
Примерно так ... Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2010, 07:09 |
|
||
|
Как программно записать ячейку с именем?
|
|||
|---|---|---|---|
|
#18+
valex13 ... Иными словами, тебе нужно в начале определить ссылку на объект - документ, а потом вызывай его методы. valex13, тут прикол в другом. То, что я правильно беру документ я уверен. После диалогового выбора документа Код: plaintext я даже реквизиты проверяю - все ОК. С формой же засада в следующем. Все регламентированные отчеты создаются на базе Документ.РегламентированныйОтчет. Если не полениться и посмотреть в Конфигураторе на его формы, то можно увидеть ФормаДокумента. Посмотрите на неё - не пожалеете. :) В реквизитах же этого Документа есть ВыбраннаяФорма, в котором - я проверял - хранится название формы из того конкретного регламентируемого отчета, на основании которого создан конкретный документ. Я смотрел в отладчике - при старте это название хитро подсовывается вместо родного. Но внешние программные возможности 1С этого сделать не позволяют. Короче, любого желающего прошу проверить маленькую прогу: Код: plaintext 1. 2. 3. 4. В диалоге выберите любой регламентированный отчет и... теперь попробуйте его просто увидеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2010, 10:10 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36790333&tid=1522091]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 475ms |

| 0 / 0 |
