Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 20:52
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Проводка  (Прочитано 1931 раз)

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

Оффлайн kible

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-04-14
  • Сайт: 
Проводка
« Первое сообщение: 27 Май 2010, 16:16 »
Как сложить суммы в нескольких проводках и подставить в одну?

// ********************  
Процедура ОбработкаПроведения()
ОбщКоличество=0;
Спр = СоздатьОбъект("Справочник.СпецификацияНоменклатуры");
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Спр.ИспользоватьРодителя(СпецификацияИзделия);
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
 ОбщКолВо=ОбщКолВо+Спр.Количество*Количество;
Сообщить(""+Спр.Материал+"   Кол-Во"+Спр.Количество*Количество);
 
//////////////////////////////////////////////////////////////
                                                             
Если глПределыБухгалтерскихИтогов(, ДатаДок, 1) = 0 Тогда
    СтатусВозврата(0);
Возврат;
КонецЕсли;

БухИтоги = СоздатьОбъект("БухгалтерскиеИтоги");

Если Метаданные.РазделительУчета.Выбран() = 1 Тогда
БухИтоги.ИспользоватьРазделительУчета(Организация);
КонецЕсли;

БухИтоги.ВключатьСубсчета(1);
БухИтоги.ИспользоватьСубконто(ВидыСубконто.Материалы, Спр.Материал, 2);
БухИтоги.ИспользоватьСубконто(ВидыСубконто.МестаХранения, Склад, 2);
БухИтоги.ВыполнитьЗапрос(,ТекущийДокумент(),"131",,,,,);
БухИтоги.ВыбратьСубконто(); 


Материал = Спр.Материал;

Если БухИтоги.ПолучитьСубконто(,,Материал) = 1 Тогда
Если БухИтоги.ПолучитьСчет(,глПолучитьСчетТМЦ(Материал)) = 1 Тогда
ОстатокКоличество = БухИтоги.СКД("К");
ОстатокСумма = БухИтоги.СКД("С");
Если Спр.Количество*Количество > ОстатокКоличество  Тогда

глСообщить(Операция, "Счет " + СокрЛП(глПредставлениеСчетаСтр(глПолучитьСчетТМЦ(Материал)))+
", место хранения """+СокрЛП(Склад)+""": недостаточно материала """+СокрЛП(Материал)+
". Не хватает "+СокрЛП(Спр.Количество*Количество - ОстатокКоличество )+". Проводка не записана!", "!");    
КонецЕсли;
Иначе //в карточке товара не верно указан счет
глСообщить(Операция, "Не верно указан счет учета материала. Остатки для """  + СокрЛП(Материал)+""" на счете " + СокрЛП(глПредставлениеСчетаСтр(глПолучитьСчетТМЦ(Материал))) + " - отсутствуют. Проводка не записана!", "!");
КонецЕсли;
Иначе //Если БухИтоги.ПолучитьСубконто(,,Материал) = 1 Тогда
// по данному ТМЦ вообще нет остатка
глСообщить(Операция, "Счет " + СокрЛП(глПредставлениеСчетаСтр(глПолучитьСчетТМЦ(Материал)))+
", место хранения """+СокрЛП(Склад)+""": недостаточно материала """+СокрЛП(Материал)+
". Не хватает "+СокрЛП(Спр.Количество*Количество)+". Проводка не записана!", "!");    
КонецЕсли;    
     /////////////////////////////////////////////////////////////////////////////   


КоличествоНаСкладе = 0; // Общий остаток на складе(количество) по выбранной позиции номенклатуры
СуммаНаСкладе = 0; // Общий остаток на складе(сумма) по выбранной позиции номенклатуры
МожноСписатьКоличество = 0; // Количество, которое можно списать по данной строке, учитывая уже списанное количество в этом документе                           
МожноСписатьСумму = 0; // Сумма, которую можно списать по данной строке, учитывая уже списанную сумму в этом документе
Стр = "";

    КоличествоНаСкладе = ОстатокКоличество;
СуммаНаСкладе = ОстатокСумма;
МожноСписатьКоличество = Макс(0,КоличествоНаСкладе - Спр.Количество*Количество);
МожноСписатьСумму = Макс(0,СуммаНаСкладе);
             
                     
Если МожноСписатьКоличество = 0 Тогда
    Продолжить;
КонецЕсли;     

Если (МожноСписатьКоличество < Количество) или (МожноСписатьКоличество = 0)  Тогда
Продолжить;
Иначе
Если МожноСписатьКоличество = Количество Тогда
    Сумма = МожноСписатьСумму; // Оставшаяся после списания предыдущих позиций сумма
Иначе
Сумма = Окр((Спр.Количество*Количество) * (СуммаНаСкладе/КоличествоНаСкладе),2);
КонецЕсли;
КонецЕсли;

СчетДебета = СчетПоКоду("8112",ПланыСчетов.Основной);
СчетКредита  = СчетПоКоду("131",ПланыСчетов.Основной); 

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

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

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

КонецЦикла;
     
Операция.Записать();

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


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
69 Сообщений
alex0402
54 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 254
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal