Загрузка данных


// Код для выполнения во внешней обработке 1С (УТ 11, КА 2, ERP)
Процедура НайтиИсториюКодаМаркировки(ИскомыйКод) Экспорт
    
    // Очищаем код от лишних символов, если сканер передал криптохвост
    // Обычно достаточно искать по первым 21-31 символам (GTIN + Серийник)
    ЧастьКода = Лев(СокрЛП(ИскомыйКод), 31); 
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |	Штрихкоды.ЗначениеШтрихкода КАК ПолныйКод,
        |	Штрихкоды.Номенклатура.Наименование КАК Товар,
        |	Штрихкоды.Характеристика КАК Характеристика,
        |	Штрихкоды.Ссылка КАК СсылкаНаУпаковку
        |ПОМЕСТИТЬ ВТ_Коды
        |ИЗ
        |	РегистрСведений.ШтрихкодыУпаковокТоваров КАК Штрихкоды
        |ГДЕ
        |	Штрихкоды.ЗначениеШтрихкода ПОДОБНО &ЧастьКода;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |	"Заказ на эмиссию" КАК ТипОперации,
        |	Док.Ссылка КАК Документ,
        |	Док.Дата КАК Дата
        |ИЗ
        |	Документ.ЗаказНаЭмиссиюКодовМаркировкиСУЗ КАК Док
        |ГДЕ
        |	Док.Продукция.КодМаркировки В (ВЫБРАТЬ ПолныйКод ИЗ ВТ_Коды)
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |	"Маркировка (Ввод в оборот)",
        |	Док.Ссылка,
        |	Док.Дата
        |ИЗ
        |	Документ.МаркировкаТоваровИСМП.Товары КАК Док
        |ГДЕ
        |	Док.СсылкаНаУпаковку В (ВЫБРАТЬ СсылкаНаУпаковку ИЗ ВТ_Коды)
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |	"Перемещение товаров",
        |	Док.Ссылка,
        |	Док.Дата
        |ИЗ
        |	Документ.ПеремещениеТоваров КАК Док
        |ГДЕ
        |	Док.Ссылка В (
        |		ВЫБРАТЬ ВЫРАЗИТЬ(Связи.Ссылка КАК Документ.ПеремещениеТоваров) 
        |		ИЗ РегистрСведений.ШтрихкодыУпаковокДокументов КАК Связи 
        |		ГДЕ Связи.Упаковка В (ВЫБРАТЬ СсылкаНаУпаковку ИЗ ВТ_Коды)
        |	)
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |	"Реализация клиенту",
        |	Док.Ссылка,
        |	Док.Дата
        |ИЗ
        |	Документ.РеализацияТоваровУслуг КАК Док
        |ГДЕ
        |	Док.Ссылка В (
        |		ВЫБРАТЬ ВЫРАЗИТЬ(Связи.Ссылка КАК Документ.РеализацияТоваровУслуг) 
        |		ИЗ РегистрСведений.ШтрихкодыУпаковокДокументов КАК Связи 
        |		ГДЕ Связи.Упаковка В (ВЫБРАТЬ СсылкаНаУпаковку ИЗ ВТ_Коды)
        |	)
        |
        |УПОРЯДОЧИТЬ ПО
        |	Дата ВОЗР";
        
    Запрос.УстановитьПараметр("ЧастьКода", "%" + ЧастьКода + "%");
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Если РезультатЗапроса.Пустой() Тогда
        Сообщить("Никаких следов этого Data Matrix в базе 1С не найдено!");
        Возврат;
    КонецЕсли;
    
    Выборка = РезультатЗапроса.Выбрать();
    Сообщить("--- ИСТОРИЯ ДВИЖЕНИЯ КОДА МАРКИРОВКИ ---");
    Пока Выборка.Следующий() Цикл
        Сообщить(Строка(Выборка.Дата) + " | " + Выборка.ТипОперации + " | Документ: " + Строка(Выборка.Документ));
    КонецЦикла;

КонецПроцедуры