Проблема с Артикулами

1. Nefilimus 75 13.03.19 09:17 Сейчас в теме
Здравствуйте уважаемые программисты. Вчера наш новый сотрудник поковырялся в конфигураторе и почему-то сегодня все артикулы равны "1". Скажите пожалуйста как можно сделать, чтобы автоматически каждому артикулу вместо 1 присваивался номер типа: с 000001 и до 014000. Всего 14к номенклатур поэтому и нумерация до 014000, но чтобы одна номенклатура не повторялась в другой.

Очень прошу помочь.
1С 8.3
Ут 11.4
По теме из базы знаний
Найденные решения
14. ranis888 104 13.03.19 09:58 Сейчас в теме
 Запрос = Новый Запрос;	 
	Запрос.Текст =
	"ВЫБРАТЬ
	 |	Номенклатура.Ссылка,
	 |	Номенклатура.Артикул,
	 |	Номенклатура.ЭтоГруппа
	 |ИЗ
	 |	Справочник.Номенклатура КАК Номенклатура
	 |ГДЕ
	 |	Номенклатура.Артикул = ""1"""
	 ;
	 Выборка = Запрос.Выполнить().Выбрать();
	  Счетчик = 1;
	 Пока Выборка.Следующий() Цикл
		Объект = Выборка.Ссылка.ПолучитьОбъект(); 
		Объект.Артикул=строка(Счетчик);
		Пока СтрДлина(Объект.Артикул)<> 6 цикл
		     Объект.Артикул = "0"+Объект.Артикул;
		конецЦикла;
		Счетчик = Счетчик+1;
		Объект.Записать();
	 КонецЦикла;
Показать


Вот так поменяй артикула. Только запрос свой поставь ну или в моем убери отбор
Nefilimus; +1 Ответить
22. ranis888 104 13.03.19 11:33 Сейчас в теме
(21)
как убрать запятую?


Запрос = Новый Запрос;     
    Запрос.Текст =
    "ВЫБРАТЬ
     |    Номенклатура.Ссылка,
     |    Номенклатура.Артикул,
     |    Номенклатура.ЭтоГруппа
     |ИЗ
     |    Справочник.Номенклатура КАК Номенклатура"
     ;
     Выборка = Запрос.Выполнить().Выбрать();
      Счетчик = 1;
     Пока Выборка.Следующий() Цикл
        Объект = Выборка.Ссылка.ПолучитьОбъект(); 
        Если Найти(Объект.Артикул,".")>0 тогда
        Объект.Артикул = СтрЗаменить(Объект.Артикул,",","");
      конецЕсли;

        Объект.Записать();
     КонецЦикла;
Показать
Nefilimus; +1 Ответить
26. ranis888 104 13.03.19 11:40 Сейчас в теме
(25)
Код
 
Запрос = Новый Запрос;     
    Запрос.Текст =
    "ВЫБРАТЬ
     |    Номенклатура.Ссылка,
     |    Номенклатура.Артикул,
     |    Номенклатура.ЭтоГруппа
     |ИЗ
     |    Справочник.Номенклатура КАК Номенклатура"
     ;
     Выборка = Запрос.Выполнить().Выбрать();
      Счетчик = 1;
     Пока Выборка.Следующий() Цикл
        Объект = Выборка.Ссылка.ПолучитьОбъект(); 
        Если Найти(Объект.Артикул,",")>0 тогда
        Объект.Артикул = СтрЗаменить(Объект.Артикул,",","");
      конецЕсли;

        Объект.Записать();
     КонецЦикла;
Показать полностью
Nefilimus; +1 Ответить
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. ranis888 104 13.03.19 09:23 Сейчас в теме
Сделай цикл с счетчиком . Для каждой номенклатуры Артикул= Артикул+1;
Nefilimus; +1 Ответить
4. Nefilimus 75 13.03.19 09:30 Сейчас в теме
(2)
Сделай цикл с счетчиком. Для каждой номенклатуры Артикул= Артикул+1;


Внешним обработчиком сделать?
5. ranis888 104 13.03.19 09:31 Сейчас в теме
6. Nefilimus 75 13.03.19 09:33 Сейчас в теме
(5) Тогда нужно ещё и выводить лидирующие нули да?
7. ranis888 104 13.03.19 09:34 Сейчас в теме
(6) Сейчас напишу код и отправлю. Честно не помню, поставит ли он нули
Nefilimus; +1 Ответить
8. Nefilimus 75 13.03.19 09:34 Сейчас в теме
(7) Спасибо огромное. Буду Вам очень благодарен
9. ranis888 104 13.03.19 09:38 Сейчас в теме
(8) запрос сам составишь?
Nefilimus; +1 Ответить
10. Nefilimus 75 13.03.19 09:39 Сейчас в теме
(9)
(8) запрос сам составишь?


Вроде как смогу) Но если Вам не сложно можете пожалуйста отправить полный код
12. ranis888 104 13.03.19 09:53 Сейчас в теме
(10) Жди, не верно сделал. Сейчас подправлю. Если выполнишь как в (11) то будет 0000014000
Nefilimus; +1 Ответить
13. Nefilimus 75 13.03.19 09:58 Сейчас в теме
(12) спасибо огромное. Буду ждать
15. ranis888 104 13.03.19 09:58 Сейчас в теме
16. Nefilimus 75 13.03.19 09:59 Сейчас в теме
(15) Спасибо огромное. Сейчас попробую
11. ranis888 104 13.03.19 09:52 Сейчас в теме
(11)
Код
 Запрос = Новый Запрос;    
   Запрос.Текст =
   "ВЫБРАТЬ
    |   Номенклатура.Ссылка,
    |   Номенклатура.Артикул,
    |   Номенклатура.ЭтоГруппа
    |ИЗ
    |   Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |   Номенклатура.Артикул = ""01"""
    ;
    Выборка = Запрос.Выполнить().Выбрать();
     Счетчик = 1;
     Арт ="000000";
    Пока Выборка.Следующий() Цикл
      Объект = Выборка.Ссылка.ПолучитьОбъект(); 
      Объект.Артикул=строка(Строка(Арт)+Счетчик);
      Счетчик = Счетчик+1;
      Объект.Записать();

    КонецЦикла;
    
Показать полностью
Прикрепленные файлы:
Nefilimus; +1 Ответить
3. ranis888 104 13.03.19 09:25 Сейчас в теме
Скорее всего ваш сотрудник изменил в номенклатуре "Артикул"
Nefilimus; +1 Ответить
14. ranis888 104 13.03.19 09:58 Сейчас в теме
 Запрос = Новый Запрос;	 
	Запрос.Текст =
	"ВЫБРАТЬ
	 |	Номенклатура.Ссылка,
	 |	Номенклатура.Артикул,
	 |	Номенклатура.ЭтоГруппа
	 |ИЗ
	 |	Справочник.Номенклатура КАК Номенклатура
	 |ГДЕ
	 |	Номенклатура.Артикул = ""1"""
	 ;
	 Выборка = Запрос.Выполнить().Выбрать();
	  Счетчик = 1;
	 Пока Выборка.Следующий() Цикл
		Объект = Выборка.Ссылка.ПолучитьОбъект(); 
		Объект.Артикул=строка(Счетчик);
		Пока СтрДлина(Объект.Артикул)<> 6 цикл
		     Объект.Артикул = "0"+Объект.Артикул;
		конецЦикла;
		Счетчик = Счетчик+1;
		Объект.Записать();
	 КонецЦикла;
Показать


Вот так поменяй артикула. Только запрос свой поставь ну или в моем убери отбор
Nefilimus; +1 Ответить
17. Nefilimus 75 13.03.19 10:08 Сейчас в теме
(14)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка,
| Номенклатура.Артикул,
| Номенклатура.ЭтоГруппа
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Артикул = ""1"""
;
Выборка = Запрос.Выполнить().Выбрать();
Счетчик = 1;
Пока Выборка.Следующий() Цикл
Объект = Выборка.Ссылка.ПолучитьОбъект();
Объект.Артикул=строка(Счетчик);
Пока СтрДлина(Объект.Артикул)<> 6 цикл
Объект.Артикул = "0"+Объект.Артикул;
конецЦикла;
Счетчик = Счетчик+1;
Объект.Записать();
КонецЦикла;
Показать


Спасибо огромное
18. ranis888 104 13.03.19 10:09 Сейчас в теме
(17) Можешь дать доступы?
Nefilimus; +1 Ответить
19. Nefilimus 75 13.03.19 10:10 Сейчас в теме
(18) Заработало ) Продолжило меняться) С 22 до 100 резко изменил 0_о

Спасибо Вам Огромное
20. ranis888 104 13.03.19 10:11 Сейчас в теме
21. Nefilimus 75 13.03.19 11:17 Сейчас в теме
(20) нашёл небольшую проблему. с 001000 пишет так: 001,000 как убрать запятую?
22. ranis888 104 13.03.19 11:33 Сейчас в теме
(21)
как убрать запятую?


Запрос = Новый Запрос;     
    Запрос.Текст =
    "ВЫБРАТЬ
     |    Номенклатура.Ссылка,
     |    Номенклатура.Артикул,
     |    Номенклатура.ЭтоГруппа
     |ИЗ
     |    Справочник.Номенклатура КАК Номенклатура"
     ;
     Выборка = Запрос.Выполнить().Выбрать();
      Счетчик = 1;
     Пока Выборка.Следующий() Цикл
        Объект = Выборка.Ссылка.ПолучитьОбъект(); 
        Если Найти(Объект.Артикул,".")>0 тогда
        Объект.Артикул = СтрЗаменить(Объект.Артикул,",","");
      конецЕсли;

        Объект.Записать();
     КонецЦикла;
