Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 12:53
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Ошибка выражения  (Прочитано 3600 раз)

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

Оффлайн Mandarin

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-20
  • Сайт: 
здравствуйте

Помогите чайнику ...

   
В данном коде если я делаю соединение строк  НаимЗатраты =СокрЛП(ДопИнформация) + " " + НаимЗатраты; то переменная "НаимЗатраты.ЕдиницаИзмерения" уходит в ошибку  "Ошибка выражения " что влияет на это???????????

после соединения строк НаимЗатраты = ""+НаимЗатраты + ", "+НаимЗатраты.ЕдиницаИзмерения; вылетаю из процедуры .....ну это понятно почему

сам код:      

ДопИнформация = глПолучитьИнформациюДляКолонки(НаимЗатраты, "ВыводитьДляМПЗвОтчетах");
         
      Если ПустоеЗначение(ДопИнформация) = 0 Тогда
         НаимЗатраты =СокрЛП(ДопИнформация) + " " + НаимЗатраты; // послед данного соединения строк переменная НаимЗатраты.ЕдиницаИзмерения уходит в ошибку "Ошибка выражения " почему ???
      КонецЕсли;
      
      НаимЗатраты = ""+НаимЗатраты + ", "+НаимЗатраты.ЕдиницаИзмерения;//после данного соединения строк  процедура в которой выполняется  происходит критическая ошибка и я вылетаю из процедуры ну это понятно почему




если я делаю так то все работает нормально ….

Код:
      ДопИнформация = глПолучитьИнформациюДляКолонки(НаимЗатраты, "ВыводитьДляМПЗвОтчетах");
      
                           НаимЗатраты = ""+НаимЗатраты + ", "+НаимЗатраты.ЕдиницаИзмерения;
   
      Если ПустоеЗначение(ДопИнформация) = 0 Тогда
         НаимЗатраты =СокрЛП(ДопИнформация) + " " + НаимЗатраты;
      КонецЕсли;
      

Почему  происходит "Ошибка выражения "   


Оффлайн Mandarin

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-20
  • Сайт: 
Доп. свед.

1С:Предприятие 7.7 для SQL (7.70.027)
Конфигурация: Производство+Услуги+Бухгалтерия, редакция 2.8 (7.70288)

Оффлайн Makifka

  • **
  • Сообщений: 81
  • РЕПУТАЦИЯ: 23
  • КПД: 28%
  • Регистрация: 2010-08-13
  • Сайт: 
  • Профессия: Программист 1С
в первом варианте вы Ссылке НаимЗатраты присваиваете значение строки, естественно у неё теперь нет реквизита ЕдиницаИзмерения
во втором случае вы сначала выводите по ссылке ЕдиницуИзмерения, а потом этой ссылке присваиваете строковое значение

попробуйте

ДопИнформация = глПолучитьИнформациюДляКолонки(НаимЗатраты, "ВыводитьДляМПЗвОтчетах");
        
Если ПустоеЗначение(ДопИнформация) = 0 Тогда
         НаимЗатратыНовый =СокрЛП(ДопИнформация) + " " + НаимЗатраты;
КонецЕсли;
      
НаимЗатраты = ""+НаимЗатратыНовый + ", "+НаимЗатраты.ЕдиницаИзмерения;

Оффлайн Mandarin

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-20
  • Сайт: 
Работает .....спасибо большое........Извеняюсь за возможно глуппый вопрос  мне интерестно  а если оставить как в вотором варианте так правильно будет ...... В 1С ни когда не писал еще не все понял ...с чем его есть....разбираюсь

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
будет.
но еще раз перечитай, вникнись и вьедь в ответ Makifka 

Оффлайн Makifka

  • **
  • Сообщений: 81
  • РЕПУТАЦИЯ: 23
  • КПД: 28%
  • Регистрация: 2010-08-13
  • Сайт: 
  • Профессия: Программист 1С
во втором тоже правильно, результат одинаковый, сначала выводится ДопИнформация, потом НаимЗатрат, потом ЕдиницаИзмерения

Оффлайн Mandarin

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-20
  • Сайт: 
Начинаю понимать....Спасибо

Оффлайн Mandarin

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-20
  • Сайт: 
А вот смотрите в варианте в котором вы мне предложили если в переменная ДопИнформация равна пустому значению  то у меня условие не выполнится НаимЗатратыНовый будет равен пустому значению ......

 
ДопИнформация = глПолучитьИнформациюДляКолонки(НаимЗатраты, "ВыводитьДляМПЗвОтчетах");
         
Если ПустоеЗначение(ДопИнформация) = 0 Тогда
         НаимЗатратыНовый =СокрЛП(ДопИнформация) + " " + НаимЗатраты;

КонецЕсли;
     
НаимЗатраты = ""+НаимЗатратыНовый + ", "+НаимЗатраты.ЕдиницаИзмерения;

надо так

   ДопИнформация = глПолучитьИнформациюДляКолонки(НаимЗатраты, "ВыводитьДляМПЗвОтчетах");
         
      
         
         Если ПустоеЗначение(ДопИнформация) = 0 Тогда
          НаимЗатратыНовый=СокрЛП(ДопИнформация) + " " + НаимЗатраты;
            Иначе
                НаимЗатратыНовый=НаимЗатраты;
         КонецЕсли;
         
             НаимЗатраты = ""+НаимЗатратыНовый + ", "+НаимЗатраты.ЕдиницаИзмерения;
         
или второй вариант
 

Оффлайн Makifka

  • **
  • Сообщений: 81
  • РЕПУТАЦИЯ: 23
  • КПД: 28%
  • Регистрация: 2010-08-13
  • Сайт: 
  • Профессия: Программист 1С
Да, правильно) или перед условием определить НаимЗатратыНовый = ""

Оффлайн Makifka

  • **
  • Сообщений: 81
  • РЕПУТАЦИЯ: 23
  • КПД: 28%
  • Регистрация: 2010-08-13
  • Сайт: 
  • Профессия: Программист 1С
да, вот как вы написали так правильно


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
177 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
alex0402
46 Сообщений
andron81_81
41 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 800
  • Точка Скрытых: 0
  • Точка Пользователей: 10
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal