8.х Штрих коды

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Dmitrij, 22 окт 2009.

  1. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Есть заполненный регистр штрих кодов, подскажите как можно очистить только колонку ед изм, а все остальное должно остаться
  2. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Напиши обработку, которая получает набор записей регистра сведений, очищает реквизит Единица измерения у каждой записи и записывает весь регистр сведений.
  3. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!

    Вот так вот

    Код:
    НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
    
    Для каждого Запись Из НаборЗаписей Цикл
    Запись.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.ПустаяСсылка();
    КонецЦикла; 
    
    НаборЗаписей.Записать();
    
  4. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    Этот код очистит весь регистр
  5. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Нет, этот код очистит поле единиц измерения.
  6. TopicStarter Overlay
    Dmitrij
    Offline

    Dmitrij Опытный в 1С

    Регистрация:
    6 май 2008
    Сообщения:
    844
    Симпатии:
    1
    Баллы:
    26
    А вы уверены? я проверил очищает полностью регистр
  7. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Надо прочитать запись, что бы она не очищалась при записи.
    А читать надо по отбору.
  8. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Внутри цикла добавьте перезаполнение остальных полей по текущей записи или в отладчике посмотрите что с ними происходит. Кроме того - возможно в регистре не может быть записей с незаполненной единицей измерения. Мне кажется у вас сразу набор пустой и при записи он все перезатрет... Отладчик в помощь и тут.

    Если ну никак не выходит - тогда используйте не набор записей, а менеджер записи и по одному пройдите весь регистр, записывая конкретную запись.
  9. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    эээ, опечатался

    Код:
    НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей();
    НаборЗаписей.Прочитать();
    
    Для каждого Запись Из НаборЗаписей Цикл
    Запись.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.ПустаяСсылка();
    КонецЦикла; 
    
    НаборЗаписей.Записать(Истина);
    
    Перед использованием кода установите в настройках параметров учета "Разрешить использование не уникального штрихкода" и проследите внимательно чтобы при записи стояло значение истина...

    Код:
    НаборЗаписей.Записать(Истина);
    
    Что означает что записи будут замещены, иначе будут созданы новые.

    Дело в том что в регистре сведений написано через з...цу и если нельзя вводить неуникальный штрихкод, тогда при наличии записей запись отменяется. 1С - ки видимо не допедрили проверить параметр замещается ли запись с уникальным штрихкодом и относится ли текущая запись к уже имеющецся.

Поделиться этой страницей