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

Хранилище

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

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



> Связать периодический регистр сведений с рег. накопления "Пролажи" , Связать периодический регистр сведений с рег. накопления "Пролажи& 2 страниц V   1 2 >          
alex1c Подменю пользователя
сообщение 17.11.10, 15:03
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

Конфигурация УПП для Украины, переделанная.
Есть регистр накопления "Продажи", в котором есть измерение "Контрагент".
Добавили периодический регистр сведений "МенеджерыКонтрагентов" (периодичность в пределах дня) в котором тоже есть измерение "Контрагент", а ресурс Менеджер.
Нужно сформировать отчет в котором бы был отбор и группировка по Менеджеру.
Подскажите есть ли такая возможность, и учитывая то что менеджер в течении выбранного периода у данного контрагента может поменяться.

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

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

Переделайте отчет "Продажи" - добавьте в запрос возможность отбора и группировки по нужному регистру.


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

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

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

Цитата(alex1c @ 17.11.10, 16:03) *
Конфигурация УПП для Украины, переделанная.
Есть регистр накопления "Продажи", в котором есть измерение "Контрагент".
Добавили периодический регистр сведений "МенеджерыКонтрагентов" (периодичность в пределах дня) в котором тоже есть измерение "Контрагент", а ресурс Менеджер.
Нужно сформировать отчет в котором бы был отбор и группировка по Менеджеру.
Подскажите есть ли такая возможность, и учитывая то что менеджер в течении выбранного периода у данного контрагента может поменяться.


Можно реализовать запрос, но выполняться он будет очень долго. Не легче ли было при проведении доков брать тек. менеджера и записывать в регистр ПРОДАЖИ ?


Signature
Бухгалтер - это не профессия! Это диагноз!

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

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

Прицепите левым соединением менеджера, в чем проблема?

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

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Предлагаю так
ВЫБРАТЬ
     Продажи.Контрагент
ИЗ
     РегистрыНакопления.Продажи.Обороты(
          &ДатаНач,
          &ДатаКон,
          ,
     Контрагент В (ВЫБРАТЬ
                      МенеджерыКонтрагентов.Контрагент
                ИЗ
                  РегистрыСведений.МенеджерыКонтрагентов.СрезПоследних(&ДатаКон, ) КАК МенеджерыКонтрагентов
                ГДЕ
                  МенеджерыКонтрагентов.Менеджер = &Менеджер)) КАК Продажи


И работать будет достаточно быстро.


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

awp Подменю пользователя
сообщение 17.11.10, 15:18
Сообщение #6

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

Цитата(Vofka @ 17.11.10, 16:14) *
Прицепите левым соединением менеджера, в чем проблема?


Менеджер в разрезе дня - Левое соединение с (выборку по датам регистра продажи + контрагентам + менеджерам) связь по максимальной дате менеджеров меньшей даты регистра продажи.


Signature
Бухгалтер - это не профессия! Это диагноз!

awp Подменю пользователя
сообщение 17.11.10, 15:19
Сообщение #7

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

Цитата(World1С @ 17.11.10, 16:16) *
Предлагаю так
ВЫБРАТЬ
Продажи.Контрагент
ИЗ
РегистрыНакопления.Продажи.Обороты(
&ДатаНач,
&ДатаКон,
,
Контрагент В (ВЫБРАТЬ
                    МенеджерыКонтрагентов.Контрагент
                    ИЗ
                    РегистрыСведений.МенеджерыКонтрагентов.СрезПоследних(&ДатаКон, ) КАК МенеджерыКонтрагентов
                    ГДЕ
                    МенеджерыКонтрагентов.Менеджер = &Менеджер)) КАК Продажи



Будет выбран только последний менеджер на дату конца. На сколько я понял необходимо выбрать менеджера на дату регистратора.


Signature
Бухгалтер - это не профессия! Это диагноз!

awp Подменю пользователя
сообщение 17.11.10, 15:21
Сообщение #8

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

Цитата(awp @ 17.11.10, 16:19) *
Будет выбран только последний менеджер на дату конца. На сколько я понял необходимо выбрать менеджера на дату регистратора.


Вернее контрагент


Signature
Бухгалтер - это не профессия! Это диагноз!

alex1c Подменю пользователя
сообщение 17.11.10, 15:23
Сообщение #9

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

Цитата(awp @ 17.11.10, 16:19) *
Будет выбран только последний менеджер на дату конца. На сколько я понял необходимо выбрать менеджера на дату регистратора.

В том то и проблема, что что до 10 числа был один менеджер а с 11 - другой, и это нужно учесть

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

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

Цитата
В том то и проблема, что что до 10 числа был один менеджер а с 11 - другой, и это нужно учесть

Где учесть?

Я думаю как то так:

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

World1С Подменю пользователя
сообщение 17.11.10, 15:41
Сообщение #11

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

По поводу моего примера хотел уточнить

РегистрыСведений.МенеджерыКонтрагентов.СрезПоследних(&Граница, )


Цитата
РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>)
СрезПоследних (SliceLast)
Синтаксис:
СрезПоследних(<Конец периода>, <Отбор>)
Параметры:
<Конец периода> (необязательный)
Тип: Дата, МоментВремени, Граница. Определяет момент времени, заканчивая которым необходимо выбрать записи.
Если параметр не указан, то будут возвращены значения ресурсов самой последней записи регистра.
<Отбор> (необязательный)
Тип: Структура. Структура, содержащая отбор по измерениям и реквизитам регистра. Имя ключа структуры должно совпадать с именем измерения регистра, заданного в конфигураторе, а значение элемента структуры - задает отбираемое по данному измерению значение. Если параметр не указан, то отбор не используется.
Возвращаемое значение:
Тип: ТаблицаЗначений. Таблица значений, заполненная данными найденных записей регистра сведений.
Описание:
Получает наиболее поздние записи регистра, соответствующие установленным в параметрах метода значениям ключевых полей. Записи подбираются для каждого сочетания из всех имеющихся значений измерений регистра.
Примечание:
Применим только для периодических регистров сведений.


это из help

а вот что такое Граница

Цитата
Граница (Boundary)
Свойства:
ВидГраницы (BoundaryType)
Значение (Value)

Конструкторы:
На основании значения и вида

Описание:
Предназначен для получения и хранения границы некоторого интервала значений. Содержит граничное значение интервала, а также признак включения или исключения граничного значения в интервал.
Используется в качестве значений свойств и параметров методов других объектов, имеющих тип Граница.
Граница используется в тех случаях, когда важно указание включения или исключения граничного значения, например при получении остатков и оборотов регистров накопления, срезов и значений регистров сведений, для задания интервалов запросов.
Возможен обмен с сервером. Сериализуется


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

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

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

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

alex1c Подменю пользователя
сообщение 17.11.10, 15:48
Сообщение #13

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

В том то и дело что в РегистрыСведений.МенеджерыКонтрагентов.СрезПоследних(&Граница, ) нужно указать Границу, а это значит что мы получим менеджера актуального на "Граница" но не тех которые изменялись в этом периоде...

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

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

Цитата(Batchir @ 17.11.10, 16:44) *
Я когда-то добавлял в регистр продаж реквизит и дополнительно двигал по нему.

в регистр Продаж добавлять не хотят.

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

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

Цитата
но не тех которые изменялись в этом периоде...

Тогда не срез последних, а просто весь регистр РегистрыСведений.МенеджерыКонтрагентов и в условии поставьте Период Между

alex1c Подменю пользователя
сообщение 17.11.10, 16:19
Сообщение #16

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

Цитата(Vofka @ 17.11.10, 17:01) *
Тогда не срез последних, а просто весь регистр РегистрыСведений.МенеджерыКонтрагентов и в условии поставьте Период Между

а так не хочет Менеджера вообще ставить.
Может его как-то выражением определять?

awp Подменю пользователя
сообщение 17.11.10, 16:33
Сообщение #17

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 520
Спасибо сказали: 70 раз
Рейтинг: 51.3

Попробуйте сделать левое соединение по РегистрыСведений.МенеджерыКонтрагентов
с условием контрагент = продажи.контрагент и началопериода(продажи.Дата,День) = началопериода(РегистрыСведений.Период,День)

в ВЫБРАТЬ добавить РегистрыСведений.МенеджерыКонтрагентов.Менеджер


Signature
Бухгалтер - это не профессия! Это диагноз!

alex1c Подменю пользователя
сообщение 17.11.10, 17:25
Сообщение #18

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

Сделал так:

    "ВЫБРАТЬ
    |    Менеджеры.Менеджер,
    |    ПродажиОбороты.Контрагент,
    |    ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
    |    ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот
    |ИЗ
    |    РегистрНакопления.Продажи.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ПродажиОбороты
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МенеджерыКонтрагентов.СрезПоследних(, ) КАК Менеджеры
    |        ПО ПродажиОбороты.Контрагент = Менеджеры.Контрагент
    |            И (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(Менеджеры.Период, ДЕНЬ))
    |ИТОГИ
    |    СУММА(КоличествоОборот),
    |    СУММА(СтоимостьОборот)
    |ПО
    |    ОБЩИЕ";


выводит в последней строке менеджера, а в первых нет.

World1С Подменю пользователя
сообщение 17.11.10, 17:29
Сообщение #19

Оратор
Иконка группы
Квалифицированному 1С программисту
Группа: Местный
Сообщений: 358
Из: г.Луганск, обл.Луганская
Спасибо сказали: 110 раз
Рейтинг: 0

Это проблема левого соединения.
Убери связь по периоду и попробуй поменять регистры местами.


Signature
В наше время люди всему знают цену, но понятия не имеют о подлинной ценности.
Оскар Уайлд

alex1c Подменю пользователя
сообщение 17.11.10, 17:36
Сообщение #20

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 235
Спасибо сказали: 45 раз
Рейтинг: 40

Цитата(World1С @ 17.11.10, 18:29) *
Это проблема левого соединения.
Убери связь по периоду и попробуй поменять регистры местами.

Если убрать связь по периоду выводит во всех строка последнего менеджера. А что имелось ввиду "поменять регистры местами"?

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


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

 

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