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

Хранилище

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

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



> Помогите с отбором в установке цен номенклатуры , Управление торговым предприятием для Украины редакция 1.2          
gtovt Подменю пользователя
сообщение 10.09.15, 14:08
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Прошу помощи уже месяц воюю с этим вопросом, а именно есть документ "Установка цен номенклатуры" и там есть заполнить по ценам номенклатуры или по ценам контрагентов, когда нажимаем открывается обработка формирование цен там есть: Тип цен, Номенклатура, Номенклатурная группа, Ценовая группа, когда я добавляю следующий реквизит то там нет того что мне нужно. А именно у меня в номенклатуре есть свойства а там есть значения сезон и год которые хранятся в регистре ЗначенияСвойствОъектов. Вопрос как добавить их в этот отбор???





logist Подменю пользователя
сообщение 10.09.15, 14:15
Сообщение #2

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

Доработать обработку, так что бы она позволяла добавлять в отбор и отбирать по свойствам объектов.


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

gtovt Подменю пользователя
сообщение 10.09.15, 14:23
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 10.09.15, 15:15) *
Доработать обработку, так что бы она позволяла добавлять в отбор и отбирать по свойствам объектов.


Да что я за это месяц не дописывал не выводит и все, хотя я не сильно разбираюсь, но чего я только не перечитывал за этот месяц.

И смотрел в универсальный отчет -> Использовать свойства и категории. но не бум бум.

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

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Апну тему, у меня ничего не получается.

Егор Динин Подменю пользователя
сообщение 17.09.15, 8:26
Сообщение #5

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1454
Из: Киев
Спасибо сказали: 550 раз
Рейтинг: 0

Цитата(gtovt @ 17.09.15, 9:10) *
у меня ничего не получается.

Что именно не получается? Выкладывайте код - Вам помогут. Сейчас Вы ждете готового решения, а получить его можно только здесь

gtovt Подменю пользователя
сообщение 17.09.15, 9:13
Сообщение #6

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Процедура ЗаполнитьПостроительОтчетаПоЦенамНоменклатуры(ВключатьНезаполненные, ЗаполнятьТолькоТекстЗапроса) Экспорт

    ТекстЗапроса = "
    |ВЫБРАТЬ //РАЗЛИЧНЫЕ
    |Тип.Ссылка                                                 КАК ТипЦен,
    |Ном.Ссылка                                                 КАК Номенклатура,
    |Ном.НоменклатурнаяГруппа                                   КАК НоменклатурнаяГруппа,
    |Ном.ЦеноваяГруппа                                          КАК ЦеноваяГруппа,
    |Ном.ЭтоГруппа                                              КАК ЭтоГруппа,
    |ХарактеристикиНоменклатуры.Ссылка                          КАК ХарактеристикаНоменклатуры,
    |Ном.Родитель                                               КАК Группа,
    |ВЫБОР
    |    КОГДА Ном.НаименованиеПолное ПОДОБНО &ПустаяСтрока
    |    ТОГДА Ном.Наименование
    |    ИНАЧЕ Ном.НаименованиеПолное КОНЕЦ                      КАК ПолноеНаименование,
    |ВЫБОР
    |    КОГДА &ДопКолонка = &Артикул
    |        ТОГДА Ном.Артикул
    |    КОГДА &ДопКолонка = &Код
    |        ТОГДА Ном.Код
    |    ИНАЧЕ
    |        NULL
    |    КОНЕЦ                                                   КАК Артикул,
    |Рег.ЕдиницаИзмерения                                       КАК ЕдиницаИзмерения,
    |Рег.Валюта,
    |Рег.ПроцентСкидкиНаценки                                   КАК ПроцентСкидкиНаценки,
    |Рег.СпособРасчетаЦены                                      КАК СпособРасчетаЦены,
    |Тип.ВалютаЦены,
    |КурсыВалют.Курс                                            КАК КурсВалюты,
    |КурсыВалют.Кратность                                       КАК КратностьВалюты,
    |КурсыВалютЦены.Курс                                        КАК КурсВалютыЦены,
    |КурсыВалютЦены.Кратность                                   КАК КратностьВалютыЦены,
    |ВЫБОР
    |    КОГДА Тип.Рассчитывается ТОГДА
    |        Рег.Цена * (100 + Тип.ПроцентСкидкиНаценки)/100
    |    ИНАЧЕ
    |        Рег.Цена
    |    КОНЕЦ                                                   КАК Цена
    |
    |{ВЫБРАТЬ
    |    Тип.Ссылка.*                                            КАК ТипЦен,
    |    Ном.Ссылка.*                                            КАК Номенклатура,
    |    Ном.Родитель.*                                          КАК Группа
    |    //СВОЙСТВА
    |}
    |
    |ИЗ
    |    Справочник.Номенклатура КАК Ном
    |    //СОЕДИНЕНИЯ
    |
    |СОЕДИНЕНИЕ
    |    (ВЫБРАТЬ
    |        Характеристики.Ссылка   КАК Ссылка,
    |        Характеристики.Владелец КАК Владелец
    |    ИЗ
    |        Справочник.ХарактеристикиНоменклатуры КАК Характеристики
    |
    |    ОБЪЕДИНИТЬ ВСЕ
    |
    |    ВЫБРАТЬ
    |        ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК Ссылка,
    |        Номенклатура.Ссылка               КАК Владелец
    |    ИЗ
    |        Справочник.Номенклатура КАК Номенклатура
    |
    |    ) КАК ХарактеристикиНоменклатуры
    |ПО
    |    ХарактеристикиНоменклатуры.Владелец = Ном.Ссылка
    |
    |ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатуры КАК Тип
    |ПО
    |    ИСТИНА
    |
    |    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦенСкидок, ) КАК Рег  
    |ПО
    |    (Тип.Ссылка = Рег.ТипЦен)
    |    И
    |    Ном.Ссылка = Рег.Номенклатура
    |    И
    |    Рег.ХарактеристикаНоменклатуры = ХарактеристикиНоменклатуры.Ссылка
    |
    |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаЦенСкидок) КАК КурсыВалют
    |ПО
    |    КурсыВалют.Валюта = Рег.Валюта
    |
    |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаЦенСкидок) КАК КурсыВалютЦены
    |ПО
    |    КурсыВалютЦены.Валюта = Тип.ВалютаЦены
    |
    |ГДЕ
    |    НЕ Ном.Набор
    |";

    Если Не ВключатьНезаполненные Тогда
        ТекстЗапроса = ТекстЗапроса + "
        |    И
        |    Ном.Ссылка В (Выбрать Номенклатура ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦенСкидок,))
        |    И
        |    ХарактеристикиНоменклатуры.Ссылка В (Выбрать ХарактеристикаНоменклатуры ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦенСкидок,))
        |";
    КонецЕсли;

    ТекстЗапроса = ТекстЗапроса + "
    |{ГДЕ
    |    Тип.Ссылка.*                                            КАК ТипЦен,
    |    Ном.Ссылка.*                                            КАК Номенклатура,
    |    НоменклатурнаяГруппа.Ссылка.*                           КАК НоменклатурнаяГруппа,
    |    ЦеноваяГруппа.Ссылка.*                                  КАК ЦеноваяГруппа,
    |    Ном.Родитель.*                                          КАК Группа
    |    //СВОЙСТВА
    |    //КАТЕГОРИИ
    |}
    |
    |УПОРЯДОЧИТЬ ПО
    |    Номенклатура,
    |    ХарактеристикаНоменклатуры,
    |    ТипЦен
    |    //СВОЙСТВА
    |
    |ИТОГИ ПО
    |    Номенклатура ТОЛЬКО ИЕРАРХИЯ
    |АВТОУПОРЯДОЧИВАНИЕ
    |";

    ПостроительОтчета.Текст = ТекстЗапроса;

    Если Не ЗаполнятьТолькоТекстЗапроса Тогда

        // Соответствие имен полей в запросе и их представлений в отчете
        СтруктураПредставлениеПолей = Новый Структура(
        "    ТипЦен,
        |    Номенклатура,
        |    НоменклатурнаяГруппа,
        |    ЦеноваяГруппа",
        "Тип цен",
        "Номенклатура",
        "Номенклатурная группа",
        "Ценовая группа");

        УправлениеОтчетами.ЗаполнитьПредставленияПолей(СтруктураПредставлениеПолей, ПостроительОтчета);

        // отборы по умолчанию
        Пока ПостроительОтчета.Отбор.Количество() > 0 Цикл
            ПостроительОтчета.Отбор.Удалить(0);
        КонецЦикла;

        МассивОтбора = Новый Массив;

        Если ТипыЦенСкидок.Количество() = 0 Тогда
            МассивОтбора.Добавить("ТипЦен");
        Иначе
            ЭлементОтбора = ПостроительОтчета.Отбор.Добавить("ТипЦен",, "Тип цен");
            ЭлементОтбора.ВидСравнения  = ВидСравнения.ВСписке;
            ЭлементОтбора.Значение.ЗагрузитьЗначения(ТипыЦенСкидок.ВыгрузитьКолонку("ТипЦенСкидок"));
            ЭлементОтбора.Использование = Истина;
        КонецЕсли;
        
        Если мСписокНоменклатуры = Неопределено Тогда
            МассивОтбора.Добавить("Номенклатура");
        Иначе
            ЭлементОтбора = ПостроительОтчета.Отбор.Добавить("Номенклатура",, "Номенклатура");
            ЭлементОтбора.ВидСравнения  = ВидСравнения.ВСписке;
            ЭлементОтбора.Значение      = мСписокНоменклатуры;
            ЭлементОтбора.Использование = Истина;
        КонецЕсли;
        
        МассивОтбора.Добавить("НоменклатурнаяГруппа");
        МассивОтбора.Добавить("ЦеноваяГруппа");
        
        УправлениеОтчетами.ЗаполнитьОтбор(МассивОтбора, ПостроительОтчета);

        ЗаполнитьОбщиеПараметрыПостроителяОтчета();

    КонецЕсли;

