Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к заданию: УТ 10.3 регистр "продажи" при корректировке цены

    • #1
    • 16.03.2015 13:23
    0
    УТ 10.3 делает запись в регистр "продажи" только при корректировке количества. Нужно, чтобы также делались записи при корректировке цены. Цель изменения - отчет валовая прибыль. Он в...  Подробнее>>
    • #2
    • 16.03.2015 13:32
    0
    Модель ситуации в УТ 10.3.30.2
    • #3
    • 16.03.2015 13:32
    0
    Регистр ПродажиСебестоимость
    • #4
    • 16.03.2015 13:36
    0
    И Отчет "Валовая прибыль" за 16.03.2015 - вроде точно. Внутренности отчета тоже глянул - все поддерживает в качестве регистратора. Нужно провести анализ Вашей базы на одном документе. Возможна удаленная работа в Вашем присутствии. Вот все что бегло приходит.
    • #5
    • 16.03.2015 13:47
    0
    Модель ошибки при ИЗМЕНЕНИИ ЦЕНЫ в документе КОРРЕКТИРОВКА РЕАЛИЗАЦИИ УТ 10.3.30.2
    • #6
    • 16.03.2015 13:50
    0
    Видно, что списывает себестоимость некорректно даже в демке и нужно что-то делать с себестоимостью (хоть по регистру, хоть по документу-основанию) при согласовании с заказчиком править алгоритм проведения документа
    Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    	Перем Заголовок, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоУслугам, ТаблицаПоТоварамВозврат, ТаблицаПоТоварамВзаиморасчеты, ТаблицаПоТоварамНДС;
    	Перем ТаблицаПоВзаиморасчетам, ТаблицаПоРасчетам;
    	
    	Если мУдалятьДвижения Тогда
    		ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ);
    	КонецЕсли;
    
    	Если НЕ (КорректироватьБУиНУ ИЛИ КорректироватьНДС) Тогда
    		Возврат;
    	КонецЕсли;
    
    	ПодготовитьСтруктуруШапкиДокумента(Заголовок, СтруктураШапкиДокумента, РежимПроведения);
    
    	// Проверим правильность заполнения шапки документа
    	ПроверитьЗаполнениеШапки(СтруктураШапкиДокумента, Отказ, Заголовок);
    	
    	ПодготовитьТаблицыДокумента(
    		СтруктураШапкиДокумента,
    		ТаблицаПоТоварам,
    		ТаблицаПоУслугам,
    		ТаблицаПоТоварамВозврат,
    		ТаблицаПоТоварамВзаиморасчеты,
    		ТаблицаПоТоварамНДС
    	);
    	
    	//Проверим на возможность проведения в БУ и НУ.
    	Если ОтражатьВБухгалтерскомУчете 
    		ИЛИ ОтражатьВНалоговомУчете
    	Тогда
    		УправлениеВзаиморасчетами.ПроверкаВозможностиПроведенияВ_БУ_НУ(ДоговорКонтрагента, ВалютаДокумента,
    		                                     ОтражатьВБухгалтерскомУчете, ОтражатьВНалоговомУчете, мВалютаРегламентированногоУчета, 
    		                                     Ложь, Отказ, Заголовок, "", СтруктураШапкиДокумента.ВалютаВзаиморасчетов,
    		                                     СтруктураШапкиДокумента.РасчетыВУсловныхЕдиницах);
    	КонецЕсли;
    	
    	Если (СтруктураШапкиДокумента.ВидДоговора <> Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером 
    		ИЛИ ТипЗнч(СтруктураШапкиДокумента.ДокументРеализацииСсылка) = Тип("ДокументСсылка.ОтчетКомиссионераОПродажах"))
    		И НЕ Отказ Тогда
    		
    		СтруктураТаблицыВыручки = Новый структура("НомерСтроки, Номенклатура, ВидЦенности, Ценность, Партия, Услуга 
    		|,СтавкаНДС, Сумма, СуммаВал, НДС, НДСВал, СуммаБезНДС, СуммаБезНДСВал
    		|,Комиссионный,Комитент,ДоговорКомиссии,ВалютаРасчетовСКомитентом
    		|,СуммаСписания, Количество");
    		
    		//Формируем таблицу выручки с нужной структурой и заполняем по таблице услуг
    		ТаблицаВыручки = ОбщегоНазначения.СформироватьТаблицуЗначений(ТаблицаПоУслугам,СтруктураТаблицыВыручки,,Истина);
    		
    		ВыручкаПоТоварам = ОбщегоНазначения.СформироватьТаблицуЗначений(ТаблицаПоТоварамНДС,СтруктураТаблицыВыручки,,Истина);
    		ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ВыручкаПоТоварам,ТаблицаВыручки);
    		
    		ТаблицаВыручки.ЗаполнитьЗначения(Ложь, "Комиссионный");
    		ТаблицаВыручки.ЗаполнитьЗначения(0,    "Количество");
    		
    		ТаблицаАвансов = Новый ТаблицаЗначений;
    		ТаблицаАвансов.Колонки.Добавить("ДокументОплаты");
    		ДвиженияРегистровПодсистемыНДС(СтруктураШапкиДокумента, ТаблицаПоУслугам, ТаблицаВыручки, ТаблицаАвансов, Отказ, Заголовок);
    		
    	КонецЕсли;
    
    	Если СтруктураШапкиДокумента.КорректироватьБУиНУ И НЕ Отказ Тогда
    		
    		ПроводитьПоВзаиморасчетам = СтруктураШапкиДокумента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
    		мСтруктураПараметровВзаиморасчетов.Вставить("ПроводитьПоВзаиморасчетам", ПроводитьПоВзаиморасчетам);
    
    		ТаблицаПоТоварамРеализация    = ТаблицаПоТоварам.СкопироватьКолонки();
    		ТаблицаПоУслугамРеализация    = ТаблицаПоУслугам.СкопироватьКолонки();
    		
    		Для итератор = 0 По Макс(ТаблицаПоТоварам.Количество(), ТаблицаПоУслугам.Количество()) Цикл
    			Если итератор <= ТаблицаПоТоварам.Количество() - 1 Тогда
    				СтрокаТаблицы = ТаблицаПоТоварам.Получить(итератор);
    				
    				Если СтрокаТаблицы.ФлагОперации = ИСТИНА И СтрокаТаблицы.ОтражатьТоварныйУчет Тогда
    					СтрокаТоваровРеализация = ТаблицаПоТоварамРеализация.Добавить();
    					ЗаполнитьЗначенияСвойств(СтрокаТоваровРеализация, СтрокаТаблицы);
    				КонецЕсли;
    			КонецЕсли;
    			Если итератор <= ТаблицаПоУслугам.Количество() - 1 Тогда
    				СтрокаТаблицы = ТаблицаПоУслугам.Получить(итератор);
    				Если СтрокаТаблицы.Количество <> 0.00 И СтрокаТаблицы.ОтражатьТоварныйУчет Тогда
    					СтрокаУслугРеализация = ТаблицаПоУслугамРеализация.Добавить();
    					ЗаполнитьЗначенияСвойств(СтрокаУслугРеализация, СтрокаТаблицы);
    				КонецЕсли;
    			КонецЕсли;
    		КонецЦикла;
    		
    		СтруктураПодготовленныхТаблиц = Новый Структура("Товары, Услуги", ТаблицаПоТоварамВзаиморасчеты, ТаблицаПоУслугам);
    		мСтруктураПараметровВзаиморасчетов.Вставить("СтруктураПодготовленныхТаблиц", СтруктураПодготовленныхТаблиц);
    		УправлениеВзаиморасчетами.ПодготовитьТаблицыДляПроведенияПоВзаиморасчетам(
    			ТаблицаПоВзаиморасчетам,
    			ТаблицаПоРасчетам,
    			ЭтотОбъект,
    			мСтруктураПараметровВзаиморасчетов,
    			СтруктураШапкиДокумента,
    			Отказ,
    			Заголовок
    		);
    
    		// Проверить заполнение ТЧ.
    		ПроверитьЗаполнениеТабличнойЧастиТовары(ТаблицаПоТоварам,      СтруктураШапкиДокумента, Отказ, Заголовок);
    		ПроверитьЗаполнениеТабличнойЧастиУслуги(ТаблицаПоУслугам,      СтруктураШапкиДокумента, Отказ, Заголовок);
    		
    		ПодготовитьПараметрыУчетнойПолитики(Отказ, Заголовок);
    		
    		// Проверить заполнение ТЧ "Состав набора".
    		СтруктураПолей = Новый Структура;
    		СтруктураПолей.Вставить("Номенклатура");
    		СтруктураПолей.Вставить("Количество");
    		СтруктураПолей.Вставить("Цена");
    		ЗаполнениеДокументов.ПроверитьЗаполнениеТабличнойЧасти(ЭтотОбъект, "СоставНабора", СтруктураПолей, Отказ, Заголовок);
    		
    		// Движения по документу
    		Если Не Отказ Тогда
    			// Подготовим таблицу скидок для проведения.
    			ТаблицаПоСкидкам = Новый ТаблицаЗначений();
    			ДвиженияПоРегистрам(
    				РежимПроведения,
    				СтруктураШапкиДокумента,
    				ТаблицаПоТоварамРеализация,
    				ТаблицаПоСкидкам,
    				ТаблицаПоУслугамРеализация,
    				ТаблицаПоТоварамВозврат,
    				ТаблицаПоВзаиморасчетам,
    				ТаблицаПоРасчетам,
                    Отказ,
    				Заголовок
    			);
    		КонецЕсли;
    	КонецЕсли;
    КонецПроцедуры // ОбработкаПроведения()
    
    • #7
    • 16.03.2015 13:58
    0
    Константин, все правильно написали. Выгрузку Вам отправил, возьметесь?
Яндекс-директ
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться