| 
    
        
     
     | 
    
  | 
Проверка ШК что бы не повторялся ? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Олеся999    
     31.07.15 
            ✎
    07:50 
 | 
         
        Подскажите пожалуйста как сделать  проверку, чтобы штрих код (ШК) не повторялся ?
 
        http://lvkr.ru/f/S50k5Z/800.jpg  | 
|||
| 
    1
    
        lxndr    
     31.07.15 
            ✎
    07:55 
 | 
         
        конфигурация какая? Почти везде такая проверка есть     
         | 
|||
| 
    2
    
        Олеся999    
     31.07.15 
            ✎
    08:02 
 | 
         
        (1) Самописная:)     
         | 
|||
| 
    3
    
        lxndr    
     31.07.15 
            ✎
    08:02 
 | 
         
        Тогда перед записью ищи записываемую строку. В чем сложность?     
         | 
|||
| 
    4
    
        Альбатрос    
     31.07.15 
            ✎
    08:10 
 | 
         
        +(3) посмотри как это сделано в типовых     
         | 
|||
| 
    5
    
        Олеся999    
     31.07.15 
            ✎
    08:13 
 | 
         
        Процедура НайтипоШтрихКоду()
 
        Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОстаткиТоваров.Склад, | ОстаткиВЯчейках.Номенклатура, | ОстаткиВЯчейках.СкладскиеЯчейки, | ОстаткиВЯчейках.Штрих, | ОстаткиВЯчейках.Количество, | ОстаткиВЯчейкахОстатки.Номенклатура КАК Номенклатура1, | ОстаткиВЯчейкахОстатки.КоличествоОстаток |ИЗ | РегистрНакопления.ОстаткиТоваров КАК ОстаткиТоваров, | РегистрНакопления.ОстаткиВЯчейках КАК ОстаткиВЯчейках | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиВЯчейках.Остатки КАК ОстаткиВЯчейкахОстатки | ПО ОстаткиВЯчейках.Штрих = ОстаткиВЯчейкахОстатки.Штрих |ГДЕ | ОстаткиВЯчейках.Штрих = &Штрих"; Запрос.УстановитьПараметр("Штрих", Объект.ТекущийШтрихКод); тзШК = Запрос.Выполнить().Выгрузить(); Если тзШК.Количество() > 0 Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = тзШК[0].Номенклатура.Наименование + " в " + тзШК[0].СкладскиеЯчейки; Сообщение.Текст = тзШК[0].СкладскиеЯчейки.Наименование + " в " + тзШК[0].СкладскиеЯчейки; Сообщение.Текст = тзШК[0].Штрих + " в " + тзШК[0].СкладскиеЯчейки; //Сообщение.Текст = тзШК[0].Количество + " в " + тзШК[0].СкладскиеЯчейки; Сообщение.Сообщить(); //Добавляем поле НовСтрока = Объект.ТаблЧасть.Добавить(); //Делаем сопоставление НовСтрока.Номенклатура = тзШК[0].Номенклатура; НовСтрока.ШК = тзШК[0].Штрих; НовСтрока.Ячейка = тзШК[0].СкладскиеЯчейки; НовСтрока.Количество = тзШК[0].КоличествоОстаток ; НовСтрока.СкладТ = тзШК[0].Склад ; Сообщение.Сообщить(); КонецЕсли; КонецПроцедуры У меня так сделано просто проверку вкорчить нужно :)  | 
|||
| 
    6
    
        lxndr    
     31.07.15 
            ✎
    08:17 
 | 
         
        а теперь формулируй вопрос с учетом (5)     
         | 
|||
| 
    7
    
        Олеся999    
     31.07.15 
            ✎
    08:18 
 | 
         
        (6) в условиях?     
         | 
|||
| 
    8
    
        Олеся999    
     31.07.15 
            ✎
    08:21 
 | 
         
        (6) Нужно производить проверку, что бы  НовСтрока.ШК             =  тзШК[0].Штрих; Не повторялся     
         | 
|||
| 
    9
    
        Альбатрос    
     31.07.15 
            ✎
    08:21 
 | 
         
        Сообщение.Сообщить();
 
        //Добавляем поле Отбор = Новый Структура("ШК",тзШК[0].Штрих); МассивНайденных = Объект.ТаблЧасть.НайтиСтроки(Отбор); Если МассивНайденных.Количество() = 0 тогда НовСтрока = Объект.ТаблЧасть.Добавить(); //Делаем сопоставление НовСтрока.Номенклатура = тзШК[0].Номенклатура; НовСтрока.ШК = тзШК[0].Штрих; НовСтрока.Ячейка = тзШК[0].СкладскиеЯчейки; НовСтрока.Количество = тзШК[0].КоличествоОстаток ; НовСтрока.СкладТ = тзШК[0].Склад ; Сообщение.Сообщить(); Иначе //тут делай что хочешь, в МассивНайденных хранятся ссылки на найденные строки КонецЕсли; КонецЕсли; КонецПроцедуры  | 
|||
| 
    10
    
        Олеся999    
     31.07.15 
            ✎
    08:29 
 | 
         
        (9) Круто работает спасибо!!!!!!! :)     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |