Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
07 ноя 2024, 07:36

Счет на оплату по старой и новой ставке

Автор sali, 30 окт 2024, 10:53

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

Максим75

Цитата: sali от 05 ноя 2024, 11:58Максим75, большинство из этого в регистре сведений начисления по контрагентам извещения. там и документ, контрагент, цена, цена по проборам учета, договор аренды, безнал расчет(да/нет), сумма ндс/нсп/всего
ну если у Вас каким-то образом так сделали, что все это хранится в регистре сведений (а не в оборотном регистре), то берите регистр сведений (не срез последних, не срез первых) и там у Вас будет период (дата на шкале времени где находится запись). Вот и отбирайте за нужный период, т.е. накладывайте условие где период между нужными Вам датами. Дальше группируете на договору, контрагенту, виду оплаты, прибору учета и цене и
получите какая сумма была начислена по данной цене.

sali

Максим75, а как переписать условие параметра таблицы регистратор = &регистратор это в рс начисления по контрагентам извещения(срез последних) делалось, а в рс показания счетчиков(срез последних) выбирался регистратор с ссылкой на документ??

я когда выбирал регистратор там был список документов и выбирал нужный документ в показания счетчиков, а в начисления по контрагентам извещения просто регистратор выбирал, правильно так?

sali

Максим75, alexandr_ll, ВЫБРАТЬ
НачисленияПоКонтрагентам_Извещения.Контрагент.НаименованиеПолное КАК Контрагент,
НачисленияПоКонтрагентам_Извещения.ПриборУчета КАК ПриборУчета,
НачисленияПоКонтрагентам_Извещения.ЦенаПоприборамУчета КАК ЦенаПоприборамУчета,
НачисленияПоКонтрагентам_Извещения.Цена КАК Цена,
НачисленияПоКонтрагентам_Извещения.Регистратор КАК Регистратор,
НачисленияПоКонтрагентам_Извещения.ОбъектНедвижимости.ПолезнаяПлощадьОбъектаНедвижимости КАК Метры,
НачисленияПоКонтрагентам_Извещения.СуммаНСП КАК НСП,
НачисленияПоКонтрагентам_Извещения.СуммаВсего КАК ВсегоСУчетомНалогов,
НачисленияПоКонтрагентам_Извещения.СуммаНДС КАК НДС,
НачисленияПоКонтрагентам_Извещения.ОбъектНедвижимости КАК Объект,
НачисленияПоКонтрагентам_Извещения.СуммаБезУчетаНалогов КАК Всего,
НачисленияПоКонтрагентам_Извещения.БезНаличныйРасчет КАК БезНаличныйРасчет,
НачисленияПоКонтрагентам_Извещения.Документ КАК Документ,
НачисленияПоКонтрагентам_Извещения.Номенклатура КАК Номенклатура,
НачисленияПоКонтрагентам_Извещения.ДоговорАренды КАК ДоговорАренды,
ПоказанияСчетчиковОбъектовНедвижимости.Показание КАК ПоказаниеНаКонецПериода,
ПоказанияСчетчиковОбъектовНедвижимости.ДоговорКонтрагента КАК ДоговорКонтрагента,
ПоказанияСчетчиковОбъектовНедвижимости.Услуга КАК Услуга,
ПоказанияСчетчиковОбъектовНедвижимости.ФактическоеОкончание КАК ФактическоеОкончание,
ПоказанияСчетчиковОбъектовНедвижимости.ФактическоеНачало КАК ФактическоеНачало,
ПоказанияСчетчиковОбъектовНедвижимости.РазницаПоказаний КАК Разница,
ПоказанияСчетчиковОбъектовНедвижимости.РазницаФакт КАК РазницаФакт,
ПоказанияСчетчиковОбъектовНедвижимости.Показание - ПоказанияСчетчиковОбъектовНедвижимости.РазницаПоказаний КАК ПоказаниНаНачалоПериода
ИЗ
РегистрСведений.НачисленияПоКонтрагентам_Извещения КАК НачисленияПоКонтрагентам_Извещения
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПоказанияСчетчиковОбъектовНедвижимости КАК ПоказанияСчетчиковОбъектовНедвижимости
ПО (НачисленияПоКонтрагентам_Извещения.Документ = ПоказанияСчетчиковОбъектовНедвижимости.Регистратор)
И (НачисленияПоКонтрагентам_Извещения.ПриборУчета = ПоказанияСчетчиковОбъектовНедвижимости.ПриборУчета)
ГДЕ
ПоказанияСчетчиковОбъектовНедвижимости.Период МЕЖДУ &НачалоПериода И &КонецПериода
И НачисленияПоКонтрагентам_Извещения.Номенклатура.Наименование ПОДОБНО "%электроэнергию%"

вот код сделал. он выводит все четко что и как нужно

sali

Максим75, но теперь вопрос как его вставить в конфигуратор с консоли запросов? а точнее как изменить период? ведь на форме только выбор одного числа[КОПИЯ] АврораГрупп 06.11.2024 13_38_48.png
а у меня стоит между. если я оставляю ",,,.Период = &Период" то таблица выходит без данных

sali


sali

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

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

//Запрос2.УстановитьПараметр("Контрагент", Объект.Контрагент);
//Запрос2.УстановитьПараметр("Период", Объект.Период);
//Запрос2.УстановитьПараметр("Документ",Объект.Документ);
//Запрос2.УстановитьПараметр("ПериодК", КонецМесяца(Объект.Период));

Запрос.УстановитьПараметр("Контрагент", Объект.Контрагент);
Запрос.УстановитьПараметр("Период", Объект.Период);
Запрос.УстановитьПараметр("ПериодК", КонецМесяца(Объект.Период));

//Запрос.УстановитьПараметр("Услуга", Объект.Услуга);
Запрос1.УстановитьПараметр("Контрагент", Объект.Контрагент);
Запрос1.УстановитьПараметр("Период", Объект.Период);
Запрос1.УстановитьПараметр("ПериодК", КонецМесяца(Объект.Период));

// Запрос5.УстановитьПараметр("Контрагент", Объект.Контрагент);
// Запрос5.УстановитьПараметр("Период", НачалоМесяца(Объект.Период));
// Запрос5.УстановитьПараметр("ПериодК", КонецМесяца(Объект.Период));

//Запрос6.УстановитьПараметр("Контрагент", Объект.Контрагент);
//Запрос6.УстановитьПараметр("Период", Объект.Период);
//Запрос6.УстановитьПараметр("ПериодК", КонецМесяца(Объект.Период));

//Запрос1.УстановитьПараметр("Услуга", Объект.Услуга);

ДанныеОрганизации = Запрос1.Выполнить();
ДанныеНачисления = ЗапросНач.Выполнить();

Максим75

sali, может потому, что они РАЗНЫЕ. в одном запросе в условии период между двумя параметрами, а во втором просто период равен чему-то.
Вы действительно не видите, что это разные запросы?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск