Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Где описывается код "меню действия", вывести список (обычный клиент)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
george_smith
Здравствуйте!
1С:Предприятие 8.3 (8.3.10.2299) "Управление торговым предприятием для Украины", редакция 1.2. (1.2.53.1)
Хотел бы получить помощь, что бы узнать где в данной конфигурации (обычный клиент) описывается код "меню действия", вывести список?
Vofka
В списках? Если да, то нигде, это системная кнопка. А что вы хотели бы там поменять?
george_smith
Vofka @ Сегодня, 12:51 необходимо зарегистрироваться для просмотра ссылки ,
У нас в конфе на форму элемента "Номенклатура" вынесен регистр сведений ШрихКоды и установлен отбор по текущему элементу. То есть видно "штрихкод" для каждого элемента номенклатуры в справочнике. Но так как это только отображение регистра, в форму списка нельзя добавить колонку ШтрихКод, как хотят бухи, что было удобно смотреть, стандартными средствами. Подскажите способ как схитрить или вообще не стоит это решать. Для каждого элемента номенклатуры только один штрихкод. Спасибо!
Vofka
george_smith, вы хотите в форму списка Номенклатуры добавить колонку Штрихкод?
pablo
Без изменения конфигурации - никак
george_smith
pablo @ Сегодня, 13:31 необходимо зарегистрироваться для просмотра ссылки ,
Конфигурация изменена, проблем нет. Хотелось бы услышать совет, каким способом это правильно сделать. ;-)

Vofka @ Сегодня, 13:15 необходимо зарегистрироваться для просмотра ссылки ,
Да, как раз это хочу.
Vofka
george_smith, необходимо зарегистрироваться для просмотра ссылки аналогичный вопрос. Только источник данных у вас будет регистр Штрихкодов.
george_smith
Vofka @ Вчера, 14:03 необходимо зарегистрироваться для просмотра ссылки ,

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

                
    КонецЦикла;
    
        
    
КонецПроцедуры


Не работат! :-)
sava1
Цитата(george_smith @ 25.10.19, 16:07) необходимо зарегистрироваться для просмотра ссылки
Выборка = РЗ.Выбрать(); Пока Выборка.Следующий() Цикл Для Каждого Эл Из Соо Цикл Если Выборка.НоменклатураРегистраШтрихКод = Эл.Ключ Тогда Эл.Значение = Выборка.Штрихкод; КонецЕсли; КонецЦикла; КонецЦикла;


здеся не так.

Выборка делается по оформлению

Для каждого ос из ОформленияСтроки Цикл


для рз надо добавить индекс - иначе будет тормозиииить....

потом ищем для конкретного значения из ос значение штрихкода в Выборке.

если нашли -
ос.Ячейки.Штрихкод.Текст (или значение) = найденнаяСтрокаВыборки.Штрихкод



ну и конецЦикла
george_smith
Спасибо Всем, кто помагал!
Методом проб и ошибок создадал вот такой рабочий код.
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    Масс = Новый Массив;
    Для Сч=0 По ОформленияСтрок.Количество() -1  Цикл
        Если  НЕ ОформленияСтрок[Сч].ДанныеСтроки.ЭтоГруппа  Тогда
            Масс.Добавить(ОформленияСтрок[Сч].ДанныеСтроки.Ссылка);            
        КонецЕсли;
    КонецЦикла;
        
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    Штрихкоды.Владелец.Ссылка КАК НоменклатураРегистраШтрихКод,
    |    Штрихкоды.Штрихкод КАК Штрихкод
    |ИЗ
    |    РегистрСведений.Штрихкоды КАК Штрихкоды
    |ГДЕ
    |    ТИПЗНАЧЕНИЯ(Штрихкоды.Владелец) = ТИП(Справочник.Номенклатура)
    |    И Штрихкоды.Качество.Ссылка = ЗНАЧЕНИЕ(Справочник.Качество.Новый)
    |    И Штрихкоды.Владелец.Ссылка В (&Масс)
    |
    |СГРУППИРОВАТЬ ПО
    |    Штрихкоды.Владелец.Ссылка,
    |    Штрихкоды.Штрихкод";
    
    Запрос.УстановитьПараметр("Масс",Масс );
    РЗ = Запрос.Выполнить();
    ТЗ = РЗ.Выгрузить();
        
    Для Каждого ОС ИЗ ОформленияСтрок Цикл
        СтрокаТЗ = ТЗ.Найти(ОС.ДанныеСтроки.Ссылка);
        Если СтрокаТЗ <> Неопределено Тогда
            ОС.Ячейки.ШтрихКодМой.Значение = СтрокаТЗ.Штрихкод;
            ОС.Ячейки.ШтрихКодМой.Текст = СтрокаТЗ.Штрихкод;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Станно, что
ОС.Ячейки.ШтрихКодМой.Значение = СтрокаТЗ.Штрихкод;
            ОС.Ячейки.ШтрихКодМой.Текст = СтрокаТЗ.Штрихкод;
работает только когда две строки записаны имеено в таком порядке. По одной и в другм порядке не рабатает, или показывает не адекватные значения или пустые ячейки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.