• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Запрос по реквизиту регистра накопления в 8.0

  • Автор темы SeverBap
  • Дата начала
S

SeverBap

Вообщем ситуация простая: необходимо переписать типовой отчет "Остатки товаров" так как в регистре накопления убрали из измерений Контрагент и ДокументПрихода, перенесли в реквизиты! Отчет впринципе работает без отбора по этим (Контрагент и ДокументПрихода). Я :google: и толком ничего не нашел как можно реализовать СОЕДИНЕНИЕ такого " ;) " в такой поставленой задачи.??
Вот код генерации запроса:
Код удален модератором раздела. Причина: опубликуете код, если вас попросят. Внимательно читайте правила!
Да еще скорее всего это потом переконвертируют в 8.1
подскажите где тут рыть яму! :KillMe:
 
U

unknown181538

Видимо придется делать запрос по движениям с последующей группировкой, что существенно замедлит выполнение. Копать, мне кажется лучше в сторону выбора подходящего регистра - например партий.
 
S

SeverBap

:) уже давно определились! Я же написал что поменялся регистр накопления партии номенклатуры, перемещены контрагент и документ прихода в реквизиты ... нужно просто переписать запрос в отчете нужно как-то написать что бы при указании партии и поставщика он делал отбор по реквизиту (ведь теперь это не измерение а реквизит - и это усложняет так как я незнаю в какую сторону рыть) :crash:
 
U

unknown181538

Пример: "ВЫБРАТЬ
РозничнаяВыручка.Подразделение КАК Подразделение,
СУММА(РозничнаяВыручка.Сумма) КАК Сумма
ИЗ
РегистрНакопления.РозничнаяВыручка КАК РозничнаяВыручка
ГДЕ
РозничнаяВыручка.Период >= &НачДата
И РозничнаяВыручка.Период <= &КонДата
И РозничнаяВыручка.Подразделение = &Подразделение

СГРУППИРОВАТЬ ПО
РозничнаяВыручка.Подразделение"
(Подразделение - реквизит.)

Только вот не понятно, зачем вы убрали Партию из измерений регистра партий. По партиям обычно еще и остатки получают.
 
S

SeverBap

unknown181538 одна партийка должна быть!
 
S

SeverBap

Ошибка будет, РозничнаяВыручка.<??>Подразделение = &Подразделение - Типа не найдено!
 
S

SeverBap

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

SeverBap

unknown181538 все нормально разобрался, вот только остается понять как надо написать что бы можно было получать начальныйостатокКоличество!
 
U

unknown181538

1)Получить обороты до начальной даты в отдельной таблице и соединить таблицы.
2) Сделать чтобы в одно поле запроса попадали движения ДО начДаты, в другое после. Одно будет остатками, другое оборотами.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!