Имя: Пароль:
1C
1С v8
Код весового товара
0 volokhov
 
20.08.11
05:22
На управляемой форме есть поле ввода если ввожу обычный штрих код то без проблем отрабатывает считываю плу ничего не возвращает на обычной форме все работает подскажите что нитак

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

   КонецЦикла;
   
   Если Результат = 0 Тогда

       Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ
       |    КодыВесовогоТовара.Код,
       |    КодыВесовогоТовара.Номенклатура
       |ИЗ
       |    РегистрСведений.КодыВесовогоТовара КАК КодыВесовогоТовара
       |ГДЕ
       |    КодыВесовогоТовара.Код = &Код";
       
       Запрос.УстановитьПараметр("Код",Число(Лев(Штрихкод,7))); // "%"+Текст+"%"
       
       Результат = Запрос.Выполнить();
       
       Если РезультатЗапроса.Пустой() Тогда  ДобавитьТовар = Ложь;  КонецЕсли;
   
       
       ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
       
       Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
           
           Результат = ВыборкаДетальныеЗаписи.Номенклатура;
           //ЭтаФорма.Элементы.ПрисвоитьШтрихкод.Доступность = Ложь;
       КонецЦикла;
   КонецЕсли;
1 AlexNew
 
20.08.11
08:10
Прочитать, как весовой код формируется.
2 AlexNew
 
20.08.11
08:13
Кстати и настройку весов посмотреть.
3 AlexNew
 
20.08.11
08:15
Можно еше про EAN-13 прочитать и префиксы 20-25
4 ДенисЧ
 
20.08.11
08:21
(3) извини, что сделать? "прочитать" ? Это как?
5 Rie
 
20.08.11
08:24
(0) А при чём тут обычная форма и управляемая форма?
Приведенный код (если не смотреть закомментированные строки) -  несколько перпендикулярен как обычным, так и управляемым формам. Так что чего-то ты тут не договариваешь...

Где этот код у тебя находится?
6 AlexNew
 
20.08.11
08:25
(4) Возьми книжку от весов. А лишнее "т" - бывает.
7 AlexNew
 
20.08.11
08:27
и "т" лишнего нет.
8 Rie
 
20.08.11
08:29
(3) Судя по "Лев(Штрихкод,7)" - книжки ТС читал. Конфигурация у него, возможно, не типовая.
9 AlexNew
 
20.08.11
08:31
(8) Может он еще и про настройки весов читал?
10 AlexNew
 
20.08.11
08:31
(8) При чем тут конфигурация?
11 ДенисЧ
 
20.08.11
08:33
(6) Похмелина налить? :-)
12 Rie
 
20.08.11
08:34
(9) Телетяпией не страдаю - поэтому не знаю, что именно он читал, а что - нет.
Но проблема у него, видимо, - не в формировании кода и не в весах, и вообще не в коде из (0), поскольку коду из (0) - глубоко по барабану и весы, и их настройки, и формы. Идёт поиск некоторой строки, обозванной Штрихкод - и ничего более.
13 AlexNew
 
20.08.11
08:36
(11) Спасибо, есть.
14 ДенисЧ
 
20.08.11
08:40
(13) а почему не употрбляешь? :-)
15 AlexNew
 
20.08.11
08:43
(12) Весы тоже программируются, как печатать.
16 Rie
 
20.08.11
08:46
(15) Возможно, конечно, что он перепрограммировал весы при переходе на УФ. Но - маловероятно.
17 AlexNew
 
20.08.11
08:50
(16) Кто тебе сказал, что раньше работало?
18 AlexNew
 
20.08.11
08:52
(16) где я не знаю, я - молчу.
19 Rie
 
20.08.11
08:52
(17) "на обычной форме все работает" (с) volokhov (из (0))
20 AlexNew
 
20.08.11
08:54
(19) Ты еще пользователем начни верить.
21 AlexNew
 
20.08.11
08:55
(20) пользователем читать как пользователям.
22 volokhov
 
20.08.11
09:54
Да вопрос наверное не полный весы там совершенно не причем в поле ввода вдится с клавиатуры или сканером вид кода вот такоой 2100245 Тип строка То что ввелось

Запись в регистре сведений
2 100 245 Куры бройлерные 1кат
23 Rie
 
20.08.11
11:47
(22) И зачем же ты поле числовым делаешь? Работай со строками - и будет тебе счастье.
24 volokhov
 
20.08.11
15:42
коды весового товара Код - число не строка но попробовал как посаветовали та же история
25 Rie
 
20.08.11
15:52
(24) Какая именно история?
До сих пор непонятно - в чём именно проблема? Что именно попробовал, как "посаветовали"? Неизвестно даже, что за конфигурация (типовая? самописная?), как (и в каком виде) хранятся коды.
26 volokhov
 
20.08.11
17:27
Не возвращает искомый товар пример кода товара и то что ввожу привел выше посоветовали работать состроками не помогло .
27 Rie
 
20.08.11
17:29
(26) Какая конфигурация? Если самописная или доработанная типовая - какие измерения и ресурсы у РС КодыВесовогоТовара (интересуют не только имена, но и типы)?
28 volokhov
 
20.08.11
17:35
Типовая "комплексная" платформа 82 форма для облегчения ввода поступлений управляемая рабочий стол для оператора. Все типовое и регистр коды весового товара
Измерение  Код число длинна 10 точность 0
Ресурсы
номенклатура ссылка номенклатура
Характеристика
качество
серия все ссылочные данные
29 Rie
 
