Вопрос № 162556: Отчет выводит как на рис.1. А надо, чтобы в дебет счета 10.3.2 и далее все что к нему относится, В дебет счета 10.3 и далее все что к нему относится. А он, как видно на рисунке В дебет счета пишет для каждого вида номенклатуры. Что в коде исправить ...
Вопрос № 162562: Добрый день. Используется 1С 7.7, "Комплексная конфигурация". Подскажите как сделать что-бы при выписке счета, в распечатке цена округлялась до
трех знаков....
Вопрос № 162.556
Отчет выводит как на рис.1. А надо, чтобы в дебет счета 10.3.2 и далее все что к нему относится, В дебет счета 10.3 и далее все что к нему относится. А он, как видно на рисунке В дебет счета пишет для каждого вида номенклатуры. Что в коде исправить можно?
Запрос = Новый Запрос("ВЫБРАТЬ | ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетДт, | ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК Номенклатура, |
ХозрасчетныйДвиженияССубконто.СубконтоКт1 КАК ФизическоеЛицо, | СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма, | ХозрасчетныйДвиженияССубконто.Регистратор КАК Документ, | СУММА(ХозрасчетныйДвиженияССубконто.КоличествоДт) КАК Количество, | ХозрасчетныйДвиженияССубконто.СубконтоКт1.Код КАК ТабельныйНомер, | Хозра
счетныйДвиженияССубконто.СубконтоДт1.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения, | ХозрасчетныйДвиженияССубконто.СчетДт.Код КАК Код, | ХозрасчетныйДвиженияССубконто.СчетДт.Наименование КАК ИмяСчета |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто( | &НачПериода, | &КонПериода,
| СчетДт В ИЕРАРХИИ (&Счет10_3) | И СчетКт В ИЕРАРХИИ (&Счет71_1)) КАК ХозрасчетныйДвиженияССубконто | |СГРУППИРОВАТЬ ПО | ХозрасчетныйДвиженияССубконто.СчетДт, | ХозрасчетныйДвиженияССубконто.СубконтоДт1, | ХозрасчетныйДвиженияССубконто.СубконтоКт1,
| ХозрасчетныйДвиженияССубконто.Регистратор, | ХозрасчетныйДвиженияССубконто.СубконтоКт1.Код, | ХозрасчетныйДвиженияССубконто.СубконтоДт1.БазоваяЕдиницаИзмерения |ИТОГИ | СУММА(Сумма), | СУММА(Количество) |ПО | ОБЩИЕ, | СчетДт, | Номенклатура,
| ФизическоеЛицо");
ВыборкаОбщие = Результат.Выбрать(ОбходРезультатаЗапроса.По
Группировкам); Пока ВыборкаОбщие.Следующий() Цикл ВыборкаСчет = ВыборкаОбщие.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСчет.Следующий() Цикл ВыборкаНоменклатура = ВыборкаСчет.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл Выборка = ВыборкаНоменклатура.Выбрать(); ОбластьСчетДт.Параметры.Заполнить(ВыборкаНоменклатура); ТабДок.Вывести(ОбластьСчетДт,1);
ВыборкаФизЛицо = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаФизЛицо.Следующий() Цикл Выборка = ВыборкаФизЛицо.Выбрать();
Пока Выборка.Следующий() Цикл ОбластьДетали.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОбластьДетали);
КонецЦикла; КонецЦикла; ОбластьИтогПоСчету.Параметры.Заполнить(ВыборкаСчет); ТабДок.Вывести(ОбластьИтогПоСчету); //заполнение итогово по счету в макете КонецЦикла; ОбластьИтоги.Параметры.Заполнить(ВыборкаОбщие); ТабДок.Вывести(ОбластьИтоги); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок();
Отправлен: 17.03.2009, 11:09
Вопрос задал: Егоров Виталий Александрович
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 8)
Отвечает: Полякова Ирина Николаевна
Здравствуйте, Егоров Виталий Александрович! В макете надо выделить две области для группировки по счетам и для группировки по номенклатуре.
В коде написать так: ВыборкаОбщие = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаОбщие.Следующий() Цикл ВыборкаСчет = ВыборкаОбщие.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСчет.Следующий() Цикл //добавить вывод области группировки по счету ОбластьСчетДт.Параметры.Заполнить(ВыборкаСчет); ТабДок.Вывести(ОбластьСчетДт);
ВыборкаНоменклатура
= ВыборкаСчет.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаНоменклатура.Следующий() Цикл //Выборка = ВыборкаНоменклатура.Выбрать();//эта строка не нужна //ОбластьСчетДт.Параметры.Заполнить(ВыборкаНоменклатура); //выводим область группировки по номенклатуре ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура); //ТабДок.Вывести(ОбластьСчетДт,1); Та
бДок.Вывести(ОбластьНоменклатура);
ВыборкаФизЛицо = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаФизЛицо.Следующий() Цикл Выборка = ВыборкаФизЛицо.Выбрать();
Пока Выборка.Следующий() Цикл ОбластьДетали.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОбластьДетали); КонецЦикла; ОбластьИтогиПоГруппировке.Параметры.Заполнить(ВыборкаФизЛицо); ТабДок.Вывести(ОбластьИтогиПоГруппировке); КонецЦикла; КонецЦикла; ОбластьИтогПоСчету.Параметры.Заполнить(ВыборкаСчет); ТабДок.Вывести(ОбластьИтогПоСчету); //заполнение
итогово по счету в макете КонецЦикла; ОбластьИтоги.Параметры.Заполнить(ВыборкаОбщие); ТабДок.Вывести(ОбластьИтоги); КонецЦикла;
--------- Деньги склока, а без них плохо...
#thank 245485 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 162.562
Добрый день. Используется 1С 7.7, "Комплексная конфигурация". Подскажите как сделать что-бы при выписке счета, в распечатке цена округлялась до трех знаков.
Отвечает: Анатолий Ясень
Уважаемый Сергей Николаевич,
в макете счета найдите ячейку на пересечении секции "Строка" и колонки "Цена". Замените выражение глФРМ(Цена) на Цена и установите свойства ячейки так, чтобы точность числа была 3 знака.
--------- Только вперед!
Ответ отправил: Анатолий Ясень (статус: 8-й класс)
Ответ отправлен: 17.03.2009, 13:11
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245490 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Владимир Лазурко
Здравствуйте, Грабко Сергей Николаевич!
Дополню ответ Анатолия: Измените процедуру глФРМ(Цена) так, как у меня в Приложении и у Вас получится унифицированная функция. Если не задавать второй параметр - будет округление до 2-х знаков после запятой. А там, где нужна другая точность - вторым параметром укажите нужное число знаков. Если передано пустое значение или ноль, функция возвращает пустую строку.
Успехов! С уважением, Владимир.
Приложение:
--------- И как хотите, чтобы с вами поступали люди, так и вы поступайте с ними. (Евангелие от Луки, 6:31, совр. перевод)
Ответ отправил: Владимир Лазурко (статус: Практикант)
Ответ отправлен: 17.03.2009, 16:03
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245500 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.