Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
25 Июн 2018, 07:21
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Поиск по штрих коду  (Прочитано 10921 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Kostik2013

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-02-11
  • Сайт: 
  • Профессия: Программист 8.1
Всем доброго времени суток.Сделал я обработку поиск товара в Приходных по штрих коду.Все работает нормально. Теперь хочу добавить еще поиск по Перемещению,но что-то не выходит,показывает пустую ссылку только приходной.Подскажите или посоветуйте как правильно сделать?Может через Цикл или как еще можно?За раннее благодарен.

1С:Предприятие 8.2 (8.2.18.61) У  ЧП Украины Базовая


Процедура КнопкаВыполнитьНажатие(Кнопка)
   Штрихкод = ЭтотОбъект.ШтрихКод;
   ОчиститьСообщения();
   ЭтотОбъект.История.Очистить();
   //Проверка
   Если НЕ ЗначениеЗаполнено (Штрихкод) тогда
      Сообщить ("Не заполнено поле штрих код!");
      Возврат;
   КонецЕСли;
   // Получаем товар по штрих коду
   Номенклатура =  ПоискТовараШтрихКоду(Штрихкод);
   // Проверка
   Если Номенклатура = Неопределено тогда
      Сообщить ("По данному штрих коду "+ штрихКод + " товар не найден!");
      Возврат;
   КонецЕсли;
   // Получаем приходные накладные по товару                           
   ПриходныеТабл = ПоискПриходных (Номенклатура);
   ПеремещениеТабл  = ПоискПеремещений (Номенклатура);
   Если ПриходныеТабл.Количество() = 0 тогда
      сообщить("По данному товару "+Номенклатура+" не найдены приходные накладные!");
   иначе
      ЭтотОбъект.История.Загрузить(ПриходныеТабл.Скопировать());
   Конецесли;
Если ПеремещениеТабл.Количество() = 0 тогда
      сообщить("По данному товару "+Номенклатура+" не найдены приходные накладные!");
   иначе
      ЭтотОбъект.История.Загрузить(ПеремещениеТабл.Скопировать());   
   Конецесли;


   Сообщить ("Готово!");
КонецПроцедуры

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

&НаСервере
Функция ПоискПеремещений (Номенклатура)
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ПеремещениеТоваровТовары.Ссылка,
   |   ПеремещениеТоваровТовары.Ссылка.Дата
   |ИЗ
   |   Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
   |ГДЕ
   |   ПеремещениеТоваровТовары.Номенклатура = &Номенклатура
   |
   |СГРУППИРОВАТЬ ПО
   |   ПеремещениеТоваровТовары.Ссылка,
   |   ПеремещениеТоваровТовары.Ссылка.Дата";
   
   Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
   
   Результат = Запрос.Выполнить();
   
   Возврат Результат.Выгрузить();
   
КонецФункции






Оффлайн Kostik2013

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-02-11
  • Сайт: 
  • Профессия: Программист 8.1
никто не подскажет?:dfbsdfbsdf:

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
У нас нет возможности зайти отладчиком и посмотреть что не так, а тебе на все про все 5 мин займет.

Да и экстрасенсов тут нет.

Оффлайн evmil

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-08-28
  • Сайт: 
  • Профессия: Программист 8.1
Если еще не разобрались - таблицы в функциях поиска разные (имена колонок), а должны совпадать с таблицей История. В таблице История тип колонки "Документ" должен быть составной - включать оба типа ссылок.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

AIFrame AIFrame
125 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
116 Сообщений
alexandr_ll
65 Сообщений
pavl_vs
40 Сообщений
alex0402
28 Сообщений
buketov.av buketov.av
24 Сообщений
magnifico61
21 Сообщений
wise wise
16 Сообщений
ilyay ilyay
15 Сообщений
mixei
14 Сообщений

* Кто онлайн

  • Точка Гостей: 321
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal