Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 апр 2024, 08:35

Ошибка при установке значения атрибута контекста (Формат)

Автор AnnaZ., 06 авг 2015, 20:49

0 Пользователей и 1 гость просматривают эту тему.

AnnaZ.

Здравствуйте.Возникает проблема с процедурой.Вроде бы синтаксис верен,но выдает ошибку:
Ошибка
{Документ.ЗаявкаНаПлатеж.Форма.ФормаДокумента.Форма(278)}: Ошибка при установке значения атрибута контекста (Формат)
         ЭлементыФормы.СуммаПоДокументу.Формат = ПрочитатьПараметрыПрописи(Валюта.ПараметрыПрописиНаРусском);//строка на которую ругается
по причине:
Недопустимое значение параметра (параметр номер '1')
Код:
Процедура ПриОткрытии()      
   мКолонкиОКДП = ЭлементыФормы.РашифровкаПоОКДП.Колонки;   
         Если ЭтоНовый() Тогда   
         ДатаДок = ТекущаяДата();            
      Подразделение = ПараметрыСеанса.Подразделение.Ссылка;            
НомерЧисловой = ПолучитьНовыйНомерЗаявки(ПараметрыСеанса.Подразделение,ДатаДок);
      Номер = ПараметрыСеанса.Подразделение.ПрефиксЗаявокНаПлатеж + Строка(НомерЧисловой);
      Исполнитель = Справочники.Исполнители.НайтиПоРеквизиту("ИмяПользователяИБ",Строка(ПользователиИнформационнойБазы.ТекущийПользователь()));
      Если Подписи.Количество() = 0 Тогда // Проверка от копирования
         Для каждого Согласующий  Из Подразделение.Согласование Цикл
            Подпись = Подписи.Добавить();
            Подпись.Должность = Согласующий.Должность;
               Подпись.ФамилияИО = Согласующий.ФамилияИО;
                  КонецЦикла;
            КонецЕсли;   
         // Если происходит копирование
         Если Валюта = Справочники.Валюты.ПустаяСсылка() Тогда
               Валюта = Справочники.Валюты.РоссийскийРубль.Ссылка;
            КонецЕсли;
                 ЭлементыФормы.РашифровкаПоОКДП.Колонки.Сумма.Формат = ПрочитатьПараметрыПрописи(Валюта.ПараметрыПрописиНаРусском);      
         ЭлементыФормы.СуммаПоДокументу.Формат = ПрочитатьПараметрыПрописи(Валюта.ПараметрыПрописиНаРусском);//строка на которую ругается
                     Иначе  // Курс на изменение документа
         ЭлементыФормы.СуммаПоДокументу.Формат = ПрочитатьПараметрыПрописи(Валюта.ПараметрыПрописиНаРусском);
      ЭлементыФормы.РашифровкаПоОКДП.Колонки.Сумма.Формат = ПрочитатьПараметрыПрописи(Валюта.ПараметрыПрописиНаРусском);
   
   КонецЕсли;
      ДоступностьИзмененияРасчетногоСчета();
КонецПроцедуры

vitasw

Ну, а где код процедуры ПрочитатьПараметрыПрописи?

AnnaZ.

Цитата: vitasw от 07 авг 2015, 09:52
Ну, а где код процедуры ПрочитатьПараметрыПрописи?
Функция ПрочитатьПараметрыПрописи(ПараметрыПрописиНаРусском)
  СтрокаПараметров = СтрЗаменить(ПараметрыПрописиНаРусском, ",", Символы.ПС);
Возврат "ЧДЦ=" + СокрЛП(СтрПолучитьСтроку(СтрокаПараметров, 9));
КонецФункции

vitasw

А что отладчик говорит?
Как правило, параметры прописи, которые достаются из спр. валют относятся к строковому представлению. Ну и странно что такой сложный код только для того чтобы задать число символов дробной части.

AnnaZ.

Цитата: vitasw от 07 авг 2015, 11:16
А что отладчик говорит?
Как правило, параметры прописи, которые достаются из спр. валют относятся к строковому представлению. Ну и странно что такой сложный код только для того чтобы задать число символов дробной части.
Я в 1с новичок.А по работе требуют перенести базу из версии 8.1 на 8.2
В предыдущей версии форма прекрасно работает с таким кодом.Если вы поможете упростить код,буду очень признательна.

vitasw

Если честно, что-то конкретное даже не возьмусь советовать. Я не понимаю что вообще творится и зачем. Приведенный код - это что-то в высшей степени ОЧЕНЬ для меня непонятное. Начиная с необходимости задания формата элементов формы(??? и не очень понятно это элемент формы или просто надпись)  и заканчивая вопросами оптимальности выполнения кода.
Разве что могу посоветовать почитать в СП про Формат.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск