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

Автор Тема: Удалить лишние пробелы  (Прочитано 11296 раз)

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

Оффлайн DmitriyF

  • *****
  • Сообщений: 730
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
Здравствуйте.
Кусок Кода
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ШтрихкодыНоменклатуры.Штрихкод
      |ИЗ
      |   РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры";

   РезультатЗапроса = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      
      НаборЗаписей = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();
      НаборЗаписей.Отбор.ШтрихКод.Установить(ВыборкаДетальныеЗаписи.ШтрихКод);
      НаборЗаписей.Прочитать();
      ШтрихКодБезПробелов = СтрЗаменить(ВыборкаДетальныеЗаписи.Штрихкод," ","");
      Запись.Штрихкод = ШтрихКодБезПробелов;
Подскажите почему Функция СтрЗаменить упорно не убирает пробелы из штрихкода? Каким другим способом можно реализовать данную процедуру?  Сейчас штрихкод выглядит так 4 600 082 200 453


Оффлайн LordWizard

  • "Иди учи бухгалтерский учет и не беспокой просьбами господа Бога!"
  • *****
  • Сообщений: 1463
  • РЕПУТАЦИЯ: 221
  • КПД: 15%
  • Пишу, консультирую, да и так - по клавишам...
  • Регистрация: 2011-07-25
    • Skype: warlock02121968
  • Сайт: 
  • Профессия: Консультант 1С
Сначала замени на строковую, а потом удаляй пробелы. СтрЗаменить() работает только на строковых переменных.
ПеремСтрока = СокрЛП(Строка(Перем));
ПеремПолучаем = СтрЗаменить(ПеремСтрока," ","");

Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Оффлайн DmitriyF

  • *****
  • Сообщений: 730
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
Сначала замени на строковую, а потом удаляй пробелы. СтрЗаменить() работает только на строковых переменных.
ПеремСтрока = СокрЛП(Строка(Перем));
ПеремПолучаем = СтрЗаменить(ПеремСтрока," ","");

Так ШтрихКод это и есть строка а не число.

Оффлайн LordWizard

  • "Иди учи бухгалтерский учет и не беспокой просьбами господа Бога!"
  • *****
  • Сообщений: 1463
  • РЕПУТАЦИЯ: 221
  • КПД: 15%
  • Пишу, консультирую, да и так - по клавишам...
  • Регистрация: 2011-07-25
    • Skype: warlock02121968
  • Сайт: 
  • Профессия: Консультант 1С
Там - это где? Какая конфигурация?
Добавлено: 28 Дек 2013, 01:19

Фрагмент процедуры формирования нового ШтрихКода из УТ 10:

	ТекКод = ?(Выборка.Код = NULL, 1, Мин(ОбщегоНазначения.ПривестиСтрокуКЧислу(Выборка.Код) + 1, 99999999));

Штрихкод = "2" + ПрефиксШтучногоТовара + ПрефиксВнутреннегоШтрихкода + Формат(ТекКод, "ЧЦ=8; ЧВН=; ЧГ=");
Штрихкод = Штрихкод + КонтрольныйСимволEAN(ШтрихКод, 13);
и ты будешь утверждать после этого, что он строка? :xfbnsdfb:
Добавлено: 28 Дек 2013, 01:30

ХЗ, может и строка. Но почему функция в этом месте не работает - непонятно.
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Последний раз редактировалось: LordWizard; 28 Дек 2013, 01:30. Причина: Объединение сообщений

Оффлайн DmitriyF

  • *****
  • Сообщений: 730
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
Там - это где? Какая конфигурация?
Добавлено: 28 Дек 2013, 01:19

Фрагмент процедуры формирования нового ШтрихКода из УТ 10:

	ТекКод = ?(Выборка.Код = NULL, 1, Мин(ОбщегоНазначения.ПривестиСтрокуКЧислу(Выборка.Код) + 1, 99999999));

Штрихкод = "2" + ПрефиксШтучногоТовара + ПрефиксВнутреннегоШтрихкода + Формат(ТекКод, "ЧЦ=8; ЧВН=; ЧГ=");
Штрихкод = Штрихкод + КонтрольныйСимволEAN(ШтрихКод, 13);
и ты будешь утверждать после этого, что он строка? :xfbnsdfb:
Добавлено: 28 Дек 2013, 01:30

ХЗ, может и строка. Но почему функция в этом месте не работает - непонятно.
УТ 11.
Штрихкод строка длина 200

Оффлайн LordWizard

  • "Иди учи бухгалтерский учет и не беспокой просьбами господа Бога!"
  • *****
  • Сообщений: 1463
  • РЕПУТАЦИЯ: 221
  • КПД: 15%
  • Пишу, консультирую, да и так - по клавишам...
  • Регистрация: 2011-07-25
    • Skype: warlock02121968
  • Сайт: 
  • Профессия: Консультант 1С
Попробуй вставить &НаКлиентеНаСервере может попустит. :xfbnsdfb:
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Оффлайн DmitriyF

  • *****
  • Сообщений: 730
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
Попробуй вставить &НаКлиентеНаСервере может попустит. :xfbnsdfb:
Так работать не будет скорее всего.
Вообщем вот полный код

&НаКлиенте
Процедура ПривестиШтрихкод(Команда)
   ПривестиШтрихкодНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПривестиШтрихкодНаСервере()
   
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ШтрихкодыНоменклатуры.Штрихкод,
      |   ШтрихкодыНоменклатуры.Номенклатура
      |ИЗ
      |   РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры";

   РезультатЗапроса = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      
      НаборЗаписей = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
      ШтрихКодБезПробелов = СтрЗаменить(СокрЛП(Строка(ВыборкаДетальныеЗаписи.Штрихкод))," ","");
      НаборЗаписей.Штрихкод = ШтрихКодБезПробелов;
      НаборЗаписей.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
      НаборЗаписей.Записать();
      
   КонецЦикла;
   
КонецПроцедуры

Оффлайн LordWizard

  • "Иди учи бухгалтерский учет и не беспокой просьбами господа Бога!"
  • *****
  • Сообщений: 1463
  • РЕПУТАЦИЯ: 221
  • КПД: 15%
  • Пишу, консультирую, да и так - по клавишам...
  • Регистрация: 2011-07-25
    • Skype: warlock02121968
  • Сайт: 
  • Профессия: Консультант 1С
Откуда у тебя пробелы берутся? Как-то некорректно считываются?
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Оффлайн ldo

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 1
  • КПД: 11%
  • Регистрация: 2013-10-31
  • Сайт: 
  • Профессия: Программист 1С
Попробуй вставить &НаКлиентеНаСервере может попустит. :xfbnsdfb:
причем тут клиент серверы,
там скорее всего непрерывный пробел, довольно распространенная проблема, попробуйте
ПеремПолучаем = СтрЗаменить(ПеремСтрока, Символы.НПП, "");

Оффлайн DmitriyF

  • *****
  • Сообщений: 730
  • РЕПУТАЦИЯ: 48
  • КПД: 7%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
Откуда у тебя пробелы берутся? Как-то некорректно считываются?
Так загружает из Экселя, причем там нет пробелов.


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
140 Сообщений
AIFrame
70 Сообщений
ilyay ilyay
65 Сообщений
alex0402
52 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
BuhRust
31 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal