Вход | Регистрация
 

1c переводит строку в число, хотя не надо.

1c переводит строку в число, хотя не надо.
Я
   Shecurok
 
07.04.21 - 11:44
Есть табллица значений которая выгружена из экселя. Есть там такой два поля как ПериодНачало и ПериодКонец, данные там такие: 11, March, 2021    18, March, 2021
В отладчике видно, что тип данных строка. При попытке загрузить эти данные в 1С ошибка, что преобразование к типу Число не может быть выполнено на строчке

СтрТЧ.Содержание = СпрНом.Ссылка + "за период с " + СтрокаТЗ.ПериодНачало + "по " + СтрокаТЗ.ПериодКонец + "(" + СтрокаТЗ.Клиент + ")";

Сразу скажу, что СпрНом.Ссылка нормально проходит. В поле клиент только буквенные значения. Если что эти данные заносятся в ТЧ Услуги документа РТиУ.
Почему он мне дату в число преобразовывает? Да и в ТаблицеЗначений тип данных строка.
   Dmitrii
 
1 - 07.04.21 - 11:54
(0) >> СпрНом.Ссылка нормально проходит.

Уверен? При операциях сложения платформа опирается как раз на тип первого слагаемого. Попробуй принудительно его привести к строке.
СтрТЧ.Содержание = Строка(СпрНом.Ссылка) + "за период с " + ...
или
СтрТЧ.Содержание = СпрНом.Ссылка.Наименование + "за период с " + ...

И убедиться, что СтрТЧ.Содержание - это тоже строка, а не число.
   Kassern
 
2 - 07.04.21 - 11:56
(0) Добавь перед равно "". Типа СтрТЧ.Содержание = ""+СпрНом.Ссылка+...
П.С. убедись, что СтрТЧ.Содержание с типом строка
   Shecurok
 
3 - 07.04.21 - 12:00
(1) да, вы правы, именно она переводилась в число. Вообще бы не подумал, т.к. перед этой строчкой идет СтрТЧ.Номенклатура = СпрНом.Ссылка;
и тут все нормально. Странно.
   SiAl-chel
 
4 - 07.04.21 - 13:51
(0) Возьми всегда за правило: при конкатенции чего-либо перед первым элементом добавлять пустую строку "", либо первый элемент загоняй в функцию Строка(), а еще лучше - для конкатенации используй функцию СтрЩаблон().

Список тем форума
Рекламное место пустует  Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.