Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Код элемента справочника не уникальный!!!

gugolovski
читатель
офлайн
Дата регистрации: 29.04.2009
Сообщений: 4
Пост №1
 
29.04.2009 05:19

Помогите. <br>В 1С торговля-склад у справочника стоит значение: длина кода 5 символов. В базе был создан справочник под кодом 99999, при создании следущего элемента справочника, предлагается код 10000(при попытке созранится выходит сообщение "код не уникальный!"). Что делать?<br>с 1 по 99999 используются около 30000 элементов, как сделать чтобы 1С предлагала код из пула 1-99999, из тех что не используется.<br>Возможно ли сделать кнопку, чтобы 1С предлагала уникальный код?

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №2
 
29.04.2009 07:27

Можно сделать миниотчет "СвободныйКод", который будет выводить вам уникальный код из вашего "пула".

gugolovski
читатель
офлайн
Дата регистрации: 29.04.2009
Сообщений: 4
Пост №3
 
29.04.2009 07:32

"Я придумал сделать только такое, а вот как создать "отчет" или включить перебор номеров не знаю - не специалист. Кто нибудь кодом может помочь?<br><br>Процедура ПриНажатии()<br> <br> Код = СчитатьКод;<br> СчитатьКод = ...<br> <br>КонецПроцедуры"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №4
 
29.04.2009 08:37

"Процедура ПриНажатии()<br><br> ТипКода = Метаданные.Справочник("Номенклатура").ТипКода;<br> ДлинаКода = Метаданные.Справочник("Номенклатура").ДлинаКода;<br> <br> Если ДлинаКода = 0 Тогда<br> Возврат;<br> КонецЕсли;<br> <br> МаксКод = """";<br> <br> СчетчикЦикла = 0;<br> Для СчетчикЦикла = 1 По ДлинаКода Цикл<br> МаксКод = МаксКод + "9";<br> КонецЦикла;<br> <br> МаскаКода = СтрЗаменить(МаксКод, "9", "0");<br> МаксКод = Число(МаксКод);<br> <br> СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");<br> <br> СчетчикЦикла = 0;<br> Для СчетчикЦикла = 1 По МаксКод Цикл<br> <br> Если СчетчикЦикла % 100 = 0 Тогда<br> Проц = Окр(СчетчикЦикла * 100 / МаксКод);<br> Состояние("Определение кода: " + Проц + "%");<br> КонецЕсли;<br> <br> Если ТипКода = "Текстовый" Тогда<br> <br> ТекКод = Лев(МаскаКода, ДлинаКода - СтрДлина(Строка(СчетчикЦикла))) + СчетчикЦикла;<br> <br> Иначе<br> <br> ТекКод = СчетчикЦикла;<br> <br> КонецЕсли;<br> <br> Если СпрНоменклатура.НайтиПоКоду(ТекКод) = 0 Тогда<br> Код = ТекКод;<br> Прервать;<br> КонецЕсли;<br> <br> КонецЦикла;<br> <br>КонецПроцедуры"

gugolovski
читатель
офлайн
Дата регистрации: 29.04.2009
Сообщений: 4
Пост №5
 
29.04.2009 08:49

Большое спасибо дорогой друг - все работает. Если не сложно, то не посоветуешь как подкорректоровать код, чтобы он кода выбирал не с 1 по 99999, а с 10000 по 99999. (Мне важно чтобы код начинался с любой цифры кроме нуля).

Vladko
читатель
офлайн
Дата регистрации: 27.08.2007
Сообщений: 2649
Пост №6
 
29.04.2009 09:07

в твоём случае:<br>.....<br>Для СчетчикЦикла = 10000 По МаксКод Цикл<br>.....<br>можно сделать также универсально, как и остальной код программы<br>

gugolovski
читатель
офлайн
Дата регистрации: 29.04.2009
Сообщений: 4
Пост №7
 
29.04.2009 09:08

спасибо огромное

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №8
 
29.04.2009 09:15

...ну так напиши ему универсально, сообщение то может еще какому-нибудь "убийце автонумерации" пригодиться. :)

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация