|
Помощь в списании | ☑ | ||
---|---|---|---|---|
0
Sa6nek6
12.09.13
✎
17:58
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | БС_ОчисткаТекущегоГодаОчистка.Материал КАК Материал, | СУММА(БС_ОчисткаТекущегоГодаОчистка.Количество) КАК КоличествоВДокументе, | СУММА(БС_ОчисткаТекущегоГодаОчистка.Сумма) КАК СуммаСписания, | БС_ОчисткаТекущегоГодаОчистка.Ссылка |ПОМЕСТИТЬ ВТ |ИЗ | Документ.БС_ОчисткаТекущегоГода.Очистка КАК БС_ОчисткаТекущегоГодаОчистка |ГДЕ | БС_ОчисткаТекущегоГодаОчистка.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | БС_ОчисткаТекущегоГодаОчистка.Материал, | БС_ОчисткаТекущегоГодаОчистка.Ссылка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстатокДт, 0) КАК СуммаОстаток, | ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстатокДт, 0) КАК КоличествоОстаток, | ЕСТЬNULL(ХозрасчетныйОстатки.Субконто3, ""Документы.ОтчетПроизводстваЗаСмену.ПустаяСсылка()"") КАК Субконто3, | ВТ.Материал КАК Материал, | ВТ.КоличествоВДокументе КАК КоличествоВДокументе, | ВТ.СуммаСписания КАК СуммаСписания |ИЗ | ВТ КАК ВТ | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , Субконто1 = &Номенклатура) КАК ХозрасчетныйОстатки | ПО (ХозрасчетныйОстатки.Субконто1 = ВТ.Ссылка.Продукция) |ИТОГИ | СУММА(СуммаОстаток), | СУММА(КоличествоОстаток), | МАКСИМУМ(КоличествоВДокументе), | МАКСИМУМ(СуммаСписания) |ПО | Материал"; Запрос.УстановитьПараметр("Период", МоментВремени()); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.НайтиПоКоду("43.01")); Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.УстановитьПараметр("Номенклатура", Продукция); Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ОстатокПоПартиям = Запрос.Выполнить().Выгрузить(); Пока Выборка.Следующий() Цикл Если Выборка.КоличествоОстаток< Выборка.КоличествоВДокументе Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не хватает " + Строка(Выборка.КоличествоВДокументе - Выборка.КоличествоОстаток) + " единиц номенклатуры " + Продукция + ". Проведение невозможно."; Сообщение.Сообщить(); Отказ = Истина; КонецЕсли; Если Отказ Тогда Продолжить; КонецЕсли; Если НЕ ЗначениеЗаполнено(СчетЗатрат) Тогда Предупреждение("Укажите счет затрат для списания мертвых отходов!"); Отказ = Истина; Возврат; КонецЕсли; ОсталосьСписать = Выборка.КоличествоВДокументе; ВыборкаДЗ = Выборка.Выбрать(); Пока ВыборкаДЗ.Следующий() И ОсталосьСписать <> 0 Цикл Проводки = Движения.Хозрасчетный; Проводка = Проводки.Добавить(); Проводка.Период = Дата; Проводка.Организация = Организация; Если ВыборкаДЗ.Материал = Отходы Тогда Проводка.СчетКт = СчетЗатрат; Если ЗначениеЗаполнено(Субконто1) Тогда БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,1,Субконто1); КонецЕсли; Если ЗначениеЗаполнено(Субконто2) Тогда БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,2,Субконто2); КонецЕсли; Если ЗначениеЗаполнено(Субконто2) Тогда БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,3,Субконто3); КонецЕсли; Если Проводка.СчетКт.УчетПоПодразделениям Тогда Проводка.ПодразделениеКт = ПодразделениеЗатрат; КонецЕсли; КСписанию = Мин(ОсталосьСписать, ВыборкаДЗ.КоличествоОстаток); Проводка.СчетДт = СчетУчетаПродукции; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,1,Продукция); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,2,СкладОтправитель); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,3,ВыборкаДЗ.Субконто3); Проводка.КоличествоДт = -КСписанию; Проводка.Сумма = 0; Проводка.Содержание = "мертвые отходы тек.года"; Иначе КСписанию = Мин(ОсталосьСписать, ВыборкаДЗ.КоличествоОстаток); СуммаСписания = ?(ВыборкаДЗ.КоличествоОстаток = КСписанию,ВыборкаДЗ.СуммаОстаток,ВыборкаДЗ.СуммаОстаток/ВыборкаДЗ.КоличествоОстаток * КСписанию); Проводка.СчетДт = БС_схОбщегоНазначения.ПолучитьСчетУчетаНоменклатуры(ВыборкаДЗ.Материал); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,1,ВыборкаДЗ.Материал); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,2,СкладПолучатель); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт,Проводка.СубконтоДт,3,Субконто3); Проводка.СчетКт = СчетУчетаПродукции; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,1,Продукция); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,2,СкладОтправитель); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт,Проводка.СубконтоКт,3,ВыборкаДЗ.Субконто3); ПлановаяЦена = БС_схОбщегоНазначения.ПолучитьПлановуюСтоимостьНоменклатуры(ВыборкаДЗ.Материал,Дата); Проводка.Сумма = Окр(СуммаСписания,2); Проводка.КоличествоДт = КСписанию; Проводка.КоличествоКт = КСписанию; Проводка.Содержание = "Очистка продукции"; ОсталосьСписать = ОсталосьСписать - КСписанию; КонецЕсли; КонецЦикла; КонецЦикла; КонецЕсли; |
|||
1
Sa6nek6
12.09.13
✎
17:59
|
Материал отходов в таблчаст 1 шт она все проводки делает нормально а по отходу две а нужна одна все уже пересмотрел не знаю что делать тыкнете пальцем кто
|
|||
2
France
12.09.13
✎
17:59
|
помощь.
|
|||
3
Sa6nek6
12.09.13
✎
18:01
|
именно по отходу такая шляпа, а отход тоже надо списать на партию
|
|||
4
Sa6nek6
12.09.13
✎
18:58
|
Народ
|
|||
5
hhhh
12.09.13
✎
20:02
|
наверно, одной строчке ВТ соответствует 2 строчки остатков. Думаю из-за Субконто3
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |