Уважаемые, помогите разобраться с забалансовым счетом МЦ.
Проблема вот в чем. На одном из предприятий мне сказали, что это должен быть сугубо количественный счет.Т.е. количечтво должно быть, а суммы не должно. Порывшись в типовых конф., почему-то не обнаружил отличий между их конфигурацией и типовой (касательно этого счета).
Исправив документ Ввод в эксплуатацию (чтоб не делал ставил в проводке сумму по МЦ) , начал писать обработку по обнулению сумм этого счета. Толком ни фига не получилось выдавал сообщение о том что нельзя сохранять записанные проводки.
Решил сделать обработку, которая создаст операцию с такими же проводками, но суммы отрицательные и облом тут тоже что то не то делаю.
Разъясните что делаю не так.
Вот код модуля:
Процедура Сформировать()
СчМЦ = СчетПоКоду("МЦ");
Опер = СоздатьОбъект("Операция");
ОперНова=СоздатьОбъект("Операция");
ОперНова.Новая();
Опер.ВыбратьОперации (НД,КД);
Пока Опер.ПолучитьОперацию()=1 Цикл
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку()=1 Цикл
Если (Опер.Дебет.Счет=СчМЦ)или (Опер.Дебет.Счет=СчМЦ)Тогда
ОперНова.НоваяПроводка();
оперНова.дебет.Счет=Опер.Дебет.Счет;
ОперНова.Кредит.Счет=Опер.Кредит.Счет;
ОперНова.Дебет.Субконто(1)=Опер.Дебет.Субконто(1);
ОперНова.Дебет.Субконто(2)=Опер.Дебет.Субконто(2);
ОперНова.Дебет.Субконто(3)=Опер.Дебет.Субконто(3);
ОперНова.Сумма=опер.Сумма*(-1);
ОперНова.Кредит.Субконто(1)=Опер.Кредит.Субконто(1);
ОперНова.Кредит.Субконто(2)=Опер.Кредит.Субконто(2);
ОперНова.Кредит.Субконто(3)=Опер.Кредит.Субконто(3);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ОперНова.Записать();
КонецПроцедуры
В примере то оно есть. И в 1С реализовано так что показывает и сумму и количество. Но там ведь не показано откуда это взято.А вот в бух учете надо чтоб, только количество.Это мне не один бух сказал совершенно не знакомые друг с другом.
Я в замешательстве. С одной стороны в 1С не дураки сидят, с другой - люди которым не верить тоже нельзя.Че делать то?
Посовещался с коллегами, признаюсь был чуть не прав
МБП в эксплуатации действительно можно (именно можно, но не обязательно) учитывать в количественном выражении, так как для итоговой финансовой отчетности учетная сумма МБП в эксплуатации не используется (при вводе в эксплуатацию они списываются на расходы).
Но это совсем не значит что ее не надо учитывать в суммах. Например некоторые организации с которыми я сталкиваюсь используют субсчет 112.2 для учета МБП в эксплуатации в т.ч. и в количественном выражении с субконто "Номенклатура" (при вводе в эксплуатацию делается проводка на Кт износа, по типу фондирования в бюджете). Для чего это используется - на случай возврата из эксплуатации, или определения суммы недостачи.
Так что, если бухгалтер не хочет видеть суммы он прав. Единственное, сможет ли 7.7 делать такие операции, и как Вам теперь убрать суммы оставив только кол-во...
Вот вот. Совершенно согласен. Хочу сделать это операцией в этом периоде, чтоб не трогать старые. Пройтись по операциям и скопировать проводки в одну,но с отрицательными суммами. Будет ли это корректно? И попутный вопрос как проверить проводка включена или нет? Программно имеется ввиду.
Вообщем ничего путнего не получается. Операции исправить не удается(Нельзя сохранить), в новой операции не получается выбрать именно то что надо и опять таки бред.
Есть еще один вариант. Хочу попробовать немного подправить документ списаниеМБП,(убрать из проводки сумму и списать все к черту), но опять же не потянет ли это за собой какую-нить херь.
И как заполнить автоматом табличную часть. У меня что-то не получается. Делаю вот-так:
Процедура Заполнить()
ИтОстатокФакт = СоздатьОбъект("БухгалтерскиеИтоги");
ИтОстатокФакт.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения,2);
ИтОстатокФакт.ИспользоватьСубконто(ВидыСубконто.НеоборотныеАктивы,,1);
СчОстатков = СчетПоКоду("МЦ");
// ИтОстатокФакт.Опции(1,0);
// ИтОстатокФакт.ВключатьСубсчета(-1);
// определим дату
Дат = ДатаДок;
ИтОстатокФакт.ВыполнитьЗапрос(Дат,,СчОстатков,,,,,"К");
ИтОстатокФакт.ВыбратьСубконто(1);
// Если ИтОстатокФакт.ПолучитьСубконто(1,,МестоХранения)=1 Тогда
Пока ИтОстатокфакт.ПолучитьСубконто(1)=1 Цикл
ИтОстатокФакт.ВыбратьСубконто(2);
Пока ИтОстатокФакт.ПолучитьСубконто(2)=1 Цикл
// Заполняем по НА
// ИтОстатокФакт.ВыбратьСчета();
// Пока ИтОстатокФакт.ПолучитьСчет()=1 Цикл
Спр= ИтОстатокФакт.Субконто(2);
КоличествоНаименованийФакт = КоличествоНаименованийФакт + 1;
текНомерСтрокиФакт = КоличествоНаименованийФакт;
НоваяСтрока();
ТМЦ = ИтОстатокФакт.Субконто(2);
Кво = ИтОстатокФакт.СНД("К");
Сумма777 = ИтОстатокФакт.СНД("С");
//КонецЦикла;
КонецЦикла;
// КонецЕсли;
КонецЦикла;
КонецПроцедуры
gryphus, теги [code][/code]
Ну да. Либо Кт вообще пропустить.
Я бы вообще сделал по другому получил бы остатки на дату (например на конец квартала (месяца) перед отчетным) по МЦ. И Сделал сторно
Ну что может и так. Буду пробовать по разному.Но хотелось бы добить то что есть. Хотя вариант с остатками наверное более рациональный. Проблема в том что у меня не получилось их получить.
Выше я предоставлял код. Нет их там и все. А в оборотке есть.
Во блин точно.
Дуже Вам дякую панове. Радости просто нет границ. Все получилось через остатки.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua