![]() |
![]() |
|
Цифровой Штрих-код вместо артикула в Торг-12 | ☑ | ||
---|---|---|---|---|
0
NeoGelios
29.11.16
✎
03:27
|
Добрый день.
Возник такой вопрос. Как в Торг-12 вместо артикула вставить полный цифровой штрих-код товара? Платформа 8.3.7, Конфигурация УТ 10.3.35 Сразу скажу, что я совсем начинающий, как в 1С, так и в программировании вообще (поэтому прошу сильно не пинать =) |
|||
1
NeoGelios
29.11.16
✎
03:29
|
Перекопал пол интернета, но толком нигде не объяснили, как это можно сделать. Нашёл тему столетней давности, где автор задал примерно такой же вопрос, но следующим сообщением написал, что сам разобрался, но так и не выложил свой результат. Печально(
|
|||
2
NeoGelios
29.11.16
✎
03:31
|
Из разных тем понял, что штрих-коды хранятся в РегистрСведений.ШтрихКоды, но как их оттуда вытащить в печатную форму Торг-12, понять не могу.
С запросами пока не подружился, так что для меня пока это сложно (=_=) |
|||
3
NeoGelios
29.11.16
✎
03:40
|
В одной из статей нашёл вариант:
***** Функция ПолучитьТаблицуШтрихКодов(Номенклатура,ЕдиницаИзмерения) Экспорт ЗапросШтрихкоды = Новый Запрос; ЗапросШтрихкоды.УстановитьПараметр("Владелец", Номенклатура); ЗапросШтрихкоды.УстановитьПараметр("ЕдиницаИзмерения", ЕдиницаИзмерения); ЗапросШтрихкоды.УстановитьПараметр("ЭтоГруппа", Истина); Текст = "ВЫБРАТЬ | Штрихкоды.ТипШтрихкода, | Штрихкоды.Штрихкод, | Штрихкоды.Владелец КАК Номенклатура, | Штрихкоды.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Штрихкоды.Качество |ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды |ГДЕ | Штрихкоды.Владелец.ЭтоГруппа <> &ЭтоГруппа | И Штрихкоды.Владелец = &Владелец"; Если ЗначениеЗаполнено(ЕдиницаИзмерения) Тогда Текст = Текст+" И | Штрихкоды.ЕдиницаИзмерения = ЕдиницаИзмерения&"; КонецЕсли; Текст = Текст+" |УПОРЯДОЧИТЬ ПО | Владелец |АВТОУПОРЯДОЧИВАНИЕ"; ЗапросШтрихкоды.Текст = Текст; ЗапросВыполнить = ЗапросШтрихкоды.Выполнить(); Товары = ?(НЕ ЗапросВыполнить.Пустой(),ЗапросВыполнить.Выгрузить(),Неопределено); Возврат Товары; КонецФункции ***** Ему ответили: ***** Использовать функцию для получения штрихкода нерационально, т.к. будет выполняться запрос для каждой номенклатуры. Лучше в самом запросе использовать ЛЕВОЕ СОЕДИНЕНИЕ с РегистрСведений.ШтрихКоды, например, в процедуре печати ТОРГ-12 в основном запросе вместо | ВложенныйЗапрос.Номенклатура." + ТоварКод + " КАК ТоварКод, поставить | ЕСТЬNULL(ШтрихКоды.Штрихкод, """") КАК ТоварКод, а после | ) КАК ВложенныйЗапрос добавить |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ШтрихКоды КАК ШтрихКоды |ПО | ШтрихКоды.Владелец = ВложенныйЗапрос.Номенклатура | И ШтрихКоды.ХарактеристикаНоменклатуры = ВложенныйЗапрос.Характеристика | И ШтрихКоды.ЕдиницаИзмерения = ВложенныйЗапрос.ЕдиницаИзмерения ***** Но при попытке сделать эти изменения, УТ выдаёт ошибку: {Документ.РеализацияТоваровУслуг.МодульОбъекта(1047)}: Ошибка при вызове метода контекста (Выполнить) ЗапросТовары = Запрос.Выполнить().Выгрузить(); по причине: {(4, 2)}: Повторяющийся псевдоним "ТоварКод" <<?>>ВложенныйЗапрос.Номенклатура.Код КАК ТоварКод, ===== Не смотря на то, что автор той статьи ответил: > Вьюн, спасибо Вам большое! Все работает! Восхищает простота решения! У меня, тем не менее, пошло что-то не так. Полагаю, что автор не рассказал каких-то деталей. |
|||
4
NeoGelios
29.11.16
✎
03:57
|
Может быть есть какой-то альтернативный вариант, типа, заменить параметр в печатной форме
ТоварКод = "Артикул" на что-то типа РегистрСведений.ШтрихКоды = ШтрихКод; ТоварКод = "ШтрихКод"; Правда, чую носом, душа моя наивна =) |
|||
5
Альбатрос
29.11.16
✎
07:46
|
(4) А если ШК для одной позиции больше, чем 1?
|
|||
6
Chameleon1980
29.11.16
✎
08:25
|
вариант из (3) с
Функция ПолучитьТаблицуШтрихКодов вполне подойдет, но за такое (использование запроса в цикле, а там именно такое и получится) бьют по рукам. правильное решение, конечно, дорисовать существующий запрос. но, повторю, для решения типа "Сильно не вникая" вариант "..Функция ПолучитьТаблицуШтрихКодов..." подойдет. там скорость не критична так-то для печати. все это ИМХО |
|||
7
NeoGelios
30.11.16
✎
10:44
|
(6) В общем домучал я всё-таки второй вариант где
| ЕСТЬNULL(ШтрихКоды.Штрихкод, """") КАК ТоварКод, Видимо в прошлый раз что-то не так изменил. Действительно в основном запросе в процедуре печати ТОРГ-12 вместо | ВложенныйЗапрос.Номенклатура." + ТоварКод + " КАК ТоварКод, поставить | ЕСТЬNULL(ШтрихКоды.Штрихкод, """") КАК ТоварКод, а после | ) КАК ВложенныйЗапрос добавить |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ШтрихКоды КАК ШтрихКоды |ПО | ШтрихКоды.Владелец = ВложенныйЗапрос.Номенклатура | И ШтрихКоды.ХарактеристикаНоменклатуры = ВложенныйЗапрос.Характеристика | И ШтрихКоды.ЕдиницаИзмерения = ВложенныйЗапрос.ЕдиницаИзмерения ***** Теперь в Торг-12 отображается вместо артикулов штрих-код. Всем спасибо))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |