|   |   | 
| 
 | Заполнение регистра штрихкод | ☑ | ||
|---|---|---|---|---|
| 0
    
        Aleksei_Pro 10.10.12✎ 12:11 | 
        // штрихкоды записываем
  НаборД = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей(); // Наборд.Отбор.Номенклатура.Установить(Ном); // Наборд.Записать(); МассивШтрахКодов = РазложитьСтрокуВМассивПодстрок(Бд.Strich); Для каждого ТС из МассивШтрахКодов Цикл если ЗначениеЗаполнено(ТС) Тогда СтрокаДанных = НаборД.Добавить(); СтрокаДанных.Штрихкод = СокрЛП(ТС); СтрокаДанных.Номенклатура = Ном; НаборД.Записать(); КонецЕсли; КонецЦикла; Почему не заполняет регистр, запись происходит а в справочнике - пусто. УТ11 база | |||
| 1
    
        Aleksei_Pro 10.10.12✎ 13:35 | 
        Кто ни то кояк видит?     | |||
| 2
    
        Aleksei_Pro 10.10.12✎ 14:17 | 
        УТ11 база , измерение - штрихКод, ресурс - номенклатура. Нужно чтобы при загрузке перезаполнятлся регистр, т.е очищался и заново заполнылся , разумеется по отбору ( отбор или по номенклатуре или по штрихкоду). Что нре так?
  НаборД = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей(); Наборд.Прочитать(); Наборд.Записать(); МассивШтрахКодов = РазложитьСтрокуВМассивПодстрок(Бд.Strich); Для каждого ТС из МассивШтрахКодов Цикл если ЗначениеЗаполнено(ТС) Тогда НаборД.Отбор.штрихкод.Установить(СокрЛП(ТС)); СтрокаДанных = НаборД.Добавить(); СтрокаДанных.Штрихкод = СокрЛП(ТС); СтрокаДанных.Номенклатура = Номенкл; НаборД.Записать(); КонецЕсли; КонецЦикла; | |||
| 3
    
        Stim 10.10.12✎ 14:17 | 
        а где отбор?     | |||
| 4
    
        Aleksei_Pro 10.10.12✎ 14:24 | 
        НаборД.Отбор.штрихкод.Установить(СокрЛП(ТС));     | |||
| 5
    
        Aleksei_Pro 10.10.12✎ 14:25 | 
        что никак не полчается загнать запись в регистр с очищением перед этим     | |||
| 6
    
        Stim 10.10.12✎ 14:25 | 
        убери
  Наборд.Прочитать(); Наборд.Записать(); | |||
| 7
    
        Stim 10.10.12✎ 14:25 | 
        и делай по-человечески:
  МассивШтрахКодов = РазложитьСтрокуВМассивПодстрок(Бд.Strich); Для каждого ТС из МассивШтрахКодов Цикл если ЗначениеЗаполнено(ТС) Тогда НаборД = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей(); НаборД.Отбор.штрихкод.Установить(СокрЛП(ТС)); СтрокаДанных = НаборД.Добавить(); СтрокаДанных.Штрихкод = СокрЛП(ТС); СтрокаДанных.Номенклатура = Номенкл; НаборД.Записать(); КонецЕсли; КонецЦикла; | |||
| 8
    
        Aleksei_Pro 10.10.12✎ 14:27 | 
        (7) а где очистка перед заполнением?     | |||
| 9
    
        Stim 10.10.12✎ 14:28 | 
        (8) ты весь набор перезиписываешь, зачем тебе очистка?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |