1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010) Ситуация следующая, приходуют ОС документов Приходная накладная ГТД, в проводках место хранения нет. Но бухгалтеру важно чтобы оно числилось на конкретном складе. В шапке документа место хранения указано, но в проводках не отображается. Каким образом можно разрешить данную проблему, подскажите пожалуйста. Вот собственно та процедура кот отвечает за ОС:
Процедура ПроводкиПоОСиНМА()
глКомментарий("Выполняются формирование проводок по инвестициям",2);
тбТовары = 0; ВыгрузитьТабличнуюЧасть(тбТовары,"ТМЦ,Кво,Коэффициент,СуммаБезНДСВал,Перевозка,ПеревозкаВал,Акциз,Пошлина,Тамо женныеУслуги,СуммаБезНДС,НДС"); Если тбТовары.КоличествоСтрок()=0 Тогда глНеПроводить(Контекст,"Отсутствуют ТМЦ в табличной части."); Возврат; КонецЕсли; тбТовары.ВыбратьСтроки(); Пока тбТовары.ПолучитьСтроку() =1 Цикл // на себестоиомсть должна пойти сумма по курсу НБУ тбТовары.СуммаБезНДС = глСуммаОсн(тбТовары.СуммаБезНДСВал,Контекст,Валюта); тбТовары.Перевозка = глСуммаОсн(тбТовары.ПеревозкаВал, Контекст,ВалютаПеревозки); КонецЦикла; тбТовары.НоваяКолонка("СуммаБезНДСОсн", "Число",15,3); тбТовары.НоваяКолонка("СуммаПеревозкиОсн","Число",15,3); // нужно изменить стоимоть в таблице в соответствии курсом авансом кАванса = ?(Итог("СуммаБезНДСВал") = 0,0,АвансВал/Итог("СуммаБезНДСВал")); // часть аванса в себестоимости Если кАванса<>0 Тогда КурсАванса = ?(ПустоеЗначение(АвансВал)=1,0,АвансОсн/АвансВал); Иначе КурсАванса = 0; КонецЕсли; КурсАвансаПеревозчику = 0; Если Итог("Перевозка") <> 0 Тогда Если ПустоеЗначение(ВалютаПеревозки) = 0 Тогда кАвансаПеревозчику = ?(ПустоеЗначение(Итог("ПеревозкаВал"))=1,0,АвансПеревозчикуВал/Итог("ПеревозкаВал")); // часть аванса в себестоимости Если кАвансаПеревозчику<>0 Тогда КурсАвансаПеревозчику = ?(ПустоеЗначение(АвансПеревозчикуВал)=1,0,АвансПеревозчикуОсн/АвансПеревозчикуВал); КонецЕсли; КонецЕсли; Иначе кАвансаПеревозчику = 0; КонецЕсли; тбТовары.ВыбратьСтроки(); Пока тбТовары.ПолучитьСтроку()=1 Цикл тбТовары.СуммаБезНДСОсн = тбТовары.СуммаБезНДСВал * кАванса * КурсАванса + тбТовары.СуммаБезНДС* (1 - кАванса); Если ПустоеЗначение(ВалютаПеревозки) = 0 Тогда тбТовары.СуммаПеревозкиОсн = тбТовары.ПеревозкаВал * кАвансаПеревозчику * КурсАвансаПеревозчику + тбТовары.Перевозка* (1 - кАвансаПеревозчику); Иначе тбТовары.СуммаПеревозкиОсн = 0; КонецЕсли; КонецЦикла; глОчиститьКлючОкр("Взаим"); глОчиститьКлючОкр("НДС"); глОчиститьКлючОкр("ДопНДС"); глОчиститьКлючОкр("Перев"); // определим базы для распределения ИтогПоПоставщику = тбТовары.Итог("СуммаБезНДСОсн"); ИтогПоПеревозчику = тбТовары.Итог("СуммаПеревозкиОсн"); ИтогНДС = тбТовары.Итог("НДС"); // Рассчитать сумму услуг в табличной части ИСуммаCНДСТоваров = 0; ИСуммаБезНДСТоваров = 0; НомерСтрокиПоследнегоТовара = 1; тбТовары.ВыбратьСтроки(); Пока тбТовары.ПолучитьСтроку()=1 Цикл // учтем ошибки округления тбТовары.СуммаБезНДСОсн = глОкрКорр("Взаим", ?(ИтогПоПоставщику = 0, 0, ВзаиморасчетыПоставщикВсего * тбТовары.СуммаБезНДСОсн/ ИтогПоПоставщику),2); тбТовары.НДС = глОкрКорр("НДС", ?(ИтогНДС = 0, 0, НДСВсего * тбТовары.НДС/ ИтогНДС),2); тбТовары.СуммаПеревозкиОсн = глОкрКорр("Перев", ?(ИтогПоПеревозчику = 0, 0, ВзаиморасчетыПеревозчикВсего * тбТовары.СуммаПеревозкиОсн/ ИтогПоПеревозчику),2);
ИСуммаБезНДСТоваров = ИСуммабезНДСТоваров + тбТовары.СуммаБезНДСОсн; НомерСтрокиПоследнегоТовара = НомерСтроки; КонецЦикла; МестоХраненияП = ?(глПартионныйУчетПоСкладам = Да,МестоХранения,0); ИтДопНДСПоСтроке = 0; ОкрПриходСтоимостьВсего = 0; // для рассчета разницы округления тбТовары.ВыбратьСтроки(); Пока тбТовары.ПолучитьСтроку()=1 Цикл ПоставкаП = ТекущийДокумент(); ДопНДСПоСтроке = 0; Если НДСНаЗатраты = 1 Тогда // НДС на себестоимость ДопНДСПоСтроке = ?(ИтСуммаБезНДСВал = 0, 0, тбТовары.СуммаБезНДСВал/ИтСуммаБезНДСВал*ДопНДС); ДопНДСПоСтроке = глОкрКорр("ДопНДС",ДопНДСПоСтроке, 2); КонецЕсли; ПриходОстатокТовара = тбТовары.Кво * тбТовары.Коэффициент; // рассчитаем себестоимость партии ПриходСтоимость = тбТовары.СуммаБезНДСОсн; ПриходНДС = тбТовары.НДС; СчетП = тбТовары.ТМЦ.Счет; глПроводка(Контекст,СчетП,,ПриходСтоимость,"Прих:Себестоимость",ПриходОстатокТовара,тбТовары.ТМЦ,,, Контрагент,ПервыйДок,, ,,"ПХ",1,"Взаиморасчеты"); ОбщаяСтоимостьОС = ПриходСтоимость; Если НДСНаЗатраты = 1 Тогда глПроводка(Контекст,СчетП,СчетТаможни,ПриходНДС + ДопНДСПоСтроке,"Прих:НДС на себестоимость",, тбТовары.ТМЦ,,, Таможня,ПервыйДокТаможни,, ,,"ПХ",1,0); // добавление НДС в себестоимость партии ОбщаяСтоимостьОС = ОбщаяСтоимостьОС + ПриходНДС + ДопНДСПоСтроке; КонецЕсли; ПриходНДС = 0;
// Акциз Если тбТовары.Акциз <> 0 Тогда ПриходСтоимость = тбТовары.Акциз; глПроводка(Контекст,СчетП,СчетПоКоду("64.1.2"),ПриходСтоимость,"Прих:Себестоимость - акциз",, тбТовары.ТМЦ,,, ,,, ,,"ПХ",1,0); ОбщаяСтоимостьОС = ОбщаяСтоимостьОС + ПриходСтоимость; КонецЕсли; // Пошлина Если тбТовары.Пошлина <> 0 Тогда ПриходСтоимость = тбТовары.Пошлина; глПроводка(Контекст,СчетП,СчетПоКоду("64.2.6"),ПриходСтоимость,"Прих:Себестоимость - пошлина",, тбТовары.ТМЦ,,, СубконтоПошлина,,, ,,"ПХ",1,0); ОбщаяСтоимостьОС = ОбщаяСтоимостьОС + ПриходСтоимость; КонецЕсли; // Таможенные услуги Если тбТовары.ТаможенныеУслуги <> 0 Тогда ПриходСтоимость = тбТовары.ТаможенныеУслуги; глПроводка(Контекст,СчетП,,ПриходСтоимость,"Прих:Себестоимость - таможенные услуги",, тбТовары.ТМЦ,,, ,,, ,,"ПХ",1,2); ОбщаяСтоимостьОС = ОбщаяСтоимостьОС + ПриходСтоимость; КонецЕсли; // Перевозка Если (Перевозчик.Выбран()=1) и (тбТовары.СуммаПеревозкиОсн <> 0) Тогда ПриходСтоимость = тбТовары.СуммаПеревозкиОсн; глПроводка(Контекст,СчетП,,ПриходСтоимость,"Прих:Себестоимость - перевозка",, тбТовары.ТМЦ,,, ,,, ,,"ПХ",1,3); ОбщаяСтоимостьОС = ОбщаяСтоимостьОС + ПриходСтоимость; КонецЕсли;
ПриходОстатокТовара = 0;
КонецЦикла; // строки документа
КонецПроцедуры //ПроводкиПоОСиНМА
На сколько некорректным будет добавить второе субконто в глПроводка ? Заранее спасибо
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
Вы написали что "МестоХраненияП" должно присутствовать в глПроводка, но даже в типовых конфигурациях (проверяла ПУБ 35,36,40) не стоит в процедуре ПроводкиПоОСиНМА(). Меня то это и насторожило... А вот насколько необходимо МестоХраненияП в Акцизе, Пошлине, Таможенных услугах, Перевозках?
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
ну вот допустим в данном случае у инвестиции счет 152, первое субконто - инвестиция, второе - место хранения, т.е. я могу во все ГлПроводка добавить МестоХранения?
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
Крутой
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0
Да. Строго говоря - там счет учета ТМЦ. Возможен у ТМЦ счет учета, на котором нет субк МестаХранения? Или оно не второе? Лучше все-таки прописать проверку счета на наличие и номер субконто.
может я неправильно выражаюсь, но с тмц все понятно, там есть субконто МестоХранения. Меня интересует вариант именно с инвестициями, и у инвестиций счета учета бывают 151 - 153 и у них всех стоит 1е субконто - инвестиции, 2е - МестоХранения. Так что думаю дополнительного условия проверки счета можно не добавлять
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)
бачу ви постійно працюєте із цією конфігурацією - можна цю інформацію показати у вашому підписі (вказати це можна в профілі), щоб кожен раз про це не повідомляти
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!