Жизнь замечательных грибов
И что мы тут видим? Определение СН идет по выборке из регистра РегистрСведений.СистемыНалогообложенияОрганизаций. Четко видим что ЕНВД присутствует. Идём в форму заполнения этого регистра и видим:
Можно сделать примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
таб1=новый ТабличныйДокумент(); СКД=Отчеты.ОценкаВаловойПрибыли.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки=СКД.НастройкиПоУмолчанию; ПераметрыСКД=Настройки.ПараметрыДанных.Элементы; прскд=ПераметрыСКД.Найти("Период"); пер=Новый СтандартныйПериод; пер.ДатаНачала=НачалоМесяца(ТекущаяДата()); пер.ДатаОкончания=КонецДня(ТекущаяДата()); прскд=пер; ЭлементОтбора=Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Магазин");//поле отбора ЭлементОтбора.ПравоеЗначение=Справочники.Магазины.НайтиПоНаименованию("Вологда Торговля"); ЭлементОтбора.Использование=Истина; ЭлементОтбора.ИдентификаторПользовательскойНастройки=Новый УникальныйИдентификатор();//добавляет отбор в состав пользовательских настроек Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; //Передаем в макет компоновки схему, настройки и данные расшифровки МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка); ВнешниеПараметры = Новый Структура; //Выполним компоновку с помощью процессора компоновки ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка); //Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(таб1); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина); таб1.Записать("c:\temp\выловая_прибыль.xls",ТипФайлаТабличногоДокумента.XLS); |
Ситуация: при подборе товаров в документе реализации не заполняется автоматически текущим продавцом соответствующий столбец в таблице с товаром.
Это не баг и не ошибка, по гуглу, «так и должно». Но руками выставлять нужного продавца — велика вероятность ошибки. А не заполнять — часть отчетов строится без «продавца». Например «Валовая прибыль».
Решение:
Добавляем подписку на событие для документа «Реализация», с событием «Перед записью». В принципе достаточно добавить что-то вроде:
1 2 3 4 5 6 7 |
Функция ПроверкаЗаполненияПродавца(Источник, Отказ) Экспорт //проверяем заполнена ли табличная часть реализации продаванами или нет для каждого стр из источник.Товары цикл стр.продавец=источник.продавец; конеццикла; /// КонецФункции |
Решение не мое, подсмотрено. Но! Расскажу как реализовано, может кому пригодится.
Итак: в 1С Бухгалтерия приходят платежки из банка, с суммой, и выделенной в поле «назначение платежа» комиссией. Например:
1 2 |
Зачисление средств по операциям с МБК (на основании реестров платежей). Мерчант №121512049. Дата реестра 07.01.2018.СУММА 1215,53 В Т.Ч.Комиссия 24.31 Возврат покупки 0.00/0.00. НДС не облагается. |
Нужно чтоб движения документа выглядели так: