Шаг 377 - А если очень хочется субсчет - продолжение (на примере акта выполнения услуг)

А еще может безумно хочется, несмотря на все доводы, услуги раскидывать по субсчетам. Наше дело поросячье – сказали сделал. Так как в одном акте может быть много типов услуг, которые конечно хоть раз в год должны разделяться по разным субсчетам. Добавляем.

377_1.gif (4626 b)

И на форму.

377_2.gif (3681 b)

С проведением немного сложнее. При проведении создается таблица значений, которая используется для группировки проводки. Сначала нам нужно добавить новое значение в таблицу значений:

............
ТаблицаРеализации = СоздатьОбъект("ТаблицаЗначений");
ТаблицаРеализации.НоваяКолонка("ВидНоменклатуры");
ТаблицаРеализации.НоваяКолонка("СтавкаНДС");
ТаблицаРеализации.НоваяКолонка("СтавкаНП");
ТаблицаРеализации.НоваяКолонка("Всего");
ТаблицаРеализации.НоваяКолонка("НП"); 
ТаблицаРеализации.НоваяКолонка("СчетКредита");
............

Потом не забыть заполнять при выборе:

............
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
	ТаблицаРеализации.НоваяСтрока();
	ТаблицаРеализации.ВидНоменклатуры = Услуга.ВидНоменклатуры;
	ТаблицаРеализации.СтавкаНДС = глСтавкаНалога(Контекст, "НДС");
	ТаблицаРеализации.СтавкаНП = глСтавкаНалога(Контекст, "НП");
	ТаблицаРеализации.Всего = Всего;
	ТаблицаРеализации.НП = НП;  
	ТаблицаРеализации.СчетКредита=СчетКредита;
КонецЦикла;
............

Таблица будет свернута и это нужно учесть.

............
ТаблицаРеализации.Свернуть("ВидНоменклатуры, СтавкаНДС, СтавкаНП,СчетКредита","Всего, НП");
............

Дальше для проведения выбираются строки из таблицы. Вот тут-то мы и подсунем наш счет.

............
ТаблицаРеализации.ВыбратьСтроки();
	Пока ТаблицаРеализации.ПолучитьСтроку() = 1 Цикл
		Операция.НоваяПроводка();
		Операция.СодержаниеПроводки = "Учтена выручка";
		Операция.НомерЖурнала = "ТВ";
		Операция.Дебет.Счет = СчетРасчетовСПокупателем;
		Операция.Дебет.Контрагенты = Контрагент;
		Операция.Дебет.Договоры = Договор;
		Операция.Дебет.ВидыРасчетовСпокупателями = Перечисление.ВидыРасчетовСПокупателями.РасчетыЗаПродукциюРаботыУслуги;
		Операция.Кредит.Счет =ТаблицаРеализации.СчетКредита;
		Операция.Кредит.ВидыНоменклатуры = ТаблицаРеализации.ВидНоменклатуры;
............

Можно заполнять документ.

377_3.gif (8537 b)

Смотрим проведение.

377_4.gif (10871 b)

Но, если два вида услуг пойдут на один субсчет суммы будут свернуты в одну, не вздумайте испугаться и подумать, что где-то ошибка.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 14.12.2002