20.08.11
17:43
(28) Тогда не Лев(ШтрихКод,7).
30 Rie
 
20.08.11
17:57
+(29) У тебя первые два символа - префикс. Их не надо включать в код. Ну и длину кода весового товара - лучше из константы взять.
31 volokhov
 
21.08.11
06:41
Уже создал номенклатуру с плу кодом 2 в регистре сведений коды весового товара есть измерение Код без запроса обращаюсь и опять грабли подскажите идеи:(
   Если Результат = Неопределено Тогда
       Штрихкод = Число(Лев(ЭтаФорма.Штрихкод,7));
       Сообщить(Штрихкод);
       СписокПЛУ = РегистрыСведений.КодыВесовогоТовара;
       Отбор  = Новый Структура("Код");
       Отбор.Вставить("Код", 2 );
       ВыборкаПЛУ = СписокПЛУ.Выбрать(Отбор);
       
       Пока ВыборкаПЛУ.Следующий() Цикл
           Сообщить(Результат);
           Результат = ВыборкаПЛУ.Номенклатура;
       КонецЦикла;        
       
   КонецЕсли;
Ошибка!    
ВыборкаПЛУ = СписокПЛУ.Выбрать(Отбор);
Недопустимое значение параметра (параметр номер '1')
32 ДенисЧ
 
21.08.11
06:51
РегистрСведенийМенеджер.<Имя регистра сведений>.Выбрать (InformationRegisterManager.<Имя регистра сведений>.Select)
РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
Выбрать (Select)
Вариант синтаксиса: Для периодического регистра

Синтаксис:

Выбрать(<НачалоИнтервала>, <КонецИнтервала>, <Отбор>, <Порядок>)
Параметры:

<НачалоИнтервала> (необязательный)

Тип: Дата; МоментВремени; Граница. Начало интервала, за который будут выдаваться записи периодического регистра сведений. Если не указан, то будут выдаваться записи с самого ранней включительно. Может задаваться значениями типа Дата, МоментВремени или Граница.
<КонецИнтервала> (необязательный)

Тип: Дата; МоментВремени; Граница. Конец интервала, за который будут выдаваться записи периодического регистра сведений. Если не указан, то будут выдаваться записи до самой поздней включительно. Может задаваться значениями типа Дата, МоментВремени или Граница.
<Отбор> (необязательный)

Тип: Структура. Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или установлен признак "Ведущее". Вид сравнения может быть только Равно.
Важно! Структура может содержать только один элемент.
Если параметр не указан, то отбор не используется.
<Порядок> (необязательный)

Тип: Строка. Может содержать слово "Возр" или "Убыв", тогда стандартный порядок будет использоваться с указанным направлением.
Может содержать имя поля (реквизита или измерения, для которых указано индексирование) и слово "Возр" или "Убыв", тогда упорядочивание будет производится по указанному полю в указанном порядке.
Значение по умолчанию: "Возр"
Вариант синтаксиса: Для непериодического регистра

Синтаксис:

Выбрать(<Отбор>, <Порядок>)
Параметры:

<Отбор> (необязательный)

Тип: Структура. Задает поле и значение отбора открываемой выборки. Ключ структуры описывает имя поля, а значение структуры - значение отбора по этому полю. В качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или установлен признак "Ведущее".
Важно! Структура может содержать только один элемент.
Если параметр не указан, то отбор не используется.
<Порядок> (необязательный)

Тип: Строка. Может содержать слово "Возр" или "Убыв", тогда стандартный порядок будет использоваться с указанным направлением.
Может содержать имя поля (реквизита или измерения для которых указано индексирование) и через пробел слово "Возр" или "Убыв", тогда упорядочивание будет производится по указанному полю в указанном порядке.
В качестве значения параметра может быть задана строка "<Нет>" ("<No>"). Это будет означать, что система выберет наиболее оптимальный порядок обхода такой выборки, который в общем случае не будет соответствовать порядку обхода по умолчанию.
Значение по умолчанию: "Возр"
Возвращаемое значение:

Тип: РегистрСведенийВыборка.
Описание:

Формирует выборку записей регистра сведений.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Пример:

Курсы = РегистрыСведений.КурсыВалют;
ОтборВалют = Новый Структура("Валюта");
ОтборВалют.Валюта = ВыбВалюта;
ВыборкаКурсовВалют = Курсы.Выбрать(,,ОтборВалют);
Пока ВыборкаКурсовВалют.Следующий() Цикл
   Сообщить("Дата " + ВыборкаКурсовВалют.Период +
   " Валюта "+СокрЛП(ВыборкаКурсовВалют.Валюта) +
   ", Курс "+  ВыборкаКурсовВалют.Курс );
КонецЦикла;
33 ДенисЧ
 
21.08.11
06:51
когда же вы научитесь читать...
34 Rie
 
21.08.11
06:53
(33) Фи! Читать! Это же так архаично!
35 Rie
 
21.08.11
06:57
(31) Если у тебя типовая КА, то нельзя использовать Выбрать для регистра сведений КодыВесовогоТовара. Подробнее - сравни свойства измерения Код с тем, что написано в (32).

Используй запрос.

Ну и насчёт Лев(ЭтаФорма.Штрихкод,7) - в (29) уже как бы намекалось, что коды весового товара в КА (да и не только в КА) несколько иначе устроены.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс