Консультация № 179864
06.09.2010, 15:42
45.00 руб.
0 9 1
Здравствуйте,
в 1с:предприятие 7.7 бухгалтерский, учет редакция 4.5 (7.70.515) не проводится передача материалов в эксплуатацию.
Выскакивает ошибка
Код:
ПереченьСтатейЗатрат.ВыбратьСтроки(); 
{Глобальный модуль(9536)}: Значение не представляет агрегатный объект (ВыбратьСтроки)

В глобальном модуле:
Код:
Процедура глОпределитьПрямыеРасходыПроизводства(Субконто1, Субконто2, Субконто3, ОбъектыАналитикиНУ, ПереченьСтатейЗатрат, СчетКт)

СтатьяЗатрат = Субконто2;
СчетПрямыхРасходов = СчетПоКоду("Н01.05");
ОбъектыАналитикиНУ.Установить("ВидыНоменклатуры", Субконто1);
ВидЗатрат = СтатьяЗатрат.ВидРасходовДляНалоговогоУчета;
ОбъектыАналитикиНУ.Установить("ГруппыВидыРасходов", ВидЗатрат);

Если СодержитсяВСпискеИсключенийПрямыхЗатрат(ВидЗатрат) = 1 Тогда
ОбъектыАналитикиНУ.Установить("Счет", СчетПоКоду("Н07.04.1"));
Возврат;
КонецЕсли;
ФлагПрямогоРасхода = 0;

ПереченьСтатейЗатрат.ВыбратьСтроки(); //строка 9536
Пока ПереченьСтатейЗатрат.ПолучитьСтроку() = 1 Цикл
Если ПереченьСтатейЗатрат.Приоритет = 3 Тогда
Если (СравнитьСчета(ПереченьСтатейЗатрат.СчетКт, СчетКт) = 1) И (ПереченьСтатейЗатрат.ВидЗатрат = ВидЗатрат) И (ПереченьСтатейЗатрат.СтатьяЗатрат = СтатьяЗатрат) Тогда
ФлагПрямогоРасхода = 1;
Прервать;
КонецЕсли;
КонецЕсли;

Если ПереченьСтатейЗатрат.Приоритет = 2 Тогда
Если (ПереченьСтатейЗатрат.Ключ = 110) И (СравнитьСчета(ПереченьСтатейЗатрат.СчетКт, СчетКт) = 1) И (ПереченьСтатейЗатрат.ВидЗатрат = ВидЗатрат) Тогда
ФлагПрямогоРасхода = 1;
Прервать;
КонецЕсли;

Если (ПереченьСтатейЗатрат.Ключ = 11) И (ПереченьСтатейЗатрат.ВидЗатрат = ВидЗатрат) И (ПереченьСтатейЗатрат.СтатьяЗатрат = СтатьяЗатрат) Тогда
ФлагПрямогоРасхода = 1;
Прервать;
КонецЕсли;

Если (ПереченьСтатейЗатрат.Ключ = 101) И (СравнитьСчета(ПереченьСтатейЗатрат.СчетКт, СчетКт) = 1) И (ПереченьСтатейЗатрат.СтатьяЗатрат = СтатьяЗатрат) Тогда
ФлагПрямогоРасхода = 1;
Прервать;
КонецЕсли;

КонецЕсли;

Если ПереченьСтатейЗатрат.Приоритет = 1 Тогда
Если (ПереченьСтатейЗатрат.Ключ = 1) И (ПереченьСтатейЗатрат.СтатьяЗатрат = СтатьяЗатрат) Тогда
ФлагПрямогоРасхода = 1;
Прервать;
КонецЕсли;

Если (ПереченьСтатейЗатрат.Ключ = 10) И (ПереченьСтатейЗатрат.ВидЗатрат = ВидЗатрат) Тогда
ФлагПрямогоРасхода = 1;
Прервать;
КонецЕсли;

Если (ПереченьСтатейЗатрат.Ключ = 100) И (СравнитьСчета(ПереченьСтатейЗатрат.СчетКт, СчетКт) = 1) Тогда
ФлагПрямогоРасхода = 1;
Прервать;
КонецЕсли;

КонецЕсли;

КонецЦикла;

Если ФлагПрямогоРасхода = 1 Тогда
ОбъектыАналитикиНУ.Установить("Счет", СчетПрямыхРасходов);
Иначе
ОбъектыАналитикиНУ.Установить("Счет", СчетПоКоду("Н07.04.1"));
КонецЕсли;
КонецПроцедуры


Как найти ошибку?

Обсуждение

Неизвестный
06.09.2010, 16:40
общий
vaid0:
В процедуре глОпределитьПрямыеРасходыПроизводства(Субконто1, Субконто2, Субконто3, ОбъектыАналитикиНУ, ПереченьСтатейЗатрат, СчетКт)
Вы ошибку не найдете, так как она использует переданный параметр ПереченьСтатейЗатрат.
Посмотрите что передается как ПереченьСтатейЗатрат из другой процедуры
Неизвестный
06.09.2010, 16:53
общий
это ответ
Здравствуйте, vaid0.
ПереченьСтатейЗатрат представляет собой пустое значение

Проверьте заполнение справочников
Справочник.ПеречниПравилОтнесенияРасходовОсновногоПроизводстваКПрямым
Справочник.ПравилаОтнесенияРасходовОсновногоПроизводстваКПрямым

Они используются в функции
глПолучитьПереченьСтатейЗатрат(ДатаДок) которая соттветственно возвращает "Перечень статей"
Поконтролировать можно на сообщениях (см приложение)
добавить то что в теге
// ------- Вставить ------------
хххххххххххххххххххххххххх
// -----------------------------

PS Если не поможет пиши в подробностях весь состав операции
счет затрат, вид материала
постораюсь помочь



Приложение:
Функция глПолучитьПереченьСтатейЗатрат(ДатаДокумента) Экспорт


ПеречниСтатей = СоздатьОбъект("Справочник.ПеречниПравилОтнесенияРасходовОсновногоПроизводстваКПрямым");
ПеречниСтатей.ПорядокРеквизита("ДатаНачалаПрименения");
ПеречниСтатей.ОбратныйПорядок(1);
ПереченьСтатей = "";

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

ТекущийПереченьЗатрат = СоздатьОбъект("ТаблицаЗначений");
ТекущийПереченьЗатрат.НоваяКолонка("СчетКт", "ПланыСчетов.Основной");
ТекущийПереченьЗатрат.НоваяКолонка("ВидЗатрат", "Перечисление.ГруппыВидыРасходов");
ТекущийПереченьЗатрат.НоваяКолонка("СтатьяЗатрат", "Справочник");
ТекущийПереченьЗатрат.НоваяКолонка("Комментарий", "Строка", 100);
ТекущийПереченьЗатрат.НоваяКолонка("Приоритет","Число", 1, 0);
// Выбраны три реквизита - 3 приоритет
// Выбраны два реквизита - 2 приоритет
// Выбран один реквизит - 1 приоритет
ТекущийПереченьЗатрат.НоваяКолонка("Ключ","Число", 3, 0);
// Ключ содержит информацию о выбранных элементах
// 1 (0) во первом символе - выбран (не выбран) Счет кредита
// 1 (0) в втором символе - выбран (не выбран) вид затрат
// 1 (0) в третьем символе - выбран (не выбран) статья затрат

Если ПереченьСтатей = "" Тогда
Возврат ТекущийПереченьЗатрат;

КонецЕсли;


Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл

Если Спр.ПометкаУдаления() = 1 Тогда
Продолжить;
КонецЕсли;

ТекущийПереченьЗатрат.НоваяСтрока();
ТекущийПереченьЗатрат.СчетКт = Спр.СчетКредита;
ТекущийПереченьЗатрат.ВидЗатрат = Спр.ВидРасходовДляНалоговогоУчета;
ТекущийПереченьЗатрат.СтатьяЗатрат = Спр.СтатьяЗатрат;
ТекущийПереченьЗатрат.Приоритет = Спр.СчетКредита.Выбран()
+ Спр.ВидРасходовДляНалоговогоУчета.Выбран()
+ Спр.СтатьяЗатрат.Выбран();
ТекущийПереченьЗатрат.Ключ = (Спр.СчетКредита.Выбран() * 100 )
+ (Спр.ВидРасходовДляНалоговогоУчета.Выбран() * 10)
+ Спр.СтатьяЗатрат.Выбран();
// ------- Вставить ------------
Сообщить("ТекущийПереченьЗатрат - "+СокрЛП(Спр));
// -----------------------------
КонецЦикла;

ТекущийПереченьЗатрат.Сортировать("Приоритет-");


Возврат ТекущийПереченьЗатрат;

КонецФункции
5
Неизвестный
07.09.2010, 09:31
общий
Крюков Р.А.:
Есть спецодежда на складе. Ее нужно передать в эксплуатацию сотрудникам, но не по счету 10.11.1(Спецодежда в эксплуатации) а на конкретный участок 20.хх (Основное производство), где ее уже распределят. т.е. передать нужно людям, но чтобы затраты попали именно на 20.хх счет
Неизвестный
07.09.2010, 11:57
общий
В принципе так и происходит если указать погашение стоимости при передаче в эксплуатацию
по счету 10.11.1 спецодежда только корреспондируется
Проводки:

Дт 10.11.1 Кт 10.10
Дт 20 Кт 10.11.1
Дт Мц.02
Кт Н02.01
Неизвестный
08.09.2010, 09:25
общий
Крюков Р.А.:
Если она только корреспондируется, значит счет отнесения затрат должен быть 20.хх правильно? Но если я его ставлю, документ не проводится.
Если я ставлю 10.11.1, в проводках получается:

Дт 10.11.1 Кт 10.10
Дт 10.11.1 Кт 10.11.1
Дт Мц.02
Кт Н02.01

Объясните пожалуйста, главбух в отпуске, спросить не у кого.
Неизвестный
08.09.2010, 09:57
общий
vaid0:
20.хх?!
Я так понимаю производство у вас разбито на субсчета.
Пришлите мне скрин полностью заполненого документа.
Неизвестный
08.09.2010, 10:04
общий
http://s59.radikal.ru/i163/1009/a7/52600cf2f53d.jpg
Бухгалтера говорят что так должно быть. Но я уже думаю что они что-то не так делают.
Неизвестный
08.09.2010, 10:56
общий
Походу бухи аналитику по субконто не курят вобще. Хотят по субсчетам вести так бог им судья.
пробейте всю конфу на условия "Счет.Код = "20"" поменяйте на Лев(Счет.Код,2)="20"

PS А бухам неплохо бы книжхечку по ведению учета почитать
Неизвестный
09.09.2010, 13:10
общий
Крюков Р.А.:
Спасибо, все заработало.
Форма ответа