8.х Регистр сведений на форме справочника

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Светлана5291, 28 май 2014.

  1. TopicStarter Overlay
    Светлана5291
    Offline

    Светлана5291 Опытный в 1С

    Регистрация:
    6 фев 2013
    Сообщения:
    156
    Симпатии:
    0
    Баллы:
    26
    Добрый день! В справочнике Номенклатура формируются штрихкоды на каждый элемент номенклатуры. На форме элемента справочника находятся данные с регистра сведений со штрихкодами. Хотелось бы на форму списка вытащить эту колонку со штрихкодами. Как это возможно?


    рс и справ.jpg
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Используйте динамический список. Потребуется изменить запрос таким образом, чтобы выбирался штрихкод.
  3. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    вы можете просто добавить колонку на форму списка и использовать событие "ПриПолученииДанных", в котором выполнять запрос к регистру и заполнять колонку штрих-кодом.
  4. TopicStarter Overlay
    Светлана5291
    Offline

    Светлана5291 Опытный в 1С

    Регистрация:
    6 фев 2013
    Сообщения:
    156
    Симпатии:
    0
    Баллы:
    26
    нашла пример... ну чет ругается на запрос. Видимо как не так в условии. а как правильно прописать. Поле Владелец в РС имеет составной тип (справочник.ссылка и документ.ссылка)
    Код:
    Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
    Запрос = Новый Запрос
    ( "ВЫБРАТЬ   
        |Штрихкоды.Штрихкод
        |ИЗ
        |РегистрСведений.Штрихкоды КАК Штрихкоды
        |ГДЕ
        |Объект В (&МассивНоменклатуры)КАК Владелец");
       
        МассивНоменклатуры = Новый Массив;
        Соответствие = Новый Соответствие;
       
        Для каждого Строка Из ОформленияСтрок Цикл
       
            МассивНоменклатуры.Добавить(Строка.ДанныеСтроки.Ссылка);
            Соответствие.Вставить(Строка.ДанныеСтроки.Ссылка, Строка);
       
        КонецЦикла;
       
        Запрос.УстановитьПараметр("МассивНоменклатуры", МассивНоменклатуры);
        Выборка = Запрос.Выполнить().Выбрать();
       
        Пока Выборка.Следующий() Цикл
       
            Соответствие.Получить().Ячейки.ШК.УствновитьТекст(Выборка.Штрихкод);
       
        КонецЦикла;
    КонецПроцедуры
    
  5. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Вы по коду смотрели что там вообще происходит :) ?
  6. TopicStarter Overlay
    Светлана5291
    Offline

    Светлана5291 Опытный в 1С

    Регистрация:
    6 фев 2013
    Сообщения:
    156
    Симпатии:
    0
    Баллы:
    26
    Да, вот именно ругается на передачу параметра в запросе.
    Код:
    {Справочник.КарточкиНоменклатуры.Форма.ФормаСписка.Форма(222)}: Ошибка при вызове метода контекста (Выполнить)
        Выборка = Запрос.Выполнить().Выбрать();
    по причине:
    
    по причине:
    {(6, 34)}: Синтаксическая ошибка "КАК"
    Владелец В (&МассивНоменклатуры) <<?>>КАК Владелец
    
  7. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    ну уберите "как владелец" в запросе. Зачем он там?
  8. TopicStarter Overlay
    Светлана5291
    Offline

    Светлана5291 Опытный в 1С

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

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    И что ???? Какая проблема с выводом ??????
  10. TopicStarter Overlay
    Светлана5291
    Offline

    Светлана5291 Опытный в 1С

    Регистрация:
    6 фев 2013
    Сообщения:
    156
    Симпатии:
    0
    Баллы:
    26
    Видимо не правильно, потому что на форме ничего нет....
  11. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Вывод показывайте.
  12. TopicStarter Overlay
    Светлана5291
    Offline

    Светлана5291 Опытный в 1С

    Регистрация:
    6 фев 2013
    Сообщения:
    156
    Симпатии:
    0
    Баллы:
    26
    Вот тут уже вариации пробовала разные...
    Код:
    Пока Выборка.Следующий() Цикл
        //
        //    //Соответствие.Получить(Выборка.Штрихкод);
        //    ЭлементыФормы.СправочникСписок.Колонки.ШК = Соответствие.Получить(Выборка.Штрихкод);
        //    //.УстановитьТекст(Выборка.Штрихкод);
        ШК = Соответствие.Получить(Выборка.Штрихкод);
    
            //ШК =  Соответствие.Получить(Выборка.Штрихкод);
        //     ШК.УстановитьТекст(Выборка.Штрихкод);
    
    
    КонецЦикла; 
  13. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Светлана, это не вывод, это обработка выборки!
  14. TopicStarter Overlay
    Светлана5291
    Offline

    Светлана5291 Опытный в 1С

    Регистрация:
    6 фев 2013
    Сообщения:
    156
    Симпатии:
    0
    Баллы:
    26
    ну тогда как вывести в колонку на форме эти данные??
  15. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.975
    Симпатии:
    397
    Баллы:
    104
    Чет я добрый сегодня. По аналогии сможете сделать?

    Вложения:

  16. TopicStarter Overlay
    Светлана5291
    Offline

    Светлана5291 Опытный в 1С

    Регистрация:
    6 фев 2013
    Сообщения:
    156
    Симпатии:
    0
    Баллы:
    26
    ну мне же надо конкретный штрихкод в зависимости от наименования вставить в колонку ШК
  17. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.975
    Симпатии:
    397
    Баллы:
    104
    Блин, ну поставьте нужно условие...Скажите в чем трудности?
  18. TopicStarter Overlay
    Светлана5291
    Offline

    Светлана5291 Опытный в 1С

    Регистрация:
    6 фев 2013
    Сообщения:
    156
    Симпатии:
    0
    Баллы:
    26
    12.jpg не пойму как то зацикливается... выводит один штрихкод несколько раз..
    Код:
    Процедура СправочникСписокПриПолученииДанных(Элемент, ОформленияСтрок)
        //ШК = ЭтаФорма.ЭлементыФормы.СправочникСписок.Колонки.ШК;
      
    Запрос = Новый Запрос
    ( "ВЫБРАТЬ  
        |Штрихкоды.Штрихкод
        |ИЗ
        |РегистрСведений.Штрихкоды КАК Штрихкоды
        |ГДЕ
        |Владелец В (&МассивНоменклатуры)");
      
        МассивНоменклатуры = Новый Массив;
        //Соответствие = Новый Соответствие;
          Для каждого Строка Из ОформленияСтрок Цикл
    
          
            МассивНоменклатуры.Добавить(Строка.ДанныеСтроки.Ссылка);
              
         КонецЦикла;  
        Запрос.УстановитьПараметр("МассивНоменклатуры", МассивНоменклатуры);
        Выборка = Запрос.Выполнить().Выбрать();
      
        Пока Выборка.Следующий() Цикл
    
              Для каждого Элемент из ОформленияСтрок Цикл
                Ш = Элемент.Ячейки.ШК;
                Ш.ОтображатьТекст = Истина;
                Ш.Текст = Выборка.Штрихкод
             КонецЦикла
                  
        КонецЦикла;
    
    
    КонецПроцедуры
    
  19. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.975
    Симпатии:
    397
    Баллы:
    104
    И что? И какие данные там хранятся? Давайте сначала. Что вам вообще нужно сделать?
  20. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Светлана, причем тут оформление строки и табличная часть ???????????????????????

Поделиться этой страницей