Имя: Пароль:
1C
 
Проверка ШК что бы не повторялся ?
,
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) Круто работает спасибо!!!!!!! :)