КонецПроцедуры


Вот сюда надо вставить отбор по свойствам номенклатуры

TipsyKID Подменю пользователя
сообщение 17.09.15, 9:24
Сообщение #7

Оратор
Иконка группы
Группа: Местный
Сообщений: 413
Из: Киев
Спасибо сказали: 161 раз
Рейтинг: 0

В модуле обработки есть запросы для построителя : "ЗаполнитьПостроительОтчета..." в них добавьте соединение с нужными свойствами или со всеми свойствами если разбираетесь в запросах.
Если не разбираетесь, тут дело другое , задавайте вопросы, что не получается, с примерами кода.
Вам необходимо не настраивать сразу отбор а задать заполнения полей для отбора, на вкладке построителя запросов.

Сообщение отредактировал TipsyKID - 17.09.15, 9:24


Signature
Специалист : Технологическая платформа 8.х, Бухгалтерия для Украины, Управление торговлей для Украины, Зарплата и Управление Персоналом для Украины

gtovt Подменю пользователя
сообщение 18.09.15, 9:22
Сообщение #8

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

[необходимо зарегистрироваться для просмотра ссылки] вот обработка формирование цен, я так думаю там устанавливается отбор, я честно говоря за месяц перебрал кучу вариантов, на формах никто данной темы не поднимал, а если поднимали то все равно мне эта информация не помогла.

Я не прошу за меня это сделать, я прошу подсказать в какую сторону двигаться.

Может быть здесь как то добавить


