Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> РегистрСведений Штри-коды ошибка записи.          
bizisoft Подменю пользователя
сообщение 02.10.17, 12:02
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 242
Из: Донецк
Спасибо сказали: 19 раз
Рейтинг: 22

Здравствуйте.

1С:Предприятие 8.2 (8.2.19.130)
"Альфа-Авто: Автосервис+Автозапчасти, украинская версия 4.1" (4.1.14.01)
обычные формы.

Пытаюсь программно из внешней обработки записывать в регистр сведений "штрих-коды".
Кидаю на форму несколько полей ввода, пвНоменклатура, пвШтрихКод, пвЕдИмз, пвХарНом, все кроме пвШтрихКод установлены указатели на соотв-е справочники.
Для добавления используется код
    МенеджерЗаписи = РегистрыСведений.ШтрихКоды.СоздатьМенеджерЗаписи();
    
    МенеджерЗаписи.Объект = пвНоменклатура;
    МенеджерЗаписи.ШтрихКод = пвШтрихКод;
    МенеджерЗаписи.ЕдиницаИзмерения = пвЕдИзм;
    МенеджерЗаписи.ХарактеристикаНоменклатуры = пвХарНом;
    МенеджерЗаписи.Записать();
    
    НаборЗаписей = РегистрыСведений.ШтрихКоды.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Объект.Установить(пвНоменклатура);
//---
    НоваяЗапись = НаборЗаписей.Добавить();               
    НоваяЗапись.Объект = пвНоменклатура;     
    НоваяЗапись.ШтрихКод = пвШтрихКод;                                                            
    НоваяЗапись.ЕдиницаИзмерения = пвЕдИзм;
    НоваяЗапись.ХарактеристикаНоменклатуры = пвХарНом;    
    НаборЗаписей.Записать();
//---    
    НоваяЗапись = НаборЗаписей.Добавить();               
    НоваяЗапись.Объект = пвНоменклатура;     
    НоваяЗапись.ШтрихКод = пвШтрихКод+"        0001";                                                            
    НоваяЗапись.ЕдиницаИзмерения = пвЕдИзм;
    НоваяЗапись.ХарактеристикаНоменклатуры = пвХарНом;    
    НаборЗаписей.Записать();
//---

Все работает как и задумывалось.
Далее пробую делать через запрос выборкой по группе
ЗапросНоменклатура = Новый Запрос;
    ЗапросНоменклатура.Текст =
            "ВЫБРАТЬ
            |    Номенклатура.Ссылка,
            |    Номенклатура.ПометкаУдаления,
            |    Номенклатура.Родитель,
            |    Номенклатура.ЭтоГруппа,
            |    Номенклатура.Код,            
            |    Номенклатура.Артикул,
            |    Номенклатура.Наименование,            
            |    Номенклатура.Производитель
            |ИЗ
            |    Справочник.Номенклатура КАК Номенклатура
            |ГДЕ
            |    Номенклатура.Ссылка В ИЕРАРХИИ(&Ссылка)
            |    И Номенклатура.ЭтоГруппа = ЛОЖЬ";
    ЗапросНоменклатура.УстановитьПараметр("Ссылка",пвГруппа.Ссылка);
    Результат = ЗапросНоменклатура.Выполнить();
    ТЗ = Результат.Выбрать();    
    Пока ТЗ.Следующий() Цикл
        СтрШтрихКод = СтрЗаменить(ТЗ.Ссылка.Артикул, "-", "");
        
        МенеджерЗаписи = РегистрыСведений.ШтрихКоды.СоздатьМенеджерЗаписи();
    
        МенеджерЗаписи.Объект = ТЗ.Ссылка;
        МенеджерЗаписи.ШтрихКод = СтрШтрихКод;
        МенеджерЗаписи.ЕдиницаИзмерения = пвЕдИзм;
        МенеджерЗаписи.ХарактеристикаНоменклатуры = пвХарНом;
        МенеджерЗаписи.Записать();
        
        НаборЗаписей = РегистрыСведений.ШтрихКоды.СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.Объект.Установить(пвНоменклатура);
    //---
        НоваяЗапись = НаборЗаписей.Добавить();               
        НоваяЗапись.Объект = ТЗ.Ссылка;     
        НоваяЗапись.ШтрихКод = СтрШтрихКод;                                                            
        НоваяЗапись.ЕдиницаИзмерения = пвЕдИзм;
        НоваяЗапись.ХарактеристикаНоменклатуры = пвХарНом;    
        НаборЗаписей.Записать();
    //---    
        НоваяЗапись = НаборЗаписей.Добавить();               
        НоваяЗапись.Объект = ТЗ.Ссылка;      
        НоваяЗапись.ШтрихКод = СтрШтрихКод+"        0001";                                                            
        НоваяЗапись.ЕдиницаИзмерения = пвЕдИзм;
        НоваяЗапись.ХарактеристикаНоменклатуры = пвХарНом;    
        НаборЗаписей.Записать();
    //---    

    КонецЦикла;


На этапе перебора результата в цикле и записи в регистр, выдает ошибку:
Цитата
{Форма.Форма.Форма(95)}: Ошибка при вызове метода контекста (Записать)
НаборЗаписей.Записать();
по причине:
Запись не верна! Значение поля не соответствует установленному отбору: ШтрихКоды: 3515623700, Прокладка клапана х/хода ( 35156-23700 ), , (Регистр сведений: Штрих-коды; Номер строки: 1; Поле: Объект)


Подскажите пожалуйста в чем косяк, т.к. не совсем понятно, почему измерение Объект не "принимает" присвоенную ему ссылку на объект номенклатуры?

Сообщение отредактировал Vofka - 03.10.17, 10:01


Signature
1С:Предприятие 8.2 (8.2.19.130)
"Альфа-Авто: Автосервис+Автозапчасти, украинская версия 4.1" (4.1.20.01)
обычные формы.


sava1 Подменю пользователя
сообщение 02.10.17, 12:13
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2492
Из: Проскуров
Спасибо сказали: 613 раз
Рейтинг: 593.6

Цитата(bizisoft @ 02.10.17, 13:02) *
НаборЗаписей.Отбор.Объект.Установить(пвНоменклатура);


это как ?

Спасибо сказали: bizisoft,

Petre Подменю пользователя
сообщение 02.10.17, 12:15
Сообщение #3

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2818
Из: Київ, Україна
Спасибо сказали: 944 раз
Рейтинг: 973.4

bizisoft @ Сегодня, 13:02 * ,
Если уж вы в наборе установили отбор по полю, то нечего присваивать данному полю другие значения в пределах этого же набора. Иначе пользуйтесь менеджером записи.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: bizisoft,

bizisoft Подменю пользователя
сообщение 02.10.17, 21:22
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 242
Из: Донецк
Спасибо сказали: 19 раз
Рейтинг: 22

Благодарю вас SAVA1 и PETRE, за подсказку.
Вот что копи-паст косячный делает - скопировать, скопировал, а в этом месте забыл поменять пвНоменклатура на ТЗ.Ссылка.


Signature
1С:Предприятие 8.2 (8.2.19.130)
"Альфа-Авто: Автосервис+Автозапчасти, украинская версия 4.1" (4.1.20.01)
обычные формы.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.09.21, 23:40
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!