Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как добавить колонку "Штрих код" в справочник Номенклатура?          
KriAn Подменю пользователя
сообщение 18.01.18, 0:22
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 133
Спасибо сказали: 2 раз
Рейтинг: 0

1С:Підприємство 8.3 (8.3.10.2699)

Управление торговлей для Украины, редакция 3.0
Разработка конфигурации: "ABBYY Ukraine", 2005-2014 (3.0.8.1) (http://v8.1c.ru/regional/RegionalSolutions_UA_UT.htm)
Copyright © ООО "1C", 2005-2014. Все права защищены
(http://www.1c.ru)

Доброго времени суток, решил для удобства (чтобы удобно видеть товары без штрих кода) добавить в справочник Номенклатура колонку Штрих код. Изменил запрос:

ВЫБРАТЬ 
    СпрНоменклатура.Ссылка КАК Ссылка,
    СпрНоменклатура.Код КАК Код,
    СпрНоменклатура.Наименование КАК Наименование,
    СпрНоменклатура.Артикул КАК Артикул,
    СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
    ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток,
    ШтрихкодыНоменклатуры.Штрихкод
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
            ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
            ПО ШтрихкодыНоменклатуры.Номенклатура = СпрНоменклатура.Ссылка
        ПО ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка
ГДЕ
    НЕ СпрНоменклатура.ЭтоГруппа
{ГДЕ
    (СпрНоменклатура.Ссылка В
            (ВЫБРАТЬ
                Сегменты.Номенклатура
            ИЗ
                РегистрСведений.НоменклатураСегмента КАК Сегменты
            ГДЕ
                Сегменты.Сегмент = &СегментНоменклатуры))}



Работает только если товар имеет один штрих код, если больше - конечно выдает ошибку.

Как можно выйти из ситуации, чтобы показывало первый штрих код или последний или просто писало слово "Есть"???

 ! 

Правила: 9
 


 i 

Без надобности не надо раскрашивать текст цветами
 


Сообщение отредактировал Vofka - 18.01.18, 9:10

Vofka Подменю пользователя
сообщение 18.01.18, 9:12
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Как-то так:

ВЫБРАТЬ 
    СпрНоменклатура.Ссылка КАК Ссылка,
    СпрНоменклатура.Код КАК Код,
    СпрНоменклатура.Наименование КАК Наименование,
    СпрНоменклатура.Артикул КАК Артикул,
    СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
    МИНИМУМ(ТоварыНаСкладахОстатки.ВНаличииОстаток) КАК Остаток,
    МИНИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
            ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
            ПО ШтрихкодыНоменклатуры.Номенклатура = СпрНоменклатура.Ссылка
        ПО ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка
ГДЕ
    НЕ СпрНоменклатура.ЭтоГруппа
СГРУППИРОВАТЬ ПО
    СпрНоменклатура.Ссылка,
    СпрНоменклатура.Код,
    СпрНоменклатура.Наименование,
    СпрНоменклатура.Артикул,
    СпрНоменклатура.ВидНоменклатуры,
    СпрНоменклатура.ЕдиницаИзмерения,
    СпрНоменклатура.СтавкаНДС
{ГДЕ
    (СпрНоменклатура.Ссылка В
            (ВЫБРАТЬ
                Сегменты.Номенклатура
            ИЗ
                РегистрСведений.НоменклатураСегмента КАК Сегменты
            ГДЕ
                Сегменты.Сегмент = &СегментНоменклатуры))}


На работоспособность не проверял.

Спасибо сказали: KriAn,

KriAn Подменю пользователя
сообщение 18.01.18, 15:16
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 133
Спасибо сказали: 2 раз
Рейтинг: 0

Спасибо, работает, только отключилась сортировка по столбцам.... Это можно как-то исправить???

Batchir Подменю пользователя
сообщение 18.01.18, 15:55
Сообщение #4

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Цитата(KriAn @ 18.01.18, 15:16) *
Спасибо, работает, только отключилась сортировка по столбцам.... Это можно как-то исправить???

Это нормальное поведение для динамического списка. Не работают сортировки когда используется СГРУППИРОВАТЬ ПО.
Попробуйте вынести во вложенный запрос и уже выбирать без СГРУППИРОВАТЬ ПО

Сообщение отредактировал Batchir - 18.01.18, 16:00

KriAn Подменю пользователя
сообщение 19.01.18, 0:41
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 133
Спасибо сказали: 2 раз
Рейтинг: 0


 ! 

Правила: 9
 


Цитата(Batchir @ 18.01.18, 16:55) *
Попробуйте вынести во вложенный запрос и уже выбирать без СГРУППИРОВАТЬ ПО


Вот что получилось:

ВЫБРАТЬ
    Ссылка КАК Ссылка,
    Код КАК Код,
    Наименование КАК Наименование,
    Артикул КАК Артикул,
    ВидНоменклатуры КАК ВидНоменклатуры,
    ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СтавкаНДС КАК СтавкаНДС,
    Остаток КАК Остаток,
    Штрихкод КАК Штрихкод

ИЗ

(ВЫБРАТЬ
    СпрНоменклатура.Ссылка КАК Ссылка,
    СпрНоменклатура.Код КАК Код,
    СпрНоменклатура.Наименование КАК Наименование,
    СпрНоменклатура.Артикул КАК Артикул,
    СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    СпрНоменклатура.СтавкаНДС КАК СтавкаНДС,
    МИНИМУМ(ТоварыНаСкладахОстатки.ВНаличииОстаток) КАК Остаток,
    МИНИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
        ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
            ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
            ПО ШтрихкодыНоменклатуры.Номенклатура = СпрНоменклатура.Ссылка
        ПО ТоварыНаСкладахОстатки.Номенклатура = СпрНоменклатура.Ссылка
ГДЕ
    НЕ СпрНоменклатура.ЭтоГруппа
СГРУППИРОВАТЬ ПО
    СпрНоменклатура.Ссылка,
    СпрНоменклатура.Код,
    СпрНоменклатура.Наименование,
    СпрНоменклатура.Артикул,
    СпрНоменклатура.ВидНоменклатуры,
    СпрНоменклатура.ЕдиницаИзмерения,
    СпрНоменклатура.СтавкаНДС


{ГДЕ
    (СпрНоменклатура.Ссылка В
            (ВЫБРАТЬ
                Сегменты.Номенклатура
            ИЗ
                РегистрСведений.НоменклатураСегмента КАК Сегменты
            ГДЕ
                Сегменты.Сегмент = &СегментНоменклатуры))}) КАК Товар


В консоли запросов работает, а вот в программе выдает ошибку:

{ОбщийМодуль.ОбщегоНазначения.Модуль(68)}: Значення не є значенням об`єктного типу (Метаданные)
Запрос = Новый Запрос(

Сообщение отредактировал logist - 19.01.18, 0:31

logist Подменю пользователя
сообщение 19.01.18, 0:50
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(KriAn @ 19.01.18, 0:41) *
а вот в программе выдает ошибку:

Приведите весь листинг кода запроса начиная со строки 68


Signature
Личные бесплатные консультации не даю, для этого есть форум!

KriAn Подменю пользователя
сообщение 19.01.18, 10:46
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 133
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(logist @ 19.01.18, 1:50) *
Приведите весь листинг кода запроса начиная со строки 68


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

    Результат = Новый Структура;
    Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл
        Результат.Вставить(КлючИЗначение.Ключ);
    КонецЦикла;
    ЗаполнитьЗначенияСвойств(Результат, Выборка);

    Возврат Результат;
КонецФункции

Vofka Подменю пользователя
сообщение 19.01.18, 10:53
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

KriAn @ Сегодня, 10:46 * ,
а как связан вопрос из 1 сообщения и из вашего предыдущего? faceoff.gif
Давайте не забывать про 6 пункт правил. Эту тему я закрою, т.к. по изначальному вопросу, по-моему, все должно быть ясно.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Тема закрыта Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 21:58
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!