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

Хранилище

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

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

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

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

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

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

Как-то так:

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


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


Signature
Услуги 1С программиста

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

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

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

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

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

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

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

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

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


Signature

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

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


 ! 

Правила: 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 году)
Группа: Команда
Сообщений: 9334
Из: Харьков
Спасибо сказали: 2453 раз
Рейтинг: 1523.4

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

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


Signature
Весь комплекс услуг по 1С 8.х. От консультаций до внедрения. ИТС. 1С-Звіт. Интеграция IP-телефонии. Написание конфигураций под требования заказчика, доработка типовых решений. Переход с 7.7 на 8.х.
Пишите в ЛС. Звоните +380 (44) 2227507, (57) 7547700, (98) 5147778, (50) 7147778, (93) 2147778 (участник "САБ")

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

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

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


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

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

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

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

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

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


Signature
Услуги 1С программиста

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


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

 

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

Курсы валют: доллар США к гривне Курсы валют: евро к гривне Курсы валют: российский рубль к гривне