Процедура ОтборЗначениеНачалоВыбора(Элемент, СтандартнаяОбработка)

    Если ТипЗнч(Элемент.Значение) = Тип("СправочникСсылка.ТипыЦенНоменклатурыКонтрагентов") Тогда
        Контрагент = ПостроительОтчета.Отбор.Контрагент.Значение;
        Если ЗначениеЗаполнено(Контрагент) Тогда
            СтандартнаяОбработка = Ложь;
            ФормаВыбора = Справочники.ТипыЦенНоменклатурыКонтрагентов.ПолучитьФормуВыбора();

            Если ТипЗнч(Контрагент) = Тип("СписокЗначений") Тогда
                ФормаВыбора.Отбор.Владелец.ВидСравнения = ВидСравнения.ВСписке;
            Иначе
                ФормаВыбора.Отбор.Владелец.ВидСравнения = ВидСравнения.Равно;
            КонецЕсли;
            ФормаВыбора.Отбор.Владелец.Значение = Контрагент;
            ФормаВыбора.Отбор.Владелец.Использование = Истина;
            Элемент.Значение = ФормаВыбора.ОткрытьМодально();

            Если ТипЗнч(Элемент.Значение) = Тип("СправочникСсылка.ТипыЦенНоменклатурыКонтрагентов")
               И ЗначениеЗаполнено(Элемент.Значение)
               И НЕ ЗначениеЗаполнено(Элемент.Значение.ТипЦеныНоменклатуры) Тогда
                ОбщегоНазначения.СообщитьОбОшибке("У выбранного типа цен контрагентов """ + Элемент.Значение
                                 + """ не заполнен реквизит ""Тип цены номенклатуры""! Заполнение невозможно.");
                Элемент.Значение = Неопределено;
                Возврат;
            КонецЕсли;

        КонецЕсли;
    КонецЕсли;

КонецПроцедуры

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

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

КонецЕсли;
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    ЗначенияСвойствОбъектов.Объект,
    |    ВЫБОР
    |        КОГДА ЗначенияСвойствОбъектов.Свойство.Наименование = ""Сезон""
    |            ТОГДА ЗначенияСвойствОбъектов.Значение
    |        ИНАЧЕ """"
    |    КОНЕЦ КАК Сезон
    |ПОМЕСТИТЬ ВТСезон
    |ИЗ
    |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |ГДЕ
    |    ЗначенияСвойствОбъектов.Свойство = &СвойствоСезон
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЗначенияСвойствОбъектов.Объект,
    |    ВЫБОР
    |        КОГДА ЗначенияСвойствОбъектов.Свойство.Наименование = ""Год""
    |            ТОГДА ЗначенияСвойствОбъектов.Значение
    |        ИНАЧЕ """"
    |    КОНЕЦ КАК Год
    |ПОМЕСТИТЬ ВТГод
    |ИЗ
    |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |ГДЕ
    |    ЗначенияСвойствОбъектов.Свойство = &СвойствоГод
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЗначенияСвойствОбъектов.Объект,
    |    ВЫБОР
    |        КОГДА ЗначенияСвойствОбъектов.Свойство.Наименование = ""Производитель""
    |            ТОГДА ЗначенияСвойствОбъектов.Значение
    |        ИНАЧЕ """"
    |    КОНЕЦ КАК Производитель
    |ПОМЕСТИТЬ ВТПроизводитель
    |ИЗ
    |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    |ГДЕ
    |    ЗначенияСвойствОбъектов.Свойство = &СвойствоПроизводитель
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Номенклатура.Ссылка,
    |    Номенклатура.Наименование КАК Наименование,
    |    Номенклатура.Артикул,
    |    ВТСезон.Сезон,
    |    ВТГод.Год,
    |    ВТПроизводитель.Производитель
    |ПОМЕСТИТЬ ВТНоменклатура
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТСезон КАК ВТСезон
    |        ПО Номенклатура.Ссылка = ВТСезон.Объект
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТГод КАК ВТГод
    |        ПО Номенклатура.Ссылка = ВТГод.Объект
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТПроизводитель КАК ВТПроизводитель
    |        ПО Номенклатура.Ссылка = ВТПроизводитель.Объект
    |ГДЕ
    |    Номенклатура.ЭтоГруппа = ЛОЖЬ
    |
    |СГРУППИРОВАТЬ ПО
    |    Номенклатура.Ссылка,
    |    Номенклатура.Наименование,
    |    Номенклатура.Артикул,
    |    ВТСезон.Сезон,
    |    ВТГод.Год,
    |    ВТПроизводитель.Производитель
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВТНоменклатура.Ссылка,
    |    ВТНоменклатура.Сезон,
    |    ВТНоменклатура.Год,
    |    ВТНоменклатура.Производитель КАК Производитель
    |ИЗ
    |    ВТНоменклатура КАК ВТНоменклатура
    |
    |УПОРЯДОЧИТЬ ПО
    |    Производитель,
    |    ВТНоменклатура.Наименование";
    //Параметры запроса
    Запрос.УстановитьПараметр("СвойствоГод",ПланыВидовХарактеристик.СвойстваОбъектов.ПолучитьСсылку(Новый УникальныйИдентификатор("2296389c-4045-11e5-828e-f0def1170684")));// Свойства объектов (Год)
    Запрос.УстановитьПараметр("СвойствоПроизводитель",ПланыВидовХарактеристик.СвойстваОбъектов.ПолучитьСсылку(Новый УникальныйИдентификатор("c3b4cd79-52fb-11e5-8298-f0def1170684")));// Свойства объектов (Производитель)
    Запрос.УстановитьПараметр("СвойствоСезон",ПланыВидовХарактеристик.СвойстваОбъектов.ПолучитьСсылку(Новый УникальныйИдентификатор("22963899-4045-11e5-828e-f0def1170684")));// Свойства объектов (Сезон)
    Результат = Запрос.Выполнить();


Ниже добавляю
МассивОтбора.Добавить("СвойствоСезон",ПланыВидовХарактеристик.СвойстваОбъектов.ПолучитьСсылку(Новый УникальныйИдентификатор("22963899-4045-11e5-828e-f0def1170684")));// Свойства объектов (Сезон)


все равно не получается пишет Слишком много фактических параметров

TipsyKID Подменю пользователя
сообщение 18.09.15, 14:16
Сообщение #10

Оратор
Иконка группы
Группа: Местный
Сообщений: 413
Из: Киев
Спасибо сказали: 161 раз
Рейтинг: 0

Цитата(TipsyKID @ 17.09.15, 10:24) *
Вам необходимо не настраивать сразу отбор а задать заполнения полей для отбора, на вкладке построителя запросов.

Если Вам не понятно, что здесь написано прочитайте в С.П. "ПостроительЗапроса". ( это те магические символы, которые пишутся в запросе между символом {})


Signature
Специалист : Технологическая платформа 8.х, Бухгалтерия для Украины, Управление торговлей для Украины, Зарплата и Управление Персоналом для Украины

gtovt Подменю пользователя
сообщение 18.09.15, 14:46
Сообщение #11

Молчаливый
*
Группа: Пользователи
Сообщений: 7
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(TipsyKID @ 18.09.15, 15:16) *


Понял спасибо, буду разбираться, еще наверное месяц уйдет ))))

TipsyKID Подменю пользователя
сообщение 18.09.15, 21:41
Сообщение #12

Оратор
Иконка группы
Группа: Местный
Сообщений: 413
Из: Киев
Спасибо сказали: 161 раз
Рейтинг: 0

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

Сообщение отредактировал TipsyKID - 18.09.15, 21:41


Signature
Специалист : Технологическая платформа 8.х, Бухгалтерия для Украины, Управление торговлей для Украины, Зарплата и Управление Персоналом для Украины

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


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

 

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