Меню

Недопустимое значение аргумента функции внутренняя ошибка

Недопустимое значение аргумента функции внутренняя ошибка

недопустимое значение аргумента функции

Проблема в платформе

Проблема в платформе

Платформа: 1С:Предприятие 8.3 (8.3.10.2466)
Конфигурация: Зарплата и управление персоналом, редакция 3.1 (3.1.3.136) ( http://v8.1c.ru/hrm/)
Copyright © ООО «1C-Софт», 2007-2017. Все права защищены
( http://www.1c.ru)
Режим: Серверный (сжатие: усиленное)
Приложение: Толстый клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский
Вариант интерфейса: Такси

Ошибка возникает, например в командировках, когда изменяешь дату начала и конца командировки. Обработчик при изменении в отладке отрабатывает без ошибок, но всеравно потом выходит эта ошибка.
Но если у пользователя полные права, то такой ошибки нет. И нет никаких сообщений какие права и на что нужны. В журнале регистрации тоже ничего нет.
Установка привилигированного режима во всех процедурах не помогает.
Но если перед изменением дат командировки отменить проведение документа, то такой ошибки нет даже при ограниченных правах.
Вот такая бесовщина.

(21) такая же ошибка для БЛ, даже если они не проведены при смене периода. Исчезает только когда даешь права «Добавление изменение начисленной зарплаты расширенная», но. тогда кадровики видят все расчеты.

Платформа: 1С:Предприятие 8.3 (8.3.10.2466)
Конфигурация: Зарплата и управление персоналом, редакция 3.1 (3.1.3.158) ( http://v8.1c.ru/hrm/)
Copyright © ООО «1C-Софт», 2007-2017. Все права защищены
( http://www.1c.ru)
Расширение конфигурации: Расширение
Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Такси

Ошибка возникает в коде тех обработчиков событий, где есть вызов обработчика ожидания и только для нового, НЕ записанного документа.

Так, если открыть форму нового увольнения и сразу сменить дату увольнения, то увидим то, что в (22).

Снимать документы с поддержки для вставки кода в модуль формы как в (25) — это плохое решение, я считаю.

Пока не обновили платформу с исправлением этой ошибки нужно просто сказать пользователям, чтобы при открытии нового документа они не меняли реквизиты сразу, а сначала нажали кнопку записать. У уже записанного документа эта ошибка не возникает.

Коды ошибок в LibreOffice Calc

В следующей таблице описываются коды ошибок для LibreOffice Calc. Если ошибка происходит в ячейке, содержащей курсор, сообщение об ошибке отображается в строке состояния.

Код ошибки Сообщение Объяснение
### Ширины ячейки не хватает для отображения содержимого.
501 Недопустимый символ Символ в формуле недействителен.
502 Недопустимый аргумент Функция имеет недопустимый аргумент, например отрицательное число для функции извлечения корня.
503

  1. NUM!
Недопустимая операция с плавающей запятой Вычисление приводит к переполнению определенного диапазона значений.
504 Ошибка в списке параметров Недопустимый параметр функции, например текст вместо числа или доменная ссылка вместо ссылки на ячейку.
508 Ошибка: нет пары Отсутствует скобка: например, есть закрывающие скобки, но нет открывающих скобок.
509 Отсутствует оператор Отсутствует оператор: например, в выражении «=2(3+4) * » нет оператора между символами «2» и «(«.
510 Отсутствует переменная Нет переменной, например, в случае, когда два оператора стоят рядом «=1+*2».
511 Отсутствует переменная Функция требует большего количества переменных, например AND() и OR().
512 Слишком длинная формула Компилятор: общее количество внутренних лексем (т.е. операторов, переменных и угловых скобок) в формуле превышает 512.
513 Слишком длинная строка Компилятор: идентификатор в формуле по размеру превышает 64 КБ. Интерпретатор: результат строковой операции по размеру превышает 64 КБ.
514 Внутреннее переполнение Операция сортировки, предпринятая на слишком большом количестве числовых данных (максимально 100000), или переполнение стека вычислений.
516 Внутренняя ошибка синтаксиса В стеке вычислений предполагается матрица, но она недоступна.
517 Внутренняя синтаксическая ошибка Неизвестный код: например, документ с новой функцией загружен в старую версию, не содержащую этой функции.
518 Внутренняя синтаксическая ошибка Переменная недоступна.
519

  1. VALUE
Нет результата (в ячейке отображается #ЗНАЧЕН! а не Ошибка:519) Формула возвращает значение, не соответствующее определению, или ячейка, на которую ссылается формула, содержит текст вместо числа.
520 Внутренняя синтаксическая ошибка Компилятор создал неизвестный код компиляции.
521 Внутренняя синтаксическая ошибка Нет результата.
522 Циклическая ссылка Формула прямым или косвенным образом ссылается на себя, и не настроен параметр Циклы в разделе Сервис — Параметры — LibreOffice Calc — Вычислить.
523 Процедура вычисления не сходится Функция потеряла подбираемое значение или циклические ссылки не доходят до минимальных изменений для заданного максимального числа шагов.
524

  1. REF

недопустимые ссылки (вместо Ошибка:524 в ячейке содержится #ССЫЛ!)

Компилятор: не удалось определить имя описания столбца или строки. Интерпретатор: в формуле отсутствует столбец, строка или лист, содержащий ссылочную ячейку.
525

  1. NAME?

недопустимые имена (вместо Ошибка:525 ячейка содержит #ИМЯ?)

Оценка статьи:

2 звезды3 звезды4 звезды5 звезд5 звезд

Загрузка…

Похожие публикации

Adblock
detector

Недопустимое значение аргумента функции внутренняя ошибка

недопустимое значение аргумента функции

Проблема в платформе

Проблема в платформе

Платформа: 1С:Предприятие 8.3 (8.3.10.2466)
Конфигурация: Зарплата и управление персоналом, редакция 3.1 (3.1.3.136) ( http://v8.1c.ru/hrm/)
Copyright © ООО «1C-Софт», 2007-2017. Все права защищены
( http://www.1c.ru)
Режим: Серверный (сжатие: усиленное)
Приложение: Толстый клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский
Вариант интерфейса: Такси

Ошибка возникает, например в командировках, когда изменяешь дату начала и конца командировки. Обработчик при изменении в отладке отрабатывает без ошибок, но всеравно потом выходит эта ошибка.
Но если у пользователя полные права, то такой ошибки нет. И нет никаких сообщений какие права и на что нужны. В журнале регистрации тоже ничего нет.
Установка привилигированного режима во всех процедурах не помогает.
Но если перед изменением дат командировки отменить проведение документа, то такой ошибки нет даже при ограниченных правах.
Вот такая бесовщина.

(21) такая же ошибка для БЛ, даже если они не проведены при смене периода. Исчезает только когда даешь права «Добавление изменение начисленной зарплаты расширенная», но. тогда кадровики видят все расчеты.

Платформа: 1С:Предприятие 8.3 (8.3.10.2466)
Конфигурация: Зарплата и управление персоналом, редакция 3.1 (3.1.3.158) ( http://v8.1c.ru/hrm/)
Copyright © ООО «1C-Софт», 2007-2017. Все права защищены
( http://www.1c.ru)
Расширение конфигурации: Расширение
Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Такси

Ошибка возникает в коде тех обработчиков событий, где есть вызов обработчика ожидания и только для нового, НЕ записанного документа.

Так, если открыть форму нового увольнения и сразу сменить дату увольнения, то увидим то, что в (22).

Снимать документы с поддержки для вставки кода в модуль формы как в (25) — это плохое решение, я считаю.

Пока не обновили платформу с исправлением этой ошибки нужно просто сказать пользователям, чтобы при открытии нового документа они не меняли реквизиты сразу, а сначала нажали кнопку записать. У уже записанного документа эта ошибка не возникает.

Недопустимое значение аргумента функции внутренняя ошибка

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Когда запускаю базу через администратора выдает такую ошибку «Недопустимое значение, тип или число аргументов функции» и потом выкидывает. Помогите пожалуйста советом, что это может быть и как с этим бороться?

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Попробуйте сделать ремонт

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

to man
Попробовал выдает ошибку о том, что ремонт базы невозможен.
«Структура БД отличается от описанной в администраторе. Возможны ошибки, искажение или потеря данных. Рекомендуем переустановить систему.»

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

to максим
жжесть! Описатели структур смотрите.

В форточках семь кто-нибудь работает? У меня при запуске администратора вылетает эта фигня с «типом или числом аргумента» и не заходит. Как победить чудо уважаемого Билли?

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Всё работает нормально уже 4 месяца. Только DLL подложили и всё.

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

спасибо всем за помощь; базу отремонтировал

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

to KORUM
разберитесь с правами на папку паруса

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

to максим
Тоже самая ошибка, не могу войти в администратора. Как быть?

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

to vaz
Такая ошибка выдается часто, когда удалена часть индексных файлов или они повреждены, или повреждены файлы *.dbf или *.fpt, а вы пытаетесь открыть базу. Но там бывает другое сообщение.
Индексные файлы создаются вновь при ремонте, базу открывать не надо, описатели структур, это Parus*.fxp в каталоге базы и Admin Net администратора должны быть идентичны по количеству, размеру, дате изменения, т.е. одного релиза. Количество файлов по списку с расширением *.dbf и *.fpt должно соответствовать описателям релиза, иначе ремонт не возможен, т.к. при ремонте будет выдаваться сообщение такая то таблица отсутствует и она будет пустая. Часть или даже все файлы *.cdx (индексы) могут отсутствовать.
Обязательно сделать копию базы средствами windows, если база не открывается администратором, т.е. делать Копировать значке каталога базы и Вставить на свободном месте от каталогов и файлов.

PROИТ

Office 365, AD, Active Directory, Sharepoint, C#, Powershell. Технические статьи и заметки.

1C. «Недопустимое значение параметра» при вызове макета в расширении

Дано: 1С (в данном примере конфигурация 1С:Университет ПРОФ), платформа 8.3.10. Создано расширение, в котором к документу добавлен новый макет. В модуле менеджера документа есть процедура, формирующая печатную форму на базе макета. Необходимо было заменить данную процедуру (при помощи директивы расширения «&Вместо») и заменить вызов встроенного макета на наш, добавленный в расширение.
Проблема: при вызове добавленного макета в момент его печати в режиме «1С:Предприятие» возникала ошибка при получении макета:

<ЗаявлениеПоступающегоРасширение Документ.ЗаявлениеПоступающего.МодульМенеджера(176)>: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет («Расш1_МакетЗаявлениеПоступающего»);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)

Код, вызывающий ошибку:

А затем из заменяемой процедуры вызвать эту функцию:

(как оказалось этот способ не нужен. Причину читайте ниже)

2. Другой вариант — перенести макеты в общие и следующей командой вызвать (получить) макет из «Общие макеты»:

——
Видимо это всё-таки какой-то глюк платформы (протестировано на 8.3.10.2252 и 8.3.10.2299), но если просто добавить пустой макет в общие макеты в расширении, то команда, ранее вызывавшая ошибку (ПолучитьМакет из макета документа без допфункций на сервере), начинает нормально работать. При удалении пустого общего макета, команда вызова макета из документа снова вызывает ошибку (даже если вынесена в функцию на сервере, как показано в способе 1).
Т.е. если всё-таки хочется сделать макеты нормально в документе (ожидая, что когда-нибудь этот глюк исправят), то нужно сделать макет-заглушку в общих макетах. Например:

Недопустимое значение аргумента функции внутренняя ошибка

##### — эти символы сообщают, что столбец, содержащий числа, недостаточно широк, или же дата и время, введенные в ячейки данного столбца, содержат отрицательные числа. В первом случае достаточно просто увеличить ширину столбца или изменить числовой формат данных (например, уменьшить число знаков после запятой). Во втором же случае надо:

• проверить формулу, если вычисляется число дней между двумя датами;

• если формула не содержит ошибок, необходимо изменить формат ячейки и перейти, например, с формата Дата и время на Общий или Числовой формат.

Ошибка: 501 — недопустимый символ. Формула содержит недопустимый символ, например =1Eр вместо =1E2.

Ошибка: 502 — недопустимый аргумент. Функция имеет недопустимый аргумент, например отрицательное число для функции извлечения корня.

Ошибка: 503 (#NUM! ) — недопустимая операция с плавающей запятой. Вычисление приводит к переполнению диапазона значений.

Ошибка: 504 — ошибка в списке параметров. Используется недопустимый параметр функции, например текст вместо числа или гиперссылка вместо ссылки на ячейку.

Ошибка: 508 — нет пары.

Отсутствует скобка (закрывающая или открывающая).

Ошибка: 509 — отсутствует оператор. В формуле отсутствует оператор (+, – и т. д.).

Ошибка: 510 — отсутствует переменная.

Отсутствует переменная (два оператора стоят рядом).

Ошибка: 511 — отсутствует переменная. В функции не хватает переменной.

Ошибка: 512 — слишком длинная формула.

Общее число внутренних маркеров (операторов, переменных, скобок) в формуле превышает 512 или общее число матриц, которые создает формула, превышает 150.

Ошибка: 513 — слишком длинная строка. Идентификатор в формуле превышает 64 Kб.

Ошибка: 514 — внутреннее переполнение.

Переполнен стек вычислений (например, операция сортировки предпринята на слишком большом количестве числовых данных — более 100 000).

Ошибка: 516 — внутренняя синтаксическая ошибка. В стеке вычислений недоступна необходимая матрица.

Ошибка: 517 — внутренняя синтаксическая ошибка. Документ с новой функцией открыт в старой версии программы.

Ошибка: 518 — внутренняя синтаксическая ошибка. Переменная недоступна.

Ошибка: 519 (#VALUE) — нет результата. Ячейка, на которую ссылается формула, содержит текст вместо числа. -В ячейке отображается #ЗНАЧЕН! , а не Ошибка: 519.

Ошибка: 520 — внутренняя синтаксическая ошибка. Компилятор создал неизвестный код компиляции.

Ошибка: 521 — внутренняя синтаксическая ошибка. Нет результата.

Ошибка: 522 — циклическая ссылка. Формула ссылается прямо или косвенно на саму себя, а параметр Итерации не настроен.

Ошибка: 523 — процедура вычисления не сходится. Функция потеряла подбираемое значение или циклические ссылки не доходят до минимальных изменений для заданного максимального числа шагов.

Ошибка: 524 (#REF) — недопустимые ссылки. В формуле отсутствует столбец, строка или лист с заданной ячейкой.

-В ячейке отображается #ССЫЛ!2, а не Ошибка: 524.

Ошибка: 525 (#NAME) — недопустимые имена. Нет допустимой ссылки, доменного имени, подписи столбца/строки, макроса, присутствует неправильный десятичный разделитель или не найдена надстройка.

-В ячейке отображается #ИМЯ, а не Ошибка: 525.

Ошибка: 526 — внутренняя синтаксическая ошибка. Ссылка устарела.

Ошибка: 527 — внутреннее переполнение. Слишком сложное вложение ссылок.

Ошибка: 532 (#DIV/0!) — деление на ноль. В формуле используется деление на ноль. Глава 8

Ошибки в функциях и аргументах;

Ошибки синтаксиса

Проверка ошибок при создании и редактировании формул

Проверка ошибок

Удаление имени

Применение имен

При создании формул короткие имена можно вводить с клавиатуры.

Во избежание возможных ошибок при использовании имен в процессе создания формулы следует в группе Определенные имена вкладки Формулы щелкнуть кнопку Использовать в формуле и выбрать нужное имя в списке имен (рис. 6.20).

Рис. 6.20. Вставка имени в формулу

Если нужное имя не отображается в списке, выберите команду Вставить имена (см. рис. 6.20), а затем в окне Вставка имени выберите вставляемое имя.

Имена ячеек являются абсолютными ссылками.

Ненужное или ошибочное имя можно удалить.

1. В группе Определенные имена вкладки Формулы нажмите кнопку Диспетчер имен.

2. В окне Диспетчер имен выделите имя и нажмите кнопку Удалить (рис. 6.21).

Рис. 6.21. Удаление имени

В процессе создания и/или редактирования формул Excel обнаруживает ошибки синтаксиса формулы и приостанавливает дальнейшую работу.

При обнаружении лишних символов операторов, лишних или недостающих скобок и т. п. выводится сообщение об ошибке в окне предупреждения. Например, при вводе формулы в ячейку D2 в таблице на рис. 6.22 ошибочно введено два оператора (умножение и деление). В сообщении предлагается возможный вариант исправления ошибки. Чтобы принять его следует нажать кнопку Да, для самостоятельного исправления ошибки следует нажать кнопку Нет.

Рис. 6.22. Сообщение об ошибке во введенной формуле

При вводе формул с использованием мастера функций или их редактировании Excel обнаруживает недостаток или избыток аргументов. В этом случае появляется соответствующее окно (рис. 6.23). Следует нажать кнопку ОК, а затем внести исправления в формулу с клавиатуры или нажать кнопку Вставить функцию в строке формул и изменить аргументы функции в окне Аргументы функции (см. рис. 6.4).

Рис. 6.23. Сообщение об ошибке в аргументах функции

Excel обнаруживает ошибки, связанные с циклическими ссылками. Циклической ссылкой называется последовательность ссылок, при которой формула ссылается (через другие ссылки или напрямую) сама на себя. Например, в диапазон аргументов формулы СУММ в ячейке В7 в таблице на рис. 6.24 включена ячейка В7. При обнаружении циклической ссылки выходит окно сообщения. Нажатие кнопки ОК не приведет к исправлению ошибки. Лучше нажать кнопку Отмена и внести исправления самостоятельно.

Рис. 6.24. Сообщение о циклической ошибке

Если формула содержит ошибку функции и/или аргумента, не позволяющую выполнить вычисления или отобразить результат, Excel отобразит сообщение об ошибке. В ячейке с ошибкой в формуле вместо результата вычисления отображается один из кодов ошибки, а в левом верхнем углу ячейки появляется индикатор ошибки (зеленый треугольник).

При выделении ячейки с ошибкой рядом с ней появляется кнопка Источник ошибки. Если щелкнуть по кнопке, появится меню, в котором указан тип ошибки, а также команды действий для исправления ошибки (рис. 6.25).

Рис. 6.25. Кнопка и меню кнопки Источник ошибки

Основные ошибки и некоторые возможные причины их появления приведены в таблице.

У меня есть сценарий Python, который использует ReportLab для создания отчета, сценарий был протестирован и работает должным образом, однако иногда я получаю следующее сообщение об ошибке.

TraceBack info:

File "C:toolsLegionellaTool.py", line 605, in <module>

createReport(selectedCoolingTowers, Report_outputs_folder, dbo_COLGIS, openPDF)

Error Info:

..Objectsmoduleobject.c:50: bad argument to internal function

Строка 605 — это createReport(selectedCoolingTowers, Report_outputs_folder, dbo_COLGIS, openPDF)

createReport — это функция, которая … создает отчет. Я отладил код, и у меня не было никаких ошибок, что могло бы привести к появлению ошибки, ошибка возникает только в некоторых случаях, тогда как в других случаях отчет создается нормально.

РЕДАКТИРОВАТЬ ===== создатькод отчета

def createReport(myReportTable, myReportFolder, M3Table, OpenPDF):
    global Author
    global TimeStamp

##    myReportTable = gp.GetParameterAsText(0)
##    myReportFolder = gp.GetParameterAsText(1)
##    M3Table = gp.GetParameterAsText(2)
##    OpenPDF = gp.GetParameterAsText(3)

    Author = getpass.getuser() #gets OS user name
    TimeStamp = str(datetime.datetime.now().hour) + ':' + str(datetime.datetime.now().minute) + ' on the ' + str(datetime.date.today().day) + '/' + str(datetime.date.today().month) + '/' + str(datetime.date.today().year) 

    #add time stamp to file name
    myFile = myReportFolder + os.sep + 'CoolingTowersForInspection_' + str(datetime.datetime.now().hour) + '_' + str(datetime.datetime.now().minute) + '_' + str(datetime.date.today().day) + '_' + str(datetime.date.today().month) + '_' + str(datetime.date.today().year) + '.pdf'
    c = reportlab.pdfgen.canvas.Canvas(myFile)

    #creates sectors array
    sectors = []
    sectors.append('NW')
    sectors.append('NE')
    sectors.append('SW')
    sectors.append('SE')

    for sector in sectors:
        #sector header
        #framePage(c, 'Cooling Towers for Inspection - ' + sector + ' sector')
        title = 'Cooling Towers for Inspection - ' + sector + ' sector'
        c.setFont('Helvetica',20) #title font
        c.drawString(reportlab.lib.units.inch, 10.5 * reportlab.lib.units.inch, title) #creates title

        c.setFont('Helvetica',10) #header and footer font

        #creates header
        c.drawCentredString(4.135 * reportlab.lib.units.inch, 0.75 * reportlab.lib.units.inch,
                                 'Report generated by ' + Author + ' at ' + TimeStamp + ' - Page %d' % c.getPageNumber())

        #creates footer
        c.drawCentredString(4.135 * reportlab.lib.units.inch, 11.00 * reportlab.lib.units.inch,
                                'Environmental Services')

        #draw a border
        c.setStrokeColorRGB(1,0,0)
        c.setLineWidth(5)
        c.line(0.8 * reportlab.lib.units.inch, reportlab.lib.units.inch, 0.8 * reportlab.lib.units.inch, 10.75 * reportlab.lib.units.inch)

        #reset carefully afterwards
        c.setLineWidth(1)
        c.setStrokeColorRGB(0,0,0)

        c.setFont('Helvetica', 10)

        #gets towers in that sector
        myTowers = arcpy.SearchCursor(myReportTable,""SECTOR" = '" + sector + "'","","")
        selTower = myTowers.next()

        y = 730

        if selTower is not None:

            while selTower:
                #insert page break when close to the end of the page
                if y < 110:
                    c.showPage()
                    y = 730
                    framePage(c, 'Cooling Towers for Inspection - ' + sector + ' sector')

                if selTower.TOWER_NAME <> None:
                    c.drawString(100, y, string.strip(selTower.TOWER_NAME))
                else:
                    c.drawString(100, y, "na")
                y = y - 12

                if selTower.TOWER_ADDRESS <> None:
                    c.drawString(100, y, string.strip(selTower.TOWER_ADDRESS))
                else:
                    c.drawString(100, y, "na")
                y = y - 12

                c.drawString(100, y, "Number of towers: " + str(int(selTower.NUMBER_OF_TOWERS)) + " ;   M3 Code: " + selTower.UKEY + " ;   Distance band: " + str(int(selTower.distance)) + " meters")
                y = y - 12

                inspectString = ""
                if selTower.TOWER_RATING <> None:
                    inspectString = "Inspection rating: " + selTower.TOWER_RATING
                else:
                    inspectString = "Inspection rating: na;"

                if selTower.TOWER_LAST_INSPECTION <> None:
                    t = selTower.TOWER_LAST_INSPECTION
                    strLastInspection = t.strftime("%A, %d %b %Y")

                    inspectString = inspectString + "   Last inspection: " + strLastInspection
                    #inspectString = inspectString + "   Last inspection: " + selTower.TOWER_LAST_INSPECTION
                else:
                    inspectString = inspectString + "   Last inspection: na"

                c.drawString(100, y, inspectString)
                y = y - 12

                c.drawString(100, y, "Contacts:")
                y = y - 12

                myTowerUKEY = selTower.UKEY

                #gets contacts for that cooling tower            
                myTowerContacts = arcpy.SearchCursor(M3Table,""UKEY" = '" + myTowerUKEY + "'","","")

                selContact = myTowerContacts.next()

                while selContact:
                    if y < 110:
                        c.showPage()
                        y = 730
                        framePage(c, 'Cooling Towers for Inspection - ' + sector + ' sector')

                    contact = ""
                    if selContact.TITLE <> None:
                        if string.strip(selContact.TITLE) <> "":
                            contact = string.strip(selContact.TITLE) + " "
                    if selContact.FIRSTNAME <> None:
                        contact = contact + selContact.FIRSTNAME + " "
                    if selContact.FAMILYNAME <> None:
                        contact = contact + selContact.FAMILYNAME + " "
                    if selContact.JOBTITLE <> None:
                        contact = contact + "(" + selContact.JOBTITLE + ") "
                    if selContact.TELW <> None:
                        contact = contact + selContact.TELW + "(work) "
                    if selContact.MOBILE <> None:
                        if string.strip(selContact.MOBILE) <> "":
                            contact = contact + string.strip(selContact.MOBILE) + "(mobile) "
                    if selContact.TELH <> None:
                        if string.strip(selContact.TELH) <> "":
                            contact = contact + string.strip(selContact.TELH) + "(home)"

                    contact = string.strip(contact)

                    c.drawString(100, y, contact)
                    y = y - 12
                    selContact = myTowerContacts.next()                

                y = y - 12
                del myTowerContacts
                selTower = myTowers.next()
        else:
            c.drawString(100, y, "no cooling towers for inspection in this sector")

        c.showPage() #insert page break after each sector

    del myTowers

    c.save()

    if OpenPDF == "true":
        os.startfile(myFile)

#function that creates each page
def framePage(canvas, title):
    canvas.setFont('Helvetica',20) #title font
    canvas.drawString(reportlab.lib.units.inch, 10.5 * reportlab.lib.units.inch, title) #creates title

    canvas.setFont('Helvetica',10) #header and footer font

    #creates header
    canvas.drawCentredString(4.135 * reportlab.lib.units.inch, 0.75 * reportlab.lib.units.inch,
                             'Report generated by ' + Author + ' at ' + TimeStamp + ' - Page %d' % canvas.getPageNumber())

    #creates footer
    canvas.drawCentredString(4.135 * reportlab.lib.units.inch, 11.00 * reportlab.lib.units.inch,
                            'Environmental Services')

    #draw a border
    canvas.setStrokeColorRGB(1,0,0)
    canvas.setLineWidth(5)
    canvas.line(0.8 * reportlab.lib.units.inch, reportlab.lib.units.inch, 0.8 * reportlab.lib.units.inch, 10.75 * reportlab.lib.units.inch)

    #reset carefully afterwards
    canvas.setLineWidth(1)
    canvas.setStrokeColorRGB(0,0,0)

РЕДАКТИРОВАТЬ номер 2 *

Полная трассировка здесь

Traceback (most recent call last):
  File "C:toolsLegionellaTool.py", line 613, in <module>
    createReport(selectedCoolingTowers, Report_outputs_folder, dbo_COLGIS, openPDF)

  File "C:toolsLegionellaTool.py", line 120, in createReport

    c.drawString(reportlab.lib.units.inch, 10.5 * reportlab.lib.units.inch, title) #creates title

  File "c:python26arcgis10.0libsite-packagesreportlabpdfgencanvas.py", line 1481, in drawString

    t.textLine(text)

  File "c:python26arcgis10.0libsite-packagesreportlabpdfgentextobject.py", line 426, in textLine

    self._code.append('%s T*' % self._formatText(text))
  File "c:python26arcgis10.0libsite-packagesreportlabpdfgentextobject.py", line 393, in _formatText

    for f, t in pdfmetrics.unicode2T1(text,[font]+font.substitutionFonts):
SystemError: ..Objectsmoduleobject.c:50: bad argument to internal function

<type 'exceptions.SystemExit'>: 1

Спасибо

  • Remove From My Forums
  • Question

  • Hello,

    The small VBA proc underneath worked fine for a long time, but suddenly, without any change, it throws an error: «Invalid argument value«. (It copies a field
    to another field in MS Project)

    What I’m missing?

    Thanks

Answers

  • The version of my WINPROJ.EXE: 16.0.8625.2121

    I found it!

    I was not well awaked: That’s only the summaries which don’t like we copy their numeric values !

    Sub SaveVarMoisPrécédente()
    Dim oTache As Task

    For Each oTache In ActiveProject.Tasks
        If oTache.Summary = False Then
        oTache.Number1 = oTache.Number2 / 60
        End If
    Next

    CustomFieldRename FieldID:=pjCustomTaskNumber1, NewName:=»Var M-1 h » & Format(ActiveProject.CurrentDate, «dd-mm-yy»)

    End Sub

    • Edited by

      Friday, November 10, 2017 3:49 PM

    • Marked as answer by
      WLID1966
      Friday, November 10, 2017 3:50 PM

  • Remove From My Forums
  • Question

  • Hello,

    The small VBA proc underneath worked fine for a long time, but suddenly, without any change, it throws an error: «Invalid argument value«. (It copies a field
    to another field in MS Project)

    What I’m missing?

    Thanks

Answers

  • The version of my WINPROJ.EXE: 16.0.8625.2121

    I found it!

    I was not well awaked: That’s only the summaries which don’t like we copy their numeric values !

    Sub SaveVarMoisPrécédente()
    Dim oTache As Task

    For Each oTache In ActiveProject.Tasks
        If oTache.Summary = False Then
        oTache.Number1 = oTache.Number2 / 60
        End If
    Next

    CustomFieldRename FieldID:=pjCustomTaskNumber1, NewName:=»Var M-1 h » & Format(ActiveProject.CurrentDate, «dd-mm-yy»)

    End Sub

    • Edited by

      Friday, November 10, 2017 3:49 PM

    • Marked as answer by
      WLID1966
      Friday, November 10, 2017 3:50 PM

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Недопустимая таблица читов ошибка выполнения lua скрипта
  • Недопустимая ссылка консолидации excel ошибка