Версия для печати темы (https://pro1c.org.ua/index.php?s=1fe5f20b6c87fec069289ca7b97e55dc&showtopic=45730)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Добавить колонку с контрагентом на котором стоит резерв данной номенклатуры
Автор: ЮлияЛебешева 15.05.18, 15:00
Добрый день! прошу помощи так как новичок) Я создала отчет Товары в Резерве и на Складе, ( Выглядит так: Номенклаткра, Цена, Общее кол-во на складе, Общее кол-во в резерве) руководству не хватает еще одной колонки где будет указан контрагент на котором резерв. Возможно ли это?
Автор: Vofka 15.05.18, 15:05
Возможно.
Автор: ЮлияЛебешева 15.05.18, 15:12
Vofka @ Сегодня, 16:05
,
Спасибо) Как это сделать?
Автор: a1987mar 15.05.18, 15:22
Залежить в якій базі 1С це робити. ( наприклад в 1С УПП це можна налаштувати штатними звітами, 1С УТП треба дивитися)
Автор: ЮлияЛебешева 15.05.18, 15:24
a1987mar @ Сегодня, 16:22
,
Это 1С ( Управление торговлей
Автор: Bernet 15.05.18, 15:28
ЮлияЛебешева @ Сегодня, 16:24
,
Нужно больше информации - отчет реализован через Универсальный отчет или СКД или самописный, желательно вообще его выложите чтобы Вам могли быстрее помочь. По логике все сводится к тому чтобы добавить контрагента в запрос и вытащить в макет отчета. Если это СКД или универсальный отчет то в принципе это делается просто и быстро.
Автор: ЮлияЛебешева 15.05.18, 15:34
Bernet @ Сегодня, 16:28
,
Отчет был сделан на основе универсального и сохранен как внешний.
Код ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТоварыНаСкладахОстатки.Склад,
| ТоварыНаСкладахОстатки.Номенклатура,
| ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
| ТоварыНаСкладахОстатки.СерияНоменклатуры,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,
| ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ОстатокРезерв,
| ЦеныНоменклатурыСрезПоследних.ТипЦен,
| ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
| ЦеныНоменклатурыСрезПоследних.Цена * ТоварыНаСкладахОстатки.КоличествоОстаток КАК Сумма,
| ЦеныНоменклатурыСрезПоследних.Цена * ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК СуммаРезерв,
| ЗаказПокупателя.Контрагент КАК РезервНаОбьекте
|{ВЫБРАТЬ
| Склад.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| СерияНоменклатуры.*,
| Остаток,
| ОстатокРезерв,
| ТипЦен.*,
| Цена,
| Сумма,
| СуммаРезерв,
| РезервНаОбьекте.*}
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыНаСкладахОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыВРезервеНаСкладахОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
| ПО ТоварыВРезервеНаСкладахОстатки.Номенклатура = ЗаказПокупателя.Контрагент
| ПО ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад
| И ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
| И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
| И ТоварыНаСкладахОстатки.СерияНоменклатуры = ТоварыВРезервеНаСкладахОстатки.СерияНоменклатуры
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ) КАК ЦеныНоменклатурыСрезПоследних
| ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
| И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
|{ГДЕ
| ТоварыНаСкладахОстатки.Склад.*,
| ТоварыНаСкладахОстатки.Номенклатура.*,
| ЦеныНоменклатурыСрезПоследних.ТипЦен.*}
|{УПОРЯДОЧИТЬ ПО
| Номенклатура.*}
|ИТОГИ
| СУММА(Остаток),
| СУММА(ОстатокРезерв),
| МАКСИМУМ(Цена),
| СУММА(Сумма),
| СУММА(СуммаРезерв)
|ПО
| ОБЩИЕ
|{ИТОГИ ПО
| Склад.*,
| Номенклатура.*}
|АВТОУПОРЯДОЧИВАНИЕ";
// УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "Склад", "Склад");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "Номенклатура", "Номенклатура");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "ХарактеристикаНоменклатуры", "Характеристика номенклатуры");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "СерияНоменклатуры", "Серия номенклатуры");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "ТипЦен", "Тип цен");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить( "РезервНаОбьекте", "Резерв на обьекте");
// Добавление показателей
// Необходимо вызывать для каждого добавляемого показателя.
// УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>);
УниверсальныйОтчет.ДобавитьПоказатель("Цена", "Цена", Истина, "ЧЦ=15; ЧДЦ=2", "Цена", "Цена");
УниверсальныйОтчет.ДобавитьПоказатель("Остаток", "Общее кол-во на складе", Истина, "ЧЦ=15; ЧДЦ=3", "Количество", "Количество");
УниверсальныйОтчет.ДобавитьПоказатель("ОстатокРезерв", "Общее кол-во на обьекте", Истина, "ЧЦ=15; ЧДЦ=3", "Количество", "Количество");
УниверсальныйОтчет.ДобавитьПоказатель("Сумма", "Сумма остаток", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма");
УниверсальныйОтчет.ДобавитьПоказатель("СуммаРезерв", "Сумма остаток в резерве", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма");
УниверсальныйОтчет.ДобавитьПоказатель("РезервНаОбьекте", "Резерв на обьекте", Истина, "ЧЦ=15; ЧДЦ=3", "Резерв на обьекте", "Резерв на обьекте");
// Добавление предопределенных группировок строк отчета.
// Необходимо вызывать для каждой добавляемой группировки строки.
// УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Склад");
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура");
ЮлияЛебешева @ Сегодня, 16:30
,
У нас обьект это и есть контрагент.... Я поле добавила Резерв на обьекте, как его настроить чтоб оно показало на ком стоит резерв номенклатуры
Автор: a1987mar 15.05.18, 15:36
а стандартний звіт АНАЛІЗ ЗАКАЗОВ ПОКУПАТЕЛЕЙ - не підходить
Автор: ЮлияЛебешева 15.05.18, 15:39
a1987mar @ Сегодня, 16:36
,
к сожалению нет( нужна одна общая таблица для отчетности
ЮлияЛебешева @ Сегодня, 16:38
,
Нужно чтоб человек глядя на отчет понимал сколько у него молотков вообще на складе сколько из низ в резерве и на ком они в резерве
Автор: Bernet 15.05.18, 15:40
ЮлияЛебешева @ Сегодня, 16:34
,
В вашем случае тогда должна быть группировка по Заказу покупателя, раз оттуда Контрагента тащите.
Добавьте:
1. ЗаказПокупателя в выбранные поля в запросе
2. ЗаказПокупателя в группировки
Цитата
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ЗаказПокупателя");
3. Теперь можно вывести контрагента как дополнительное поле (пример):
// УниверсальныйОтчет.ДобавитьДополнительноеПоле(<ПутьКДанным>, <Размещение>, <Положение>);
Автор: a1987mar 15.05.18, 15:53
В вас в запросі не відображало Контрагента. Попробуйте цей запрос
КодВЫБРАТЬ РАЗРЕШЕННЫЕ
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
ТоварыНаСкладахОстатки.СерияНоменклатуры,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ОстатокРезерв,
ЦеныНоменклатурыСрезПоследних.ТипЦен,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Цена * ТоварыНаСкладахОстатки.КоличествоОстаток КАК Сумма,
ЦеныНоменклатурыСрезПоследних.Цена * ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК СуммаРезерв,
ТоварыВРезервеНаСкладахОстатки.ДокументРезерва.Контрагент
{ВЫБРАТЬ
Склад.*,
Номенклатура.*,
ХарактеристикаНоменклатуры.*,
СерияНоменклатуры.*,
Остаток,
ОстатокРезерв,
ТипЦен.*,
Цена,
Сумма,
СуммаРезерв}
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыВРезервеНаСкладахОстатки
ПО ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад
И ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
И ТоварыНаСкладахОстатки.СерияНоменклатуры = ТоварыВРезервеНаСкладахОстатки.СерияНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ) КАК ЦеныНоменклатурыСрезПоследних
ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
{ГДЕ
ТоварыНаСкладахОстатки.Склад.*,
ТоварыНаСкладахОстатки.Номенклатура.*,
ЦеныНоменклатурыСрезПоследних.ТипЦен.*}
{УПОРЯДОЧИТЬ ПО
Номенклатура.*}
{ИТОГИ ПО
Склад.*,
Номенклатура.*}
АВТОУПОРЯДОЧИВАНИЕ
Можете ще зразу добавити колонку ВІЛЬНИЙ ЗАЛИШОК або НЕМАЄ НА ЗАЛИШКУ
Автор: ЮлияЛебешева 15.05.18, 16:04
a1987mar @ Сегодня, 16:53
,
Выбивает ощибку поле не найдено(
Автор: a1987mar 15.05.18, 16:06
ТоварыВРезервеНаСкладахОстатки.ДокументРезерва.Контрагент - попробуйте з запроса забрати дане поле. Чи буде видавати помилку
КодВЫБРАТЬ РАЗРЕШЕННЫЕ
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры,
ТоварыНаСкладахОстатки.СерияНоменклатуры,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ОстатокРезерв,
ЦеныНоменклатурыСрезПоследних.ТипЦен,
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Цена * ТоварыНаСкладахОстатки.КоличествоОстаток КАК Сумма,
ЦеныНоменклатурыСрезПоследних.Цена * ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК СуммаРезерв,
ЗаказПокупателя.Контрагент
{ВЫБРАТЬ
Склад.*,
Номенклатура.*,
ХарактеристикаНоменклатуры.*,
СерияНоменклатуры.*,
Остаток,
ОстатокРезерв,
ТипЦен.*,
Цена,
Сумма,
СуммаРезерв}
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыВРезервеНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя
ПО ТоварыВРезервеНаСкладахОстатки.ДокументРезерва = ЗаказПокупателя.Ссылка
ПО ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад
И ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
И ТоварыНаСкладахОстатки.СерияНоменклатуры = ТоварыВРезервеНаСкладахОстатки.СерияНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ) КАК ЦеныНоменклатурыСрезПоследних
ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
{ГДЕ
ТоварыНаСкладахОстатки.Склад.*,
ТоварыНаСкладахОстатки.Номенклатура.*,
ЦеныНоменклатурыСрезПоследних.ТипЦен.*}
{УПОРЯДОЧИТЬ ПО
Номенклатура.*}
{ИТОГИ ПО
Склад.*,
Номенклатура.*}
АВТОУПОРЯДОЧИВАНИЕ
Автор: ЮлияЛебешева 15.05.18, 16:07
ЮлияЛебешева @ Сегодня, 17:04
,
Еще может быть что одна и та же номенклатура в резерве у разных покупателей
тоесть:
2 молотка у Пети и 3 у Леши
у меня показывает только что всего нас складе 10 и 5 из них в резерве
а надо чтоб показывало еще 2 молотка у Пети и 3 у Леши
Автор: a1987mar 15.05.18, 16:09
запрос мав би правцювати. Він не правильно буде відображати залишок на складі
Автор: ЮлияЛебешева 15.05.18, 16:13
a1987mar @ Сегодня, 17:06
,
Уже выбивает синтатическая ошибка Из
Прошу прощения вынуждена покинуть своё рабочее место( Завтра бутру рада снова обсудить эту тему....Всем спасибо кто помогает
Автор: Vofka 15.05.18, 16:32
ЮлияЛебешева, завтра с самого утра настоятельно советую ознакомиться с http://pro1c.org.ua/index.php?act=announce&f=36&id=2.
Автор: ЮлияЛебешева 16.05.18, 7:58
Vofka @ Вчера, 17:32
,
Доброе утро! Прошу прощения если что то нарушила, с правилами ознакомилась)
Автор: ЮлияЛебешева 22.05.18, 12:05
Добрый день! Получилось сделать чтоб отчет выводил контрагента на котором заказ, теперь беда в другом, колонку общее кол-во на сладе выдает к каждому контрагенту, а не одна общая колонка с кол-вом на складе. Что не так?
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| РегЗаказы.Склад КАК Склад,
| ПРЕДСТАВЛЕНИЕ(РегЗаказы.Склад),
| РегЗаказы.ДокументРезерва КАК ДокументРезерва,
| ПРЕДСТАВЛЕНИЕ(РегЗаказы.ДокументРезерва),
| РегЗаказы.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕ(РегЗаказы.Номенклатура),
| РегЗаказы.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ПРЕДСТАВЛЕНИЕ(РегЗаказы.ХарактеристикаНоменклатуры),
| РегЗаказы.СерияНоменклатуры КАК СерияНоменклатуры,
| ПРЕДСТАВЛЕНИЕ(РегЗаказы.СерияНоменклатуры),
| РегЗаказы.КоличествоОстаток КАК КоличествоОстаток,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК ОбщееКоличествоНаСкладе,
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура1
|{ВЫБРАТЬ
| Склад.*,
| ДокументРезерва.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| СерияНоменклатуры.*,
| КоличествоОстаток,
| ОбщееКоличествоНаСкладе}
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыНаСкладахОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, ) КАК РегЗаказы
| ПО ТоварыНаСкладахОстатки.Склад = РегЗаказы.Склад
| И ТоварыНаСкладахОстатки.Номенклатура = РегЗаказы.Номенклатура
|{ГДЕ
| РегЗаказы.Склад.*,
| РегЗаказы.ДокументРезерва.*,
| РегЗаказы.Номенклатура.*,
| РегЗаказы.ХарактеристикаНоменклатуры.*,
| РегЗаказы.СерияНоменклатуры.*,
| РегЗаказы.КоличествоОстаток}
|{УПОРЯДОЧИТЬ ПО
| Склад.*,
| ДокументРезерва.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| СерияНоменклатуры.*,
| КоличествоОстаток}
|ИТОГИ
| СУММА(КоличествоОстаток),
| СУММА(ОбщееКоличествоНаСкладе)
|ПО
| ОБЩИЕ
|{ИТОГИ ПО
| Склад.*,
| ДокументРезерва.*,
| Номенклатура.*,
| ХарактеристикаНоменклатуры.*,
| СерияНоменклатуры.*}
|АВТОУПОРЯДОЧИВАНИЕ
// УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>);
УниверсальныйОтчет.ДобавитьПоказатель("ОбщееКоличествоНаСкладе", "Количество на складе", Истина, "ЧЦ=15; ЧДЦ=3","Количество на складе", );
Автор: sava1 22.05.18, 13:36
Цитата(ЮлияЛебешева @ 22.05.18, 13:05)
одна общая колонка с кол-вом на складе
1.Это как ?
2. Вы сами так прописали - Остатки у Вас присоеденены по номенклатура/склад - чего-же Вы хотите ?
Автор: ЮлияЛебешева 22.05.18, 15:17
На данный момент отчет показывае номенклатуру , кол-во резерва, на ком резерв, и общее кол-во на складе. Но когда показывает сразу несколько контрагентов он каждому добавляет колонку общее кол-во на складе(
тоесть
молоток в резерве 1 у Васи всего на складе 5, в резерве 5 у Пети всего на складе 5.
а нужно
молоток всего на складе 5, у Васи 1, у Пети 5
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua