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

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

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


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


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

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

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


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


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

    КонецЦикла;
    
Показать полностью
Прикрепленные файлы:
Nefilimus; +1 Ответить
3. ranis888 101 13.03.19 09:25 Сейчас в теме
Скорее всего ваш сотрудник изменил в номенклатуре "Артикул"
Nefilimus; +1 Ответить
14. ranis888 101 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 101 13.03.19 10:09 Сейчас в теме
(17) Можешь дать доступы?
Nefilimus; +1 Ответить
19. Nefilimus 75 13.03.19 10:10 Сейчас в теме
(18) Заработало ) Продолжило меняться) С 22 до 100 резко изменил 0_о

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


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

        Объект.Записать();
     КонецЦикла;
Показать
Nefilimus; +1 Ответить
23. Nefilimus 75 13.03.19 11:35 Сейчас в теме
24. ranis888 101 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 101 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 101 13.03.19 11:48 Сейчас в теме
(27) Нет. Я выше написал
Nefilimus; +1 Ответить
29. Nefilimus 75 13.03.19 11:49 Сейчас в теме
(28) а 0000 подставлять будет? Просто он значительно отличается ) Поэтому уточняю
31. ranis888 101 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 Сейчас в теме
Действительно хороший сотрудник
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день