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

Автор Тема: сократить знаки после точки при загрузке  (Прочитано 3126 раз)

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

Оффлайн Chaser_07

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-01-28
  • Сайт: 
  • Профессия: Ученик 1С
плз помогите пожалуйста
загружаю из XML
/////////////////////
Если Чтение.Имя = "code" Тогда
            Чтение.Прочитать();
            Артикул = СокрЛп(Чтение.Значение);
            Н = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
            Если Не ЗначениеЗаполнено(Н) Тогда
               Ном = Справочники.Номенклатура.СоздатьЭлемент();
               Ном.Артикул = Артикул;
               Ном.ВидНоменклатуры = Товар;
               Ном.БазоваяЕдиницаИзмерения = Штука;
            КонецЕсли;   
         ИначеЕсли ///////////////////

поле артикул - СокрЛП()  обрезает только пустые значения
у меня читает 123456.127
как здесь обрезать до двух знаков после почки при этом без всякого округления т.е. что бы получилось 123456.12

С Уважением


Оффлайн Kironten

  • *****
  • Сообщений: 906
  • РЕПУТАЦИЯ: 185
  • КПД: 20%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Ну например так:
Формат(Число(<ВашеЧисло>), "ЧДЦ=2")

Оффлайн Chaser_07

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-01-28
  • Сайт: 
  • Профессия: Ученик 1С
если можно вставить в код ...
у меня ошибку выдает :(

Оффлайн Kironten

  • *****
  • Сообщений: 906
  • РЕПУТАЦИЯ: 185
  • КПД: 20%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
если можно вставить в код ...
у меня ошибку выдает :(

Ну, если это у вас артикул, то тогда скорее всего так:

Если Чтение.Имя = "code" Тогда
            Чтение.Прочитать();
            Артикул = СокрЛп(Чтение.Значение);
            Н = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
            Если Не ЗначениеЗаполнено(Н) Тогда
               Ном = Справочники.Номенклатура.СоздатьЭлемент();
               Ном.Артикул = Формат(Число(Артикул), "ЧДЦ=2");
               Ном.ВидНоменклатуры = Товар;
               Ном.БазоваяЕдиницаИзмерения = Штука;
            КонецЕсли;   
         ИначеЕсли ///////////////////

Оффлайн Chaser_07

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-01-28
  • Сайт: 
  • Профессия: Ученик 1С
плз помогите пожалуйста
пишет "преобразование значения к типу Число не может быть выполнено"
Добавлено: 28 Янв 2015, 16:47

плз помогите пожалуйста
пишет "преобразование значения к типу Число не может быть выполнено"
значение того что читает - текст 123456.123

Оффлайн Kironten

  • *****
  • Сообщений: 906
  • РЕПУТАЦИЯ: 185
  • КПД: 20%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
плз помогите пожалуйста
пишет "преобразование значения к типу Число не может быть выполнено"
Добавлено: 28 Янв 2015, 16:47

плз помогите пожалуйста
пишет "преобразование значения к типу Число не может быть выполнено"
значение того что читает - текст 123456.123

В какой именно строке кода? В установлении артикула новой номенклатуры?

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
используйте функции работы со строкой

подсказка, функция
лкПозицияТочки = Найти(Артикул,".");
вернет вам позицию точки в строке,

далее с помощью функция Лев, Сред, Длина и других (по необходимости),
обрежьте строку так, как вам надо.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Chaser_07

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-01-28
  • Сайт: 
  • Профессия: Ученик 1С
не понимаю пока что сделать надо
хоть тресни  :(:(:(:(:(:(
вставьте плз в мой код если не трудно
спасибо

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Ном.Артикул = Цел(Число(Артикул)*100)/100;
Добавлено: 29 Янв 2015, 02:10

Функция ТолькоЧисла(Знач Строка)
Дробь = Ложь;
старт = ?(Лев(Строка,1)="-",2,1);
Для сч=старт По СтрДлина(Строка) Цикл
симв = Сред(Строка, сч, 1);
Если (симв >="0" и симв <="9") Тогда
Продолжить;
ИначеЕсли Не Дробь и (симв="." или симв=Символы.НПП или симв=",") Тогда
Дробь = Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Возврат Истина;
КонецФункции


//Используем функцию
Если ТолькоЧисла(Артикул) Тогда
   Ном.Артикул = Цел(Число(Артикул)*100)/100; //Оставляем два знака без округления
Иначе
   Ном.Артикул = Артикул;
КонецЕсли;
Добавлено: 29 Янв 2015, 02:12

Формат(Число(Артикул), "ЧДЦ=2")

Функция Формат() выполняет округление числа по правилу математики
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Последний раз редактировалось: Dethmontt; 29 Янв 2015, 02:12. Причина: Объединение сообщений

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
Если строка, тогда так:
// Левая часть строки до второго символа (включительно) после точки.
Артикул = Лев(Артикул, Найти(Артикул, ".") + 2);

А укорачивать "Артикул" необходимо до поиска номенклатуры или при создании новой? Потому как можно насоздавать дублей несметное количество. 


Теги:
 

Возможно ли получение эталонного файла конфигурации *.cf из измененной стандартной, например (УТ 11.1, БП 3.0) или вопрос о том как убрать лишние доработки и привести конфигурацию базы максимально к стандартной после варварских "доработок"?

Автор kostyaomskРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 9216
Последний ответ 30 Дек 2015, 22:14
от 1Cnastroika
"Недостаточно прав" после обновления бух 2.0 на бух 3.0

Автор sergey.s.betke@yandex.ruРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 3563
Последний ответ 25 Янв 2014, 19:41
от LordWizard
После обновления конфигурации, не устанавливаются обновления программы

Автор БлаговестРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 2889
Последний ответ 19 Сен 2014, 10:37
от Благовест
Как программно вызывать обработчик ПриИзменении поля табличной части после того, как форма была заполнена программно?

Автор ИстребительРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 4365
Последний ответ 27 Июл 2015, 06:21
от cska-fanat-kz
Продавец товаров, утилизация которых предусмотрена в законе, имеет право списать траты на их выкуп после окончания срока годности в налоговые расходы

Автор newsРаздел Новости

Ответов: 0
Просмотров: 1321
Последний ответ 03 Июн 2014, 11:58
от news

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
47 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal