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

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

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

обработка

andreyyy
читатель
офлайн
Дата регистрации: 09.10.2007
Сообщений: 21
Пост №21
 
22.10.2007 02:22

Вот мне и нужен контроль уникальности. <br>Если использовать Если "СтрДлина(а)>СтрДлина(б)", то цикл очень быстро заканчивается и ничего не меняет. Если использовать "а<>б", то на каком-то шаге возникает ошибка "код не уникален". Может нужно еще какая-нибудь проверка на уникальность? <br>

Daedal
читатель
офлайн
Дата регистрации: 20.09.2004
Сообщений: 632
Пост №22
 
22.10.2007 05:16

>Если использовать Если "СтрДлина(а)>СтрДлина(б)", то цикл очень быстро заканчивается и ничего не меняет.<br>><br>Стоит такое предположить, так как если реквизиты "Код" и "НомерИнвКарт" одинаковой длины, то это<br>условие просто никогда не выполняется.<br><br>>Может нужно еще какая-нибудь проверка на уникальность?<br>><br>А вот это зависит от того, какие данные вы вводили. Тут если таких элементов не много<br>то просто руками изменить номер инв. карты и соответственно переправить нумерацию инвентарных<br>карт, если требеутся. Тогда обработка пройдёт нормально.<br>Так же стоит подумать, а нельзя ли данное сделать другими путями.<br>А изменять или отключать контроль уникальности у справочника не стои вообще.<br>так как проблем потом какие-нибудь возникнуть могут

QDeSnic
читатель
офлайн
Дата регистрации: 12.04.2007
Сообщений: 98
Пост №23
 
24.10.2007 07:21

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

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

Читают тему:

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