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

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

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

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

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