в универсальный отчет добавить тип сравнения
Автор zes, 27 янв 2012 07:17
Сообщений в теме: 11
#1
Отправлено 27 января 2012 - 07:17
1С:Предприятие 8.1 (8.1.13.41)
"Управление торговлей", редакция 10.3 (10.3.5.1)
Имеется отчет "Продажи. По продавцам"
Используется Универсальный отчет.
Магазин одежды.
В конце наименования номенклатуры (так повелось) продавцы ставят размер, т.е. отдельного поля нет.
Необходимо в Отборах, сделать "Тип сравнения" - "В конце".
Или каким-то образом добавить вычисляемое поле, в список полей.
Может кто реализовывал?
Может можно сделать стандартным способом, без конфига. Не могу найти где.
Помогите пожалуйста.
"Управление торговлей", редакция 10.3 (10.3.5.1)
Имеется отчет "Продажи. По продавцам"
Используется Универсальный отчет.
Магазин одежды.
В конце наименования номенклатуры (так повелось) продавцы ставят размер, т.е. отдельного поля нет.
Необходимо в Отборах, сделать "Тип сравнения" - "В конце".
Или каким-то образом добавить вычисляемое поле, в список полей.
Может кто реализовывал?
Может можно сделать стандартным способом, без конфига. Не могу найти где.
Помогите пожалуйста.
#3
Отправлено 27 января 2012 - 11:07
Как правильно отметили, тут надо менять идею, а не реализацию.
Это будет (в долгосрочной перспективе) - намного удобнее и выгоднее.
Это будет (в долгосрочной перспективе) - намного удобнее и выгоднее.
Ничто так сильно не укрепляет веру в человека, как ПРЕДОПЛАТА!
#4
Отправлено 27 января 2012 - 12:20
Товарищи!
Подход и концепцию ведения учета таким образом придумал не я, и менять ничего не будут.
Да, нужно найти 0,33
Ну помогите пожалуйста
Подход и концепцию ведения учета таким образом придумал не я, и менять ничего не будут.
alexburn (27 января 2012 - 10:48) писал:
Как вы себе представляете? Кока-кола 0,33, нужно найти 0,33 ?
Вы про характеристики товара слышали:))) ?
Вы про характеристики товара слышали:))) ?
Ну помогите пожалуйста
#5
Отправлено 27 января 2012 - 12:23
Добавить такой отбор можно, НО!
Для этого потребуется переписать отчет и пинцип его формирования.
Задачка интересная, но времени ей заниматься совершенно нет.
Смысл будет в том, что надо будет кастовать условие поиска и изменять текст запроса (подставлять ПОДОБНО %бла-бла-бла)
Отмечу также, что подобный отчет может формироваться ЗНАЧИТЕЛЬНО (на порядки, т.е. в 10-20 раз) дольше, чем стандартный.
Для этого потребуется переписать отчет и пинцип его формирования.
Задачка интересная, но времени ей заниматься совершенно нет.
Смысл будет в том, что надо будет кастовать условие поиска и изменять текст запроса (подставлять ПОДОБНО %бла-бла-бла)
Отмечу также, что подобный отчет может формироваться ЗНАЧИТЕЛЬНО (на порядки, т.е. в 10-20 раз) дольше, чем стандартный.
Ничто так сильно не укрепляет веру в человека, как ПРЕДОПЛАТА!
#6
Отправлено 27 января 2012 - 12:30
Ну такое предложение, если конфигурация снята с поддержки:
Завести для номенклатуры свойство Размер.
добавить для справочника номенклатура подписку на событие ПриЗаписи()
в этой подписке анализировать поле наименование, находить эти 0,33, и записывать в это свойство.
Все. для менеджеров все останется как было раньше.
А в отчете можно будет поставить галочку "использовать свойства и категории" и отбирать (или группировать) уже по этому свойству.
Завести для номенклатуры свойство Размер.
добавить для справочника номенклатура подписку на событие ПриЗаписи()
в этой подписке анализировать поле наименование, находить эти 0,33, и записывать в это свойство.
Все. для менеджеров все останется как было раньше.
А в отчете можно будет поставить галочку "использовать свойства и категории" и отбирать (или группировать) уже по этому свойству.
Now, this bell tolling softly for another, says to me: Thou must die...
#7
Отправлено 27 января 2012 - 12:36
Да, кстати, возможный вариант.
Только, предположу, что такой способ поиска (независимо от реализации) - будет выброшен со временем.
Ибо начнутся проблемы уже в таких местах:
"Молоко 2.5% 1 л."
"Молоко 3.5% 1л."
"Молоко 6.0% 1 л"
Как видим - упаковка литр, но вот окончание все равно разное.
И, в итоге, придут к нормальному, а не костылям, решению :)
Только, предположу, что такой способ поиска (независимо от реализации) - будет выброшен со временем.
Ибо начнутся проблемы уже в таких местах:
"Молоко 2.5% 1 л."
"Молоко 3.5% 1л."
"Молоко 6.0% 1 л"
Как видим - упаковка литр, но вот окончание все равно разное.
И, в итоге, придут к нормальному, а не костылям, решению :)
Ничто так сильно не укрепляет веру в человека, как ПРЕДОПЛАТА!
#8
Отправлено 27 января 2012 - 12:47
shurikvz (27 января 2012 - 12:30) писал:
Ну такое предложение, если конфигурация снята с поддержки:
Завести для номенклатуры свойство Размер.
добавить для справочника номенклатура подписку на событие ПриЗаписи()
в этой подписке анализировать поле наименование, находить эти 0,33, и записывать в это свойство.
Все. для менеджеров все останется как было раньше.
А в отчете можно будет поставить галочку "использовать свойства и категории" и отбирать (или группировать) уже по этому свойству.
Завести для номенклатуры свойство Размер.
добавить для справочника номенклатура подписку на событие ПриЗаписи()
в этой подписке анализировать поле наименование, находить эти 0,33, и записывать в это свойство.
Все. для менеджеров все останется как было раньше.
А в отчете можно будет поставить галочку "использовать свойства и категории" и отбирать (или группировать) уже по этому свойству.
Это очень хорошая мысль!
И ещё нужно сделать обработку, чтобы сразу заполнить это свойство начально.
Может поможите запросом? Чтобы быстро?
BabySG (27 января 2012 - 12:36) писал:
Да, кстати, возможный вариант.
Только, предположу, что такой способ поиска (независимо от реализации) - будет выброшен со временем.
Ибо начнутся проблемы уже в таких местах:
"Молоко 2.5% 1 л."
"Молоко 3.5% 1л."
"Молоко 6.0% 1 л"
Как видим - упаковка литр, но вот окончание все равно разное.
И, в итоге, придут к нормальному, а не костылям, решению :)
Только, предположу, что такой способ поиска (независимо от реализации) - будет выброшен со временем.
Ибо начнутся проблемы уже в таких местах:
"Молоко 2.5% 1 л."
"Молоко 3.5% 1л."
"Молоко 6.0% 1 л"
Как видим - упаковка литр, но вот окончание все равно разное.
И, в итоге, придут к нормальному, а не костылям, решению :)
Да, согласен, абсолютно, надо их заставить нормально данные вводить! :)
#9
Отправлено 27 января 2012 - 13:32
Там и запрос по сути не надо.
1) Выборка по справочнику
2) ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок
3) Берем последний элемент массива (или не последний, тут уж я не знаю как у ваз наименования забиты), приводим к нужному типу записываем в РС. ЗначенияСвойствОбЪектов.
1) Выборка по справочнику
2) ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок
3) Берем последний элемент массива (или не последний, тут уж я не знаю как у ваз наименования забиты), приводим к нужному типу записываем в РС. ЗначенияСвойствОбЪектов.
Now, this bell tolling softly for another, says to me: Thou must die...
#10
Отправлено 27 января 2012 - 16:24
Не понял как РС.ЗначенияСвойствОбЪектов использовать
#11
Отправлено 30 января 2012 - 07:13
Вот, на ваш суд сделал, сработало с первого раза :)
Обработка
Обработка
Процедура КнопкаВыполнитьНажатие(Кнопка) Выборка = Справочники.Номенклатура.ВыбратьИерархически(); Счетчик = 0; Пока Выборка.Следующий() Цикл Если Не Выборка.ЭтоГруппа Тогда Наименование = Выборка.Наименование; Если Наименование <> "" Тогда //выгружаем в массив МассивСтрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодСтрок(Наименование, " "); ЭлементовВМассиве = МассивСтрок.Количество(); Если ЭлементовВМассиве > 1 Тогда //берём последний элемент массива Тест = СокрЛП(МассивСтрок[ЭлементовВМассиве-1]); //Исключение Если Тест="AV" Тогда Тест = СокрЛП(МассивСтрок[ЭлементовВМассиве-2]); КонецЕсли; Если Не Флажок1 ИЛИ (СтрДлина(Тест) < 3 И Флажок1) Тогда ТестЧисло = 0; Попытка //число? ТестЧисло = Число(Тест); Тест = Строка(ТестЧисло); Исключение КонецПопытки; Если ТестЧисло <> 0 Тогда //запись Об = Выборка.ПолучитьОбъект(); Об.Размер = Тест; Об.Записать(); //***запись Счетчик = Счетчик + 1; Сообщить(Строка(Счетчик) + ". " + Наименование + ", РАЗМЕР:" + Тест); КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры
#12
Отправлено 30 января 2012 - 12:21
Вы я так поняли добавили в конфигураторе в справочник номенклатура реквизит "Размер".
Ну так конечно тоже можно, но изначально я говорил об использовании механизма "Свойства обЪектов", с тем чтобы не добавлять реквизитов.
Ну все, добавляйте теперь подписку на событие. Если делать на основании того как вы реализовали, то на событие ПередЗаписью(), если будете переделывать с использованием "Свойств", то на событие ПриЗаписи().
Вставляете туда аналогичный кусок кода (выборка и цикл естественно не нужен, у вас же там будет только один элемент справочника).
Ну так конечно тоже можно, но изначально я говорил об использовании механизма "Свойства обЪектов", с тем чтобы не добавлять реквизитов.
Ну все, добавляйте теперь подписку на событие. Если делать на основании того как вы реализовали, то на событие ПередЗаписью(), если будете переделывать с использованием "Свойств", то на событие ПриЗаписи().
Вставляете туда аналогичный кусок кода (выборка и цикл естественно не нужен, у вас же там будет только один элемент справочника).
Now, this bell tolling softly for another, says to me: Thou must die...
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных











