Уважаемые знатоки, что я делаю не так ?

АртикулПосле = ВыборкаСтрокТовары.Артикул;
  АртикулПосле = СтрЗаменить(АртикулПосле,"А","A");
  АртикулПосле = СтрЗаменить(АртикулПосле,"В","B");
  АртикулПосле = СтрЗаменить(АртикулПосле,"Н","H");
  АртикулПосле = СтрЗаменить(АртикулПосле,"НМ","HM");
  АртикулПосле = СтрЗаменить(АртикулПосле,"С","C");
  АртикулПосле = СтрЗаменить(АртикулПосле,"М","M");
  АртикулПосле = СтрЗаменить(АртикулПосле,"Р","P");
  АртикулПосле = СтрЗаменить(АртикулПосле,"Т","T");
  АртикулПосле = СтрЗаменить(АртикулПосле,"О","O");
  АртикулПосле = СтрЗаменить(АртикулПосле,"Е","E");
  АртикулПосле = СтрЗаменить(АртикулПосле,"К","K");

  Если ВыводитьКоды Тогда
   Если Колонка = "Артикул" Тогда
   ОбластьКодов.Параметры.Артикул = АртикулПосле;
   Иначе
    ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код;
   КонецЕсли;

Буквы не заменяются ( с русской раскладки надо на английский заменить, чтобы при печати сортировка шла нормально!
---
К сожалению, в жизни так не получится... Я бы сделал проверку ПередЗаписью:
1. Если ЭтоНовый() и Значение Артикул заполнено - проверяем;
2. Если не Новый и Значение Артикула не равно Старому значению Артикула(Получаем функцией БСП значение одного реквизита по ссылке, в базе оно еще не изменилось) - тоже проверяем.
Остальные случаи не интересны. Если не прав, более опытные поправят.
---
так каждый раз создают как попало
какой-то детский лепет!
откройте модуль Номенклатуры, там есть процедура ПередЗаписью()
в ней понаставьте нужные проверки и замены !!!

и этого "как попало" - не будет!!!
---
И где в коде сортировка после замены строк?
---
так при печати ни какой сортировки нет, это до вывода в ТабДок надо сортировать и выводить в нужном порядке!
---
Сортировка в запросе! но так как артикула созданы как письмо из Простоквашино у меня сначала на англ. сортировка идет потом на рус.
---
Сортировка в запросе! И каким образом замена букв при печати должна повлиять на порядок выборки запроса, который к этому моменту наверняка уже выполнен?
---
Тоже верно. Надо до сортировки в запросе. или что то другое придумать.
---
сама проблема при выводе на печать не идет замена букв.
---
Не будет ли более правильно обработать один раз справочник с артикулами, а не изобретать каждый раз костыли?
---
так каждый раз создают как попало. хотел как то автоматизировать этот процесс
---
Регламентное задание по ночам не вариант?
---
Обработчик ПриЗаписи у тебя враги отборали?
---
Вот это мне нравится ) чтобы при создании номенклатуры он автоматом переделывал ?)
---
Так зачем автоматом, отказ записи и сообщение пользователю о наличии символов от недружественных государств, пусть помучается.
---
ЖЕстокий ))) Хотя так было бы справедливо.
---
К сожалению, в жизни так не получится... Я бы сделал проверку ПередЗаписью:
1. Если ЭтоНовый() и Значение Артикул заполнено - проверяем;
2. Если не Новый и Значение Артикула не равно Старому значению Артикула(Получаем функцией БСП значение одного реквизита по ссылке, в базе оно еще не изменилось) - тоже проверяем.
Остальные случаи не интересны. Если не прав, более опытные поправят.
---
Так сделаю. Спасибо! Надеюсь получится.
---
Да зачем запрос к базе, пусть всегда идет проверка и пользователи сами исправляют ошибки других пользователей)
---
Зачем напрягать сервер, если можно напрячь пользователя?
---
:D
---
Лучше до начала транзакции выполнять проверку
---
Ну так как мне опыта не хватает я к Вам и пришел!
---
А проблема еще в том что артикула у нас например H1500 Gri/серый а еще HS1500 Gri/серый. т.е. надо сделать так чтобы первые буквы только на англ. были и то их то 1 то 2 но не больше.
---
я думаю проще обработку сделать чтобы группой заменять вручную эти буквы.
---
так каждый раз создают как попало
какой-то детский лепет!
откройте модуль Номенклатуры, там есть процедура ПередЗаписью()
в ней понаставьте нужные проверки и замены !!!

и этого "как попало" - не будет!!!
---
Уже подсказали, я про это не подумал. Спасибо Вам всем!