Главная
КОМПАС-CLOUD
Скачать
Цены   
Вебинары
Новости
Контакты
Решение для

  Мастера таблиц и табличных форм

Вопрос:
В табличной форме Штатная расстановка выводятся колонки, не описанные в Мастере для этой формы: Расчеты с подотчетными лицами, Расчеты по оплате труда, Оклад (часы), Совмещение профессий и др. Как провести настройку, чтобы выводились только требуемые колонки? Возможно ли влиять на порядок следования этих колонок в табличной форме?

Ответ:
В табличной форме Штатная расстановка кроме колонок, описанных в описании табличной формы, автоматически добавляются колонки:
  • для лицевых счетов работников, описанных в справочнике Виды личных счетов (меню Настройка/Прочие кодификаторы), для которых имеются соответствующие поля в таблице NAZN (имя поля N_CHET + номер разновидности счета). Следует обратить внимание, что такая колонка - единственное место, где можно указать конкретные номера лицевых счетов, которые в дальнейшем могут быть использованы при проводке свода и личных документов;
  • для всех параметров расчета зарплаты, для которых имеются соответствующие поля в структуре таблицы NAZN (имя поля PARAM + номер параметра). Наличие этих колонок весьма важно для упрощения ручного ввода новых значений параметров списком. При отсутствии колонки параметры могут быть введены только в подчиненной таблице параметров, что при массовом вводе гораздо менее удобно.
Если все же по тем или иным причинам наличие колонок нежелательно, их можно убрать за счет удаления из структуры таблицы соответствующих полей.

Колонки с параметрами обычно располагаются в конце. Порядок следования этих колонок можно изменить двумя способами:
  1. включить в табличную форму колонку, соответствующую полю PARAM??. Эту колонку можно расположить где угодно. В этом случае вторая такая же колонка добавляться не будет. Программа только обеспечивает видимость этой колонки, а также меняет ее заголовок;
  2. для остальных колонок (не представленных в описании табличной формы) порядок может быть изменен за счет корректировки запроса FIZ_PARAMS_GET. Можно в таблице KODTAB завести специальное поле, определяющее порядок следования параметров, и в запросе построить сортировку по этому полю.
Вопрос:
При изучении присланного обновления обнаружил, что в таблицу KADRY добавлены новые поля. Так как раньше их было 255, то не возникнет ли проблем? Раньше говорилось о наличии этого ограничения на количество полей. Теперь оно отсутствует?

Ответ:
Это ограничение в 11-й версии существенно ослаблено, но не снято полностью. В частности, останутся естественные проблемы с выгрузкой кадровой картотеки в dbf-файл с помощью стандартной функции из табличной формы. Формат dbf не допускает наличия в таблице более 255 полей. Если для Вас это критично, предлагаю совместно определить список полей в KADRY, который Вы не используете, и удалить их. Только нужно обязательно согласовать этот список с нами. Решить эту задачу без Вашей помощи мы не можем - Вашей БД у нас нет и, соответственно, нет достаточной информации для принятия самостоятельного решения. Основная функциональность будет работать и при имеющейся структуре таблицы KADRY.
Вопрос:
Есть таблица хозяйственных договоров (G_DOC) В ней создаются дополнительные индексы для сортировке по поставщику и заказчику для создания подстрочного поиска. На основе них в описаниях табличных форм задаются сортировки. Но вот они почему-то не появляются в списке сортировок. Почему?

Или еще по поводу сортировок. В типах документов есть сортировка по коду документа, но вот я почему-то не могу сделать подстрочный поиск для этой сортировки, хотя соответствующий флажок отмечен. В чем дело?

Ответ:
  1. При открытии табличной формы используются только те сортировки, которые совместимы с ограничением по ключу. Для реестровых документов работа осуществляется в разрезе одного типа документа: это обеспечивается для всех таблиц, имеющих тип "Реестр". Поэтому в этом случае ограничение по ключу начинается с типа документа. Если Вы хотите добавить новые сортировки и видеть их в реестре, они должны начинаться перечнем полей с типа документа. Для договора имеется определенное послабление: при выборе договора как из справочника показываются одновременно договоры всех типов. В этом случае действуют все сортировки.
  2. Поскольку в таблице нет поля содержащего наименование заказчика / исполнителя, организовать подстрочный поиск по этим признакам невозможно.
  3. ТФ "типы документов" имеет тип "справочник". Вы можете установить подстрочный поиск для поля наименование документа. Код документа - число, отсюда совершенно ясно, что тип поля не соответствует определению "подстрочный", проводимую для строковых полей.


Насколько мы понимаем, проблема в том, что реестр имеет много документов и стал "необозримым"? В этом случае можно предложить другой выход - сделать реестр древовидным. Данная организация реестра позволит "развести" все документы по типам: бухгалтерские, зарплатные, отчеты и т.д.
Вопрос:
Возможно ли создание табличной формы с промежуточными итогами? В данной форме очень важно изменение данных в ячейках с одновременным занесением введённых данных в БД.

Ответ:
Нужно сделать вычисляемые поля. Поскольку очень длинный текст формулы - видимо, нужно делать промежуточную таблицу.
Вопрос:
Я создал новую таблицу и табличную форму к ней. Но в табличной форме иногда происходит удвоение записей, хотя реально в базе запись одна. Что делать?

Ответ:
При создании новых таблиц, выделите индексы, по которым Вы будете осуществлять сортировки. Для правильной визуализации табличных форм (отсутствие удвоения строк) все эти индексы должны обеспечивать уникальное индексное выражение. Это не означает, что обязательно должен стоять флаг уникальности, но это означает, что последним в перечне полей для индексного выражения должно стоять поле с уникальным значением (код, автоинкремент и т.п.).
Вопрос:
У меня Oracle - версия "КОМПАСА". Я создаю новую таблицу только с символьными полями, но некоторые запросы к ней не отрабатывают. Почему?

Ответ:
Несмотря на то, что у нас правильно работает тип данных Char, необходимо использовать тип данных Varchar2, т.к., начиная с версии Oracle 7.3.3.0 Char уже не проходит.
Вопрос:
Как из справочника быстро удалить все данные?

Ответ:
При помощи Мастера таблиц. Заходим "Сервис\Мастер таблиц" - появляется окно "Описания таблиц баз данных". Здесь выбираем таблицу, соответствующую справочнику, и нажимаем клавишу "Редактировать". Появляется окно "Описание таблицы ..................". Здесь сначала нажимаем клавишу "Удалить таблицу", а потом клавишу "Создать таблицу".
Вопрос:
Как лучше создавать справочники (простые, не древовидные): новый из текущего или просто новый?

Ответ:
Смотря, что Вам нужно создать: что-то близкое к имеющемуся по структуре (тогда из текущего, который близок по описанию) или совершенно непохожее ни на что имеющееся в поставке (тогда новый).
Вопрос:
База стала слишком большой. Каким образом можно ее оптимизировать?

Ответ:
Создать новую пустую базу (New database) и импортировать в нее все объекты из старой (правая кнопка по созданной базе -> All tasks -> Import Data, в работающем мастере затем нужно выбирать пункт Transfer all objects..., а не Copy data...). При этом удаленные записи из старой базы не импортируются и transaction log тоже не переносится, соответственно, новая база с импортированными данными занимает меньше места. Потом в настройках BDE на рабочих местах заменить имя базы в настройках псевдонима на новое.
Вопрос:
Как и чем можно качать новые таблицы?

Ответ:
Вначале в BDE Administrator создайте и настройте на данные таблицы парадоксовский алиас. Через Мастер таблиц з аходите в редактирование описания нужной таблицы и на закладке "Общие сведения" нажимаете "Загрузить данные", настраиваетесь на созданный алиас и загружаете.
Вопрос:
Когда может понадобиться реструктуризация таблицы?

Ответ:
Ситуации при которых может помочь реструктуризация:
а) некоторые таблицы в отдельных отчётах в непонятной кодировке;
б) возникает сообщение о ошибке в запросе при выполнении какой-либо типовой (стандартной) операции такой, например, как создание документа.

Реструктуризацию можно запускать как из мастера таблиц (следует делать тогда, когда эта операция затрагивает одну или несколько заранее определённых таблиц), так и из пункта меню "Настройка -> Упаковка и переиндексация" (следует делать тогда, когда эта операция затрагивает большое количество таблиц), причём во втором случае необходимо установить опцию в окне "Настройка" "Запускать процедуру реструктуризации принудительно для всех таблиц". Для того, чтобы не появлялась форма, замедляющая процесс реструктуризации, установить опцию "Режимы вызова формы" - "Никогда не вызывать".
Внимание! Перед всеми глобальными операциями с базой, такими как реструктуризация, необходимо сделать BACKUP базы.
Вопрос:
Мастер таблиц по кнопке "Сравнить разные" проводит поиск различий в описании таблиц. Мастер табличных форм такие действия выполняет по кнопке "Сравнить списки".
1 ВОПРОС: Одинаковая утилита запускается разными кнопками, это случайно или здесь есть смысл?
2 ВОПРОС: Что делает мастер таблиц по кнопке "сравнить списки"? У меня программа просто зависла.
3 ВОПРОС: Почему мастер экранных форм вообще лишен полезной функции сравнения?
4 ВОПРОС: Нельзя ли сравнивать хотя бы даты изменения форм или подключенные поля, чтобы уж потом импортировать измененные файлы целенаправленно?


Ответ:
И мастер таблиц, и мастер табличных форм по кнопке "сравнить описания" сравнивает одно текущее описание с таким же из другого DAT-файла. В обоих мастерах кнопка "сравнить списки" сравнивает все описания в двух DAT-файлах. Если различий нет или их мало, то даже до появления первого экрана с различиями эта операция может занять довольно много времени. Но это отнюдь не означает, что программа зависла. Аналогичной функции нет в мастере экранных форм, так как там эта задача гораздо менее тривиальна. Для сравнения экранных форм служит программа UPGRMAN.
Вопрос:
У меня возникла такая проблема. Я меняю структуру таблиц, после чего у пользователей при попытке обращения к этой таблице выдаются сообщения о несоответствии структур. Мне надо к ним идти и делать под именем администратора преобразование структуры - на каждом рабочем месте. Это очень неудобно. Рядовым пользователям я убрал пункт меню "Индексация и реструктуризация", наверное, поэтому сами преобразовать структуру они не могут. Как мне быть? Я что-то не так настроил?

Ответ:
Тут возможны две проблемы:
1) Загрязнился кэш на рабочих местах. Исправление - очистить кэш.
2) Общие дат-файлы (Forms.dat,QuerOpl.dat,QuerTran.dat,TblMan.dat,Tmpls.dat) лежат не на сервере,а локально. Вообще-то в данной ситуации из вышеперечисленных дат-файлов важен TblMan.dat. Именно его мы меняем, изменяя структуру таблиц. Исправление - положить данные файлы на сервер и настроить на клиентских местах к ним пути.


Вернуться к главному перечню вопросов