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

кнопка Дт / Кт

Автор sali, 02 дек 2024, 10:32

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

antoneus

Потому что группировать по сумме не надо, сумму надо суммировать.

sali

antoneus, я убирал поле суммы с группировки в суммируемое поле, но не помогало.

sali

antoneus:mellow:  :mellow:  :( я извиняюсь , что у вас за колдовство??? я вот только пробовал как вы сказали и вообще никуда ни совать (группировка/суммарное поле) не получалось. а сейчас вышло :kmtu:

antoneus

Эффект присутствия.

sali

Максим75, скажите пожалуйста, строка в процедуре СформироватьОтчет это что за массив ?
&НаСервере
Процедура СформироватьОтчет()

Если Не ЗначениеЗаполнено(Отчет.Документ) Тогда
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Не выбран документ!'"), , "Отчет.Документ");
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст="Не выбран документ";
Сообщение.Сообщить();
Возврат;
КонецЕсли;

Если Не ЗначениеЗаполнено(СпособВыводаОтчета) Тогда
СпособВыводаОтчета = Перечисления.СпособВыводаОтчета.ПоВертикали;
КонецЕсли;

ТабличныйДокумент.Очистить();

Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет");

МетаданныеДокумента = Отчет.Документ.Метаданные();
[b]МассивРегистров     = ПроведениеРасчетов.ПолучитьМассивИспользуемыхРегистров(Отчет.Документ, МетаданныеДокумента.Движения);[/b]

Для Каждого МетаданныеРегистра Из МетаданныеДокумента.Движения Цикл

Если МассивРегистров.Найти(МетаданныеРегистра.Имя) = Неопределено Тогда
Продолжить;
КонецЕсли;

ВывестиДанныеПоРегистру(МетаданныеРегистра, Макет);

КонецЦикла;

КонецПроцедуры

Максим75

sali, в общем модуле ПроведениеРасчетов есть функция с таким именем

вот ее текст:

// Функция формирует массив имен регистров, по которым документ имеет движения.
// Вызывается при подготовке записей к регистрации движений.
//
Функция ПолучитьМассивИспользуемыхРегистров(Регистратор, Движения, МассивИсключаемыхРегистров = Неопределено) Экспорт

Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Регистратор", Регистратор);

Результат = Новый Массив;
МаксимумТаблицВЗапросе = 256;

СчетчикТаблиц   = 0;
СчетчикДвижений = 0;

ВсегоДвижений = Движения.Количество();
ТекстЗапроса  = "";
Для Каждого Движение Из Движения Цикл

СчетчикДвижений = СчетчикДвижений + 1;

ПропуститьРегистр = МассивИсключаемыхРегистров <> Неопределено
И МассивИсключаемыхРегистров.Найти(Движение.Имя) <> Неопределено;

Если Не ПропуститьРегистр Тогда

Если СчетчикТаблиц > 0 Тогда

ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ ВСЕ
|";

КонецЕсли;

СчетчикТаблиц = СчетчикТаблиц + 1;

ТекстЗапроса = ТекстЗапроса +
"
|ВЫБРАТЬ ПЕРВЫЕ 1
|""" + Движение.Имя + """ КАК ИмяРегистра
|
|ИЗ " + Движение.ПолноеИмя() + "
|
|ГДЕ Регистратор = &Регистратор
|";

КонецЕсли;

Если СчетчикТаблиц = МаксимумТаблицВЗапросе Или СчетчикДвижений = ВсегоДвижений Тогда

Запрос.Текст  = ТекстЗапроса;
ТекстЗапроса  = "";
СчетчикТаблиц = 0;

Если Результат.Количество() = 0 Тогда

Результат = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ИмяРегистра");

Иначе

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Результат.Добавить(Выборка.ИмяРегистра);
КонецЦикла;

КонецЕсли;
КонецЕсли;
КонецЦикла;

Возврат Результат;

КонецФункции

просто в конфигурации создайте общий модуль с нужным именем и туда эту функцию скопируйте.
я же сразу написал, найдите это в типовой и скопируйте.

sali

Цитата: Максим75 от 03 дек 2024, 11:23есть функция с таким именем
есть.....только распределение на клиент/сервер

sali

Цитата: Максим75 от 03 дек 2024, 11:23, найдите это в типовой и скопируйте.
таки искал, по разным схожим именам

Теги:

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

Рейтинг@Mail.ru

Поиск