Таблицы в режиме ввода данных
19.07.2005
07:41
#1
"Всем доброе время суток.
Решаю 1-е задание по сертификации на 1С-специалиста (компонента бухучет).
Задача – сформировать отчет, предусмотреть возможность для исправления значений в последних двух колонках, организовать возможность сохранения измененных данных в документах.
Прикинул, что исполнить можно только лишь с применением сервиса «Таблица в режиме ввода данных». Начал делать, а душу раздирают противоречия. Вообще, как я понимаю, таблицы для ввода данных хороши для статических форм, типа регламентированных отчетов, где количество строк и столбцов известно заранее, и каждую ячейку можно, отформатировать по потребностям, да еще и имя дать, что бы потом адресоваться.
В задании же ситуация несколько иная, количество строк заранее не известно.
Вывожу строки, заполняя свойство «текст» каждой ячейки (не очень красиво).
Сч=НачСтр;
Пока Док.ПолучитьДокумент()=1 Цикл
Таблица.Область("R"+Сч+"C1").Текст = Док.Взаимодавец;
Таблица.Область("R"+Сч+"C2").Текст=Док.Агент;
………..
…………..
Таблица.Область("R"+Сч+"C8").Текст=Док.Процент;
Таблица.Область("R"+Сч+"C9").Текст=Док.ПроцентДосрочно;
Сч=Сч+1;
КонецЦикла;
По идее два последних столбца должны быть числового формата, по умолчанию они текстовые, и должен быть снят флажок «защита». И так, вопрос знатокам!!!
Как отформатировать (присвоить тип число) нужное количество ячеек динамически. Пробовал в скрипте использовать метод «НазначитьТип», так он работает только для тех ячеек, для которых в режиме конфигурирования назначен тип «Неопределенный». Пробовал помечать столбцы целиком и назначать тип, тоже не то. Тип назначается только для ячеек в рабочей области, до пунктирной линии. Остальные остаются текстовые. Вот теперь в непонятках, получается, что надо резервировать рабочую область, в которой количество строк будет заведомо больше, чем строк в отчете. На мой взгляд, криво это.
Может не так надо. Подскажите, пожалуйста!!!
P.S. А вообще, в задания по сертификации составлены из рук вон плохо, никакой конкретики, самому можно домысливать сотни вариантов, как сделать. Издеваются над людьми.
"
Решаю 1-е задание по сертификации на 1С-специалиста (компонента бухучет).
Задача – сформировать отчет, предусмотреть возможность для исправления значений в последних двух колонках, организовать возможность сохранения измененных данных в документах.
Прикинул, что исполнить можно только лишь с применением сервиса «Таблица в режиме ввода данных». Начал делать, а душу раздирают противоречия. Вообще, как я понимаю, таблицы для ввода данных хороши для статических форм, типа регламентированных отчетов, где количество строк и столбцов известно заранее, и каждую ячейку можно, отформатировать по потребностям, да еще и имя дать, что бы потом адресоваться.
В задании же ситуация несколько иная, количество строк заранее не известно.
Вывожу строки, заполняя свойство «текст» каждой ячейки (не очень красиво).
Сч=НачСтр;
Пока Док.ПолучитьДокумент()=1 Цикл
Таблица.Область("R"+Сч+"C1").Текст = Док.Взаимодавец;
Таблица.Область("R"+Сч+"C2").Текст=Док.Агент;
………..
…………..
Таблица.Область("R"+Сч+"C8").Текст=Док.Процент;
Таблица.Область("R"+Сч+"C9").Текст=Док.ПроцентДосрочно;
Сч=Сч+1;
КонецЦикла;
По идее два последних столбца должны быть числового формата, по умолчанию они текстовые, и должен быть снят флажок «защита». И так, вопрос знатокам!!!
Как отформатировать (присвоить тип число) нужное количество ячеек динамически. Пробовал в скрипте использовать метод «НазначитьТип», так он работает только для тех ячеек, для которых в режиме конфигурирования назначен тип «Неопределенный». Пробовал помечать столбцы целиком и назначать тип, тоже не то. Тип назначается только для ячеек в рабочей области, до пунктирной линии. Остальные остаются текстовые. Вот теперь в непонятках, получается, что надо резервировать рабочую область, в которой количество строк будет заведомо больше, чем строк в отчете. На мой взгляд, криво это.
Может не так надо. Подскажите, пожалуйста!!!
P.S. А вообще, в задания по сертификации составлены из рук вон плохо, никакой конкретики, самому можно домысливать сотни вариантов, как сделать. Издеваются над людьми.
"
Читают тему
(гостей: 1)