Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
20 Янв 2017, 19:12
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Ведомость по продукции на складах в ценах номенклатуры в 1С  (Прочитано 347 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 1cwiki

  • Модератор
  • *****
  • Сообщений: 8287
  • РЕПУТАЦИЯ: 6
  • КПД: 0%
  • Регистрация: 2014-08-05
  • Сайт: 
  • Профессия: Программист 8.1
Первое, что нужно сделать, это в параметры схемы компоновки отчета под названием «ВедомостьПоТоварамНаСкладахВЦенахНоменклатуры» добавить новый параметр с именем «ВалютаОтчёта». Тип — «СправочникСсылка.Валюта», который необходимо использовать всегда:

Скрин 1

Далее добавьте новое поле в итоговый запрос, а также следующую конструкцию:

ВЫБОР
КОГДА &ВалютаОтчёта = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
ТОГДА ВидыЦен.ВалютаЦены
ИНАЧЕ &ВалютаОтчёта
КОНЕЦ КАК ВалютаДляОтчёта

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

С целью упрощения нужно будет итоговую таблицу поместить во временную таблицу с именем «ПредИтог». После этого создайте  новый запрос для того, что бы туда поместить всю предыдущую таблицу, а также 2 новые виртуальные: «Курсы Отчёта» и «Курсы Цены» (срез последних регистра сведений с именем «КурсыВалют»):

Скрин 2

Далее для 2 новых временных таблиц внесите параметр под названием «&Период»:

Скрин 3

Таблица с именем «Курсы Цены» имеет курс, что указан для этого вида цена, а таблица под названием «Курсы Отчёта» имеет курс для валюты, которая указана в отчете.

После этого таблицу «Курсы Цены» свяжите по полю с именем  «Валюта», а таблицу под названием «Курсы Отчёта» - по полю под названием «Валюта Для Отчета».

Скрин 4

Далее замените поля сумм «Сумма Начальный Остаток», «Сумма Приход», «Сумма Расход» и «Сумма КонечныйОстаток» на новые, вычисляемые поля, с помощью добавления конструкции «* Курсы Цены. Курс * Курсы Отчёта. Кратность/(Курсы Цены. Кратность * Курсы Отчёта. Курс)»:

ПредИтог.СуммаНачальныйОстаток * КурсыЦены.Курс * КурсыОтчёта.Кратность / (КурсыЦены.Кратность * КурсыОтчёта.Курс) КАК СуммаНачальныйОстаток,
ПредИтог.СуммаПриход * КурсыЦены.Курс * КурсыОтчёта.Кратность / (КурсыЦены.Кратность * КурсыОтчёта.Курс) КАК СуммаПриход,
ПредИтог.СуммаРасход * КурсыЦены.Курс * КурсыОтчёта.Кратность / (КурсыЦены.Кратность * КурсыОтчёта.Курс) КАК СуммаРасход,
ПредИтог.СуммаКонечныйОстаток * КурсыЦены.Курс * КурсыОтчёта.Кратность / (КурсыЦены.Кратность * КурсыОтчёта.Курс) КАК СуммаКонечныйОстаток,

Что касается запроса, то мы сделали все. Теперь переходим к настройкам отображения отчета.

Скрин 5

После этого включите в пользовательские настройки новые параметры. Одному из них – параметру под названием «Период» задайте представление с именем «Дата курса валюты», с целью лучшей наглядности.

Потом в группировках и выбранных полях поле под названием «Валюта» замените  на поле с именем «ВалютаДляОтчёта»:

Скрин 6

С целью реализации требования заполните поля с именем «Валюты» в момент выбора типа цены нужно сформировать форму отчета по умолчанию и в обработчик «При Изменении»:

Скрин 7

Где прописать нижеуказанный программный код:

&НаКлиенте
Процедура КомпоновщикНастроекПользовательскиеНастройкиПриИзменении(Элемент)
Настройка = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.ПолучитьОбъектПоИдентификатору(Элемент.ТекущаяСтрока);
Если Настройка <> Неопределено
И Настройка.Параметр = Новый ПараметрКомпоновкиДанных(«ВидЦены») тогда
НастройкаВалюты = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(Отчет.КомпоновщикНастроек.ПользовательскиеНастройки,»ВалютаОтчёта»);
Если НастройкаВалюты <> Неопределено Тогда
НастройкаВалюты.Значение=ВалютаВидаЦены(Настройка.Значение);
Конецесли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ВалютаВидаЦены(ВидЦены)
Возврат ВидЦены.ВалютаЦены;
КонецФункции

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>


Теги:
 


* Живое общение

Не устроил ответ?

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


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
162 Сообщений
alex0402
69 Сообщений
MuI_I_Ika MuI_I_Ika
45 Сообщений
LexaK
36 Сообщений
alexandr_ll
34 Сообщений
crow1983
31 Сообщений
sertak sertak
27 Сообщений
Vzonder
22 Сообщений
BuhRust
20 Сообщений
дфтын дфтын
17 Сообщений

* Кто онлайн

  • Точка Гостей: 329
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal