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

Автор Тема: Добавление функции "Поиск по штрих-коду ISBN"  (Прочитано 4706 раз)

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

Оффлайн DinaMuS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-06
  • Сайт: 
  • Профессия: Ученик 1С
Платформа 7.7 (7.70.025)
Конфигурация  Библиотека Колледжа (7.70.203)

Изначально в программе заложен "Простой поиск" и "Поиск инвентарному номеру". Вопрос в том - как можно добавить еще поиск по штрих-коду ISBN?

Вот что я попробовал:

Вырезка из глоб модуля:

Функция НайтиПоШтрихКодуИСБН(Номер) Экспорт
   Перем Кн;
   СпрИН=СоздатьОбъект("Справочник.Книги");

   Если СпрИН.НайтиПоКоду(Номер,0)=1 Тогда
      Предупреждение("Найден");
      Кн=СпрИН.Владелец;    
   Иначе 
      Кн=ПолучитьПустоеЗначение("Справочник.Книги");
      Предупреждение("Не найден");
   КонецЕсли;
   Возврат(Кн);    
КонецФункции //НайтиПоШтрихКодуИСБН(Номер) Экспорт


Вырезка из кнопки:

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



p.s. В коде 1С работаю примерно 2 недели.


Оффлайн DinaMuS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-06
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо, но ответ смогу сказать только во вторник утром-днем.

ISBN или Штрих-код ISBN??? Вообще, раньше эти величины были взаимосвязаны, но я сделал так, чтобы штрих-код ISBN генерировался случайно, а не зависимо от ISBN - требование руководителя, т.к. каждой книге нужен был независимый штрих-код, а ISBN у каждой записи в справочнике "Книги" был одинаковый.

p.s. Надеюсь, я Вас не сильно запутал =)

Оффлайн DinaMuS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-06
  • Сайт: 
  • Профессия: Ученик 1С
Выдает ошибку, что недостаточное количество параметров для функции "НайтиПоРеквизиту". Пробовал написать вот так - "Найти по Реквизиту(Номер,0)", но все равно одно и то же.

Оффлайн DinaMuS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-06
  • Сайт: 
  • Профессия: Ученик 1С
Исправил. Все работает!

Сделал в этой функции так - "Найти по Реквизиту("ШтрихКодИСБН",Номер,0)"

Большое спасибо!!!

p.s. Под вашим ником спасибо тоже сказал =)

Оффлайн DinaMuS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-06
  • Сайт: 
  • Профессия: Ученик 1С
Чтобы не плодить темы, задам следующий вопрос тут.

Функция "Поиск по щтрих-коду ISBN" создавалась для уже созданного поля в форме, сейчас я хочу просто брать данные передаваемые в переменной (которая не является полем) модуля, уже созданной процедуры.

Вырезка из процедуры:

<b>
ИначеЕсли Действие = "Этикетки" Тогда
      Если Проведен()=1 Тогда
      Инв=СоздатьОбъект("Справочник.ИнвентарныеНомера");
      Парт=СоздатьОбъект("Справочник.Партии");
      
      Таб=СоздатьОбъект("ТаблицаЗначений");
      Таб.НоваяКолонка("Товар");
      Таб.НоваяКолонка("ШтрихКод");
      Пар=СоздатьОбъект("СписокЗначений");
      ВыбратьСтроки();
      Пока ПолучитьСтроку()=1 Цикл
         Издание=Поступление;
         // Не многотомник
         СтрОписания=глСтрокаДляЭтикетки(Издание);
         
         Инв.ИспользоватьВладельца(Издание);
         Инв.ВыбратьЭлементы();
         Пока Инв.ПолучитьЭлемент()=1 Цикл
              //  Сообщить(Инв.Код);
            Если Инв.ДокументПоступленияВФонд.Получить(ДатаДок)=ТекущийДокумент() Тогда
               ШтрихКод=глСформироватьБарКодИнв(Инв.Код);
               Таб.НоваяСтрока();
               Таб.Товар=СтрОписания;
               Таб.ШтрихКод=ШтрихКод;
</b>

Функция из глобального модуля:

<b>
Функция НайтиПоШтрихКоду(Номер) Экспорт
   Перем Кн;
   СпрИН=СоздатьОбъект("Документ.ПоступлениеКниг");

    Если СпрИН.НайтиПоРеквизиту("Штрихкод",Номер,0)=1 Тогда
      Предупреждение("Найден");    
      Кн=СпрИН.ТекущийЭлемент();    
   Иначе 
      Кн=ПолучитьПустоеЗначение("Справочник.Книги");
      Предупреждение("Не найден");
   КонецЕсли;
   Возврат(Кн);    
КонецФункции //НайтиПоШтрихКоду(Номер) Экспорт
</b>

Проблема в том, что эта функция никак не может увидеть эту переменную (ШтрихКод), как сделать так, чтобы она ее увидела?

Оффлайн DinaMuS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-06
  • Сайт: 
  • Профессия: Ученик 1С
До этого работало нормально и так =)

В любом случае, дело не в этом, когда я при такой конфигурации пытаюсь сделать поиск, то выдается ошибка - "Поле агрегатного обьекта не обнаружено (НайтиПоРеквитизиту)"

Оффлайн DinaMuS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-06
  • Сайт: 
  • Профессия: Ученик 1С
Забыл сказать, что пробовал, правда это тупость совсем, но пробовал создать поле в этом же документе и давал ему идентификатор "ШтрихКод", но поле всегда оставалось пустое, значит проблема в самом присвоении значения этой переменной.


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
170 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal