медлительно будет об этом сказано внизу экроно в специальном
тобло системы. Если ош ибко критичноя, процесс выполнения ос-
тановится, и вы, двожды щелкнув на ошибке в табло, сможете
срозу перейти в нужный модуль конфигуратора и исправить ее.
Если же ош ибка не является ошибкой синтаксиса, то выловить
ее будет несколько сложнее. Э то я веду к тому, что вы можете
но экране вместо зоветной надписи увидеть, например,
«Компь-
ютер №»+НомерДок.
Э то зночит, что вы все-таки зобыли ука-
зать в ячейке нужный тип донных, о чем я вое неоднократно пре-
дупреждал. В донном случае перейдите в
табличную часть
но-
шего документа и в
свойствах ячейки,
в которую вписано это вы-
ражение, поставьте, соответственно, тип
Выражение.
Если пла-
нируется, что строко в ячейке будет слишком длинной {напри-
мер, нозвание мотеринской платы с короткой спецификацией) и
оно зоведомо не поместится в искомую ячейку (или группу объ-
единенных ячеек), есть смысл перенести ее на другую строку в
той же ячейке или предупредить пользователя, сделав нодпись
кросной или зополнив ее знаками диеза (#). Все это обеспечи-
воется автоматически при указании в свойствох ячейки соответ-
ствующего уровня контроля.
Продолжим. Теперь нам нужно вывести доты заказо и сбор-
ки, что также можно сделать в секции
Шапка.
Для этого под зо-
головком таблицы введите, нопример, строку
заказан: [Д а та -
д о к ]
,
собра н: [Д а та сб о р к и ]
, установите ее тип
Шаблон
и по-
пытайтесь включить в секцию
шапка.
Н е вышло? Я ток и думал ©.
Здесь сказывается еще один небольшой нюанс, который в буду-
щем может потребовоть немолой концентрации вашего внима-
ния при разработке больших и сложных таблиц. Кроется он в
том, что вам нужно зопомнитъ, кокие строки или столбцы входят
в секцию, и зопомнить или записать но буможке ее нозвоние.
Зосим следует исключить искомые строки или столбцы из секции,
выделив ее и нажав кнопку с закрывающей кводротной скобкой
но панели инструментов Редактор таблиц. После этого вы долж-
ны выделить все предыдущие строки или столбцы, которые рань-
ше были в секции, и все новые строки или столбцы, которые вы
хотите включить в секцию, а затем сново включить их в секцию
с предыдущим нозвонием. Попробуйте это сделать на наш ем
примере. Если все пройдет глодко, в чем я не сомневаюсь, то в
ношей секции
Шапка
теперь будут находиться уже две строки с
зоголовком и датами зокозо и сборки.
Долее в ношей табличной чости нужно вывести нозвония всех
введенных комплектующих, разделенные на соответствующие сек-
ции:
основные, дополнительные
и
другие устройства.
О братите
внимоние, именно введенные комплектующие, так как те поля,
которые не зополнены в диологе, выводить в таблицу, тем самым
зогромождоя ее лишней информацией, нет смысла. Давайте сде-
лаем новую секцию, впишем в нее большой
и красивый заголовок
Основные устройст-
ва,
а нозовем ее, скажем,
ОснУстройства.
Теперь в программном модуле после выво-
до шапки, но до вывода всей таблицы да-
вайте проверим следующее условие: если
хоть одно из комплектующих, поподающ их
в котегорию основных устройств, введена,
то мы выведем секцию с заголовком, а в бу-
дущем и название комплектующей. В про-
граммном модуле это можно сделать ток:
Е сли (П устоеЗначение(М атеринская
П ла та ) о 1)
ИЛИ (П устоеЗначени е(П ро цессо р) о 1 )
ИЛИ (П усто е З н а ч е ни е (В е н ти лято р )
о
1)
ИЛИ (П устоеЗначение(О перативная
Память) о 1)
ИЛИ ( П устоеЗначение( В идеоадаптер)
о 1)
ИЛИ (ПустоеЗначение(Ж есткийД иск)
о 1)
ИЛИ (ПустоеЗначение(М онитор) о 1)
ИЛИ (П усто еЗ наче ни е(К лави атур а)
о 1)
ИЛИ (ПустоеЗначение(М ыш ь) о 1)
Т о гд а
Т а б . ВывестиСекцию( "О с н У с тр о й с тв а ") ;
КонецЕсли;
Как видите, мы напрямую обращ аемся к реквизитом комплек-
тующих, выясняя, содержат ли они кокую-либо информацию. И
если хоть один реквизит непустой, выводим соответствующий за-
головок. То же сам ое попробуйте сделоть для дополнительных
устройств — уверен, у вое получится.
Теперь давайте создадим секцию комплектующего, котороя в
принципе будет одинаково для всех имеющихся комплектующих
и будет отличаться только названием и обращ ением к нужному
реквизиту. В принципе, создание такой секции эквивалентно соз-
донию, например, секции зоголовко. В ячейке, обязательно имею-
щей тип
Выражение,
нужно будет прописать обращ ение к нуж-
ному реквизиту (нопример,
М атеринскаяП лата. Наименование).
Н о тут есть и свои особенности. Если помните, когдо мы созда-
вали наши справочники, для каждого из них мы создали перио-
дический реквизит
цена.
Так вот, в табличной части, как и в ок-
не диолого, мы тоже должны вывести его зночение на текущую
дату. Имейте в виду, что, выбироя значение спровочника в со-
ответствующем поле окна диалого, вы не просто выбираете его
нозвоние, а получаете доступ ко всему элементу справочника.
Поэтому, чтобы получить значение цены, соответствующее теку-
щей дате, в ячейке таблицы с типом
Выражение
мы должны на-
писать примерно следующее:
М атеринскаяП лата. Ц ена. П о л у ч и ть ( Д атаД ох) # 4 1 0 .2 ,
Токим оброзом, в донную ячейку будет выведено цено мате-
ринской платы, установленная но текущую дату. Ц ено будет вы-
ведена в формате десяти знаков до зопятой и двух знаков по-
сле запятой, причем нулевые значения выведены не будут. З о это
отвечает форматная строко, всегда записанная после обращ е-
ний к функциям или реквизитам в ячейке.
После этого можете создавать секции соответствующих ком-
плектующих и выводить их при помощи, например, такого выра-
жения:
Е с ли П устоеЗначение(М атеринскаяП лата) о 1 То гд а
Т а б . ВывестиСекцию( "М атери нска яП ла та") ;
КонецЕсли;
Еще один нюонс, который мы сегодня рассмотрим — вывод
многострочной части документа. Делается это при помощи цик-
ла, перебирающ его строки из выборки и выводящего их в таб -
личную часть:
Е сли К опичествоСтрох () > 0 Т о гд а
Т а б . ВывестиСекцию( " Д р у гУ с тр о й с тв а ") ;
Вы братьСтроки( ) ;
Пока П о лучи ть С тр о ку ( ) > 0 Цикл
Т а б . ВывестиСекцию( "Д р у ги е У с тр о й с тв а ") ;
КонецЦикла;
КонецЕсли;
Функция
К о ли чество Строк
(), как вы но-
верняко догадолись, возвращ оет количест-
во строк многострочной части документа.
Если это количество не равно нулю, то мы
выводим заголовок
Другие устройства
и в
цикле выводим все соответствующие этой ка-
тегории продукты, выбронные из таблицы ок-
но диалого.
Как видите, ничего сложного нет. Послед-
нее, что мы должны вывести — это суммы по
секциям основных, дополнительных и других
устройств. Для этого создойте, например, сек-
цию с именем
Итого
и в нее впишите о б р а-
щение к итоговым реквизитом окна диолога
(если помните, итоги мы заносили в нодписи
с соответствующими идентификаторами, по
которым мы и должны получить доступ к их
значениям). В результате ноших сегодняшних
мучений таблица в режиме розработки долж-
на принять вид, примерно соответствующий
рисунку 2, о в режиме исполнения — рисунку 3.
В следующей статье мы поучимся делать
отчет по создонным документам — поэтому
вошим домашним задонием будет, во-пер-
вых, работа над ошибкоми ©, а во-вторых —
ввод новых конфигураций. Чем больш е раз-
ных конфигураций вы сможете ввести, тем
интереснее будет разбирать отчеты.
(Продолжение следует)
К06£М
«ЕПЯ
лда УеПиит
!_ Итого.
пооснсо*мупроДсгвзд
поцоахжешьмус тсвстваы
поаругаиугірсЯстБви
ВСЕГО
Рис.З
предыдущая страница 39 Мой Компьютер 2004 42 читать онлайн следующая страница 41 Мой Компьютер 2004 42 читать онлайн Домой Выключить/включить текст