Показать
Nefilimus; +1 Ответить
23. Nefilimus 75 13.03.19 11:35 Сейчас в теме
24. ranis888 104 13.03.19 11:37 Сейчас в теме
(23) Не за что. Используй их как шаблоны и все. А так советую обработку "Консоль запросов", чтобы не входя в конфигуратор получать результат запроса
Nefilimus; +1 Ответить
25. Nefilimus 75 13.03.19 11:38 Сейчас в теме
(24)
так советую обработку "Консоль запросов", чтобы не входя в конфигуратор получать результат запроса


Хорошо =) Но с кодом выше выдаёт ошибку:{ВнешняяОбработка.РучнаяОбработка.Форма.Форма.Форма(18,51)}: Пропущен символ '"' (двойная кавычка)
| Справочник.Номенклатура КАК Номенклатура<<?>> (Проверка: Сервер)
{ВнешняяОбработка.РучнаяОбработка.Форма.Форма.Форма(25,56)}: Ожидается символ ','
Объект.Артикул = СтрЗаменить(Объект.Артикул,","<<?>>.""); (Проверка: Сервер)
{ВнешняяОбработка.РучнаяОбработка.Форма.Форма.Форма(18,51)}: Пропущен символ '"' (двойная кавычка)
| Справочник.Номенклатура КАК Номенклатура<<?>> (Проверка: Сервер)
{ВнешняяОбработка.РучнаяОбработка.Форма.Форма.Форма(25,56)}: Ожидается символ ','
Объект.Артикул = СтрЗаменить(Объект.Артикул,","<<?>>.""); (Проверка: Сервер)
{ВнешняяОбработка.РучнаяОбработка.Форма.Форма.Форма(18,51)}: Пропущен символ '"' (двойная кавычка)
| Справочник.Номенклатура КАК Номенклатура<<?>> (Проверка: Тонкий клиент)
{ВнешняяОбработка.РучнаяОбработка.Форма.Форма.Форма(25,56)}: Ожидается символ ','
Объект.Артикул = СтрЗаменить(Объект.Артикул,","<<?>>.""); (Проверка: Тонкий клиент)
26. ranis888 104 13.03.19 11:40 Сейчас в теме
(25)
Код
 
Запрос = Новый Запрос;     
    Запрос.Текст =
    "ВЫБРАТЬ
     |    Номенклатура.Ссылка,
     |    Номенклатура.Артикул,
     |    Номенклатура.ЭтоГруппа
     |ИЗ
     |    Справочник.Номенклатура КАК Номенклатура"
     ;
     Выборка = Запрос.Выполнить().Выбрать();
      Счетчик = 1;
     Пока Выборка.Следующий() Цикл
        Объект = Выборка.Ссылка.ПолучитьОбъект(); 
        Если Найти(Объект.Артикул,",")>0 тогда
        Объект.Артикул = СтрЗаменить(Объект.Артикул,",","");
      конецЕсли;

        Объект.Записать();
     КонецЦикла;
Показать полностью
Nefilimus; +1 Ответить
27. Nefilimus 75 13.03.19 11:44 Сейчас в теме
(26)
Получается вот так?
 Запрос = Новый Запрос;     
    Запрос.Текст =
    "ВЫБРАТЬ
     |    Номенклатура.Ссылка,
     |    Номенклатура.Артикул,
     |    Номенклатура.ЭтоГруппа
     |ИЗ
     |    Справочник.Номенклатура КАК Номенклатура
     |ГДЕ
     |    Номенклатура.Артикул = ""1"""
     ;
     Выборка = Запрос.Выполнить().Выбрать();
      Счетчик = 1;
     Пока Выборка.Следующий() Цикл
        Объект = Выборка.Ссылка.ПолучитьОбъект(); 
        Объект.Артикул=строка(Счетчик);
        Пока СтрДлина(Объект.Артикул)<> 6 цикл
             Объект.Артикул = "0"+Объект.Артикул;
        конецЦикла;
        Счетчик = Счетчик+1;
        Объект.Записать();
   	
	
	Если Найти(Объект.Артикул,".")>0 тогда
        Объект.Артикул = СтрЗаменить(Объект.Артикул,",","");
      конецЕсли;    КонецЦикла;
Показать
28. ranis888 104 13.03.19 11:48 Сейчас в теме
(27) Нет. Я выше написал
Nefilimus; +1 Ответить
29. Nefilimus 75 13.03.19 11:49 Сейчас в теме
(28) а 0000 подставлять будет? Просто он значительно отличается ) Поэтому уточняю
31. ranis888 104 13.03.19 12:58 Сейчас в теме
(29) Он просто запятую уберет и все
Nefilimus; +1 Ответить
32. Nefilimus 75 13.03.19 13:14 Сейчас в теме
30. Nefilimus 75 13.03.19 12:51 Сейчас в теме
(28) всё) Я только сейчас понял )
33. muskul 14.03.19 03:50 Сейчас в теме
Действительно хороший сотрудник
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот