Имя: Пароль:
1C
1С v8
Ошибка в 1с 8.2 : Значение не является значением объектного типа!
,
0 sapravka
 
05.08.12
21:24
Здравствуйте!
Решаю 1 задачу на специалиста по бухгалтерии!
Вот сделал запрос, но при попытке провести выходит ошибка:

Ошибка при выполнении обработчика - 'ОбработкаПроведения'по причине:{Документ.НачислениеПроцентов.МодульОбъекта(94)}: Значение не является значением объектного типа (СчетДт)

   А вот сам код, где возникает ошибка:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
 
 
  Запрос = Новый Запрос;
  КонГраница = Новый Граница (КонецМесяца(Дата), ВидГраницы.Включая);
  Запрос.УстановитьПараметр("НачМесяца",НачалоМесяца(Дата));
  Запрос.УстановитьПараметр("КонМесяца",КонецМесяца(Дата));
  Запрос.УстановитьПараметр("КонМесяцаОст",КонГраница);
  Запрос.УстановитьПараметр("Ссылка",Ссылка);

 
  Запрос.Текст = "ВЫБРАТЬ
                 |    НачислениеПроцентов.Ссылка
                 |ИЗ
                 |    Документ.НачислениеПроцентов КАК НачислениеПроцентов
                 |ГДЕ
                 |    НачислениеПроцентов.Проведен
                 |    И НачислениеПроцентов.Дата МЕЖДУ &НачМесяца И &КонМесяца
                 |    И НачислениеПроцентов.Ссылка <> &Ссылка";
  Выборка = Запрос.Выполнить().Выбрать();
  Пока Выборка.Следующий() Цикл
     
      Отказ = Истина;
      Сообщить ("В текущем периоде уже есть документы начисления процентов");
     
  КонецЦикла;
  Если Отказ Тогда
        Возврат;
  КонецЕсли;
 
  Запрос.Текст = "ВЫБРАТЬ
                 |    ХозрасчетныйОстатки.Субконто2,
                 |    ХозрасчетныйОстатки.ВалютнаяСуммаРазвернутыйОстатокКт,
                 |    ХозрасчетныйОстатки.Субконто2.ПроцентГодовых,
                 |    ХозрасчетныйОстатки.СуммаОстатокКт
                 |ПОМЕСТИТЬ ДоговорыЗайма
                 |ИЗ
                 |    РегистрБухгалтерии.Хозрасчетный.Остатки(&КонМесяцаОст, Счет = &Счет66_23, , Организация = &Организация) КАК ХозрасчетныйОстатки
                 |;
                 |
                 |////////////////////////////////////////////////////////////////////////////////
                 |ВЫБРАТЬ
                 |    МИНИМУМ(ХозрасчетныйОбороты.Период) КАК Период,
                 |    ХозрасчетныйОбороты.Субконто2
                 |ПОМЕСТИТЬ КолвоДней
                 |ИЗ
                 |    РегистрБухгалтерии.Хозрасчетный.Обороты(&НачМесяца, &КонМесяца, День, Счет = &Счет66_23, , Организация = &Организация, , ) КАК ХозрасчетныйОбороты
                 |ГДЕ
                 |    ХозрасчетныйОбороты.СуммаОборотКт > 0
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ХозрасчетныйОбороты.Субконто2
                 |;
                 |
                 |////////////////////////////////////////////////////////////////////////////////
                 |ВЫБРАТЬ
                 |    ДоговорыЗайма.Субконто2,
                 |    ДоговорыЗайма.ВалютнаяСуммаРазвернутыйОстатокКт,
                 |    ДоговорыЗайма.Субконто2ПроцентГодовых ПроцентГодовых,
                 |    ВЫБОР
                 |        КОГДА КолвоДней.Период ЕСТЬ NULL
                 |            ТОГДА РАЗНОСТЬДАТ(&НачМесяца, &КонМесяца, ДЕНЬ) + 1
                 |        ИНАЧЕ РАЗНОСТЬДАТ(КолвоДней.Период, &КонМесяца, ДЕНЬ) + 1
                 |    КОНЕЦ * ДоговорыЗайма.Субконто2ПроцентГодовых * ДоговорыЗайма.ВалютнаяСуммаРазвернутыйОстатокКт / 365 / 100 КАК ВалСумма,
                 |    ВЫБОР
                 |        КОГДА КолвоДней.Период ЕСТЬ NULL
                 |            ТОГДА РАЗНОСТЬДАТ(&НачМесяца, &КонМесяца, ДЕНЬ) + 1
                 |        ИНАЧЕ РАЗНОСТЬДАТ(КолвоДней.Период, &КонМесяца, ДЕНЬ) + 1
                 |    КОНЕЦ * ДоговорыЗайма.Субконто2ПроцентГодовых * ДоговорыЗайма.СуммаОстатокКт / 365 / 100 КАК Сумма
                 |ИЗ
                 |    ДоговорыЗайма КАК ДоговорыЗайма
                 |        ЛЕВОЕ СОЕДИНЕНИЕ КолвоДней КАК КолвоДней
                 |        ПО ДоговорыЗайма.Субконто2 = КолвоДней.Субконто2" ;
                 Запрос.УстановитьПараметр("Счет66_23",ПланыСчетов.Хозрасчетный.КраткосрочныеЗаймыВал);
                 Запрос.УстановитьПараметр("Организация",Организация);
                 Выборка = Запрос.Выполнить().Выбрать();
                 Пока Выборка.Следующий() Цикл
                     
                     Проводка = Движения.Хозрасчетный.Добавить();
                     Проводка.Организация = Организация;
                     Проводка.ВалютаКт = Выборка.Субконто2.ВалютаВзаиморасчетов;
                     Проводка.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;
                     Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ПроцентыПоКраткосрочнымЗаймамВал;
                     Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = Выборка.Субконто2;                      
                     Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Выборка.Субконто2.Владелец;
                     Проводка.ВалютнаяСуммаКт = Выборка.ВалСумма;
                     Проводка.Сумма = Выборка.Сумма;
                     
                     ПроводкаНУ = Движения.Хозрасчетный.Добавить();
                     ПроводкаНУ.Организация = Организация;
                     ПроводкаНУ = Дата;
                     ПроводкаНУ.ВидУчетаДТ = Перечисления.ВидыУчетаПоПБУ18.НУ;
                     ПроводкаНУ.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;    
                     ПроводкаНУ.Сумма = ?(Выборка.ПроцентГодовых>15, Выборка.Сумма/Выборка.Процентгодовых*15, Выборка.Сумма);
                     
                     Если  Выборка.Процентгодовых>15 Тогда
                         ПроводкаВР = Движения.Хозрасчетный.Добавить();
                         ПроводкаВР.Организация = Организация;
                         ПроводкаВР = Дата;
                         ПроводкаВР.ВидУчетаДТ = Перечисления.ВидыУчетаПоПБУ18.ВР;
                         ПроводкаВР.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;    
                         ПроводкаВР.Сумма = Проводка.Сумма - ПроводкаНУ.Сумма;
                    КонецЕсли;
                     
                     
                 КонецЦикла;
КонецПроцедуры


Подскажите пожалуйста, как исправить данную ошибку...



P.S.:(В инете нашел материал по решению задачи на 1.6 - там два плана счетов, а сейчас необходимо решать на 2.0, а там один - хотя наверное скоро будет уже на 3.0.)
Так вот некоторые вещи не совсем понятны - вот выдержка из билета:

В налоговом учете начисляемый процент включается в состав внереализационных расходов. Предельная величина процентов, признаваемых расходом, принимается равной 15 процентам.
4. Выплата заемных средств заимодавцу с процентами осуществляется единым платежом отражается в учете по факту списания с расчетного счета денежных средств проводкой: Д-т 76, кр-т 52.
5. Переоценка валютных счетов для целей бухгалтерского и налогового учета.
6. Учет расчетов по налогу на прибыль в соответствии с ПБУ 18/02
7. Формирование следующего отчета по данным бухгалтерского учета

Подскажите пожалуйста я на правильном пути решения?





























































































Вот полный код:
1 kotletka
 
05.08.12
21:31
а проводка ну для чего?
2 kotletka
 
05.08.12
21:34
а Выборка.Процентгодовых может быть NULL?
3 kotletka
 
05.08.12
21:35
а вообще отладчик в руки и вперед
4 kotletka
 
05.08.12
21:39
Перечисления.ВидыУчетаПоПБУ18.НУ - такого в новой конфе нет, сейчас уже нет видов учета
5 kotletka
 
05.08.12
21:43
(4)извиняюсь неправ, конфу попутал
6 Лоботряс
 
05.08.12
22:18
[ПроводкаНУ = Дата;]- а это что такое?
7 sapravka
 
05.08.12
22:28
Перечисления.ВидыУчетаПоПБУ18.НУ - такого в новой конфе нет, сейчас уже нет видов учета

А ЧТО СЕЙЧАС, вернее как сейчас необходимо делать в 2.0?
8 Vladal
 
05.08.12
22:30
А какая из строцек кода 94-я?
9 sapravka
 
05.08.12
22:31
А какая из строцек кода 94-я?

Вот сюда ошибка ведет

ПроводкаНУ.ВидУчетаДТ = Перечисления.ВидыУчетаПоПБУ18.НУ;
10 Vladal
 
05.08.12
22:38
И как СчетДт в строчке ПроводкаНУ.ВидУчетаДТ =  ....?
По идее ошибка должна быть в строке с обращением к реквизиту "СчетДт", которого там нет.
11 sapravka
 
05.08.12
22:41
По идее ошибка должна быть в строке с обращением к реквизиту "СчетДт", которого там нет.
А поподробнее можно, что необходимо сделать...
12 sapravka
 
05.08.12
22:49
Вот за комментировал строки на которые ругается при проведении:


ПроводкаНУ = Движения.Хозрасчетный.Добавить();
                      ПроводкаНУ.Организация = Организация;
                      ПроводкаНУ = Дата;
                      //ПроводкаНУ.ВидУчетаДТ = Перечисления.ВидыУчетаПоПБУ18.НУ;
                      //ПроводкаНУ.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;    
                      //ПроводкаНУ.Сумма = ?(Выборка.ПроцентГодовых>15, Выборка.Сумма/Выборка.Процентгодовых*15, Выборка.Сумма);
                     
                      Если  Выборка.Процентгодовых>15 Тогда
                          ПроводкаВР = Движения.Хозрасчетный.Добавить();
                          ПроводкаВР.Организация = Организация;
                          ПроводкаВР = Дата;
                          //ПроводкаВР.ВидУчетаДТ = Перечисления.ВидыУчетаПоПБУ18.ВР;
                          //ПроводкаВР.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;    
                          //ПроводкаВР.Сумма = Проводка.Сумма - ПроводкаНУ.Сумма;
                     КонецЕсли;



Но тогда при проведении выдает ошибку при проведении (в предприятии):
Проводка № 1 <>: не заполнен счет дебета.
Проводка № 1 <>: не заполнен счет кредита.
Проводка № 1 <>: не заполнен счет дебета.
Проводка № 1 <>: не заполнен счет кредита.

Подскажите как правильно заполнить, что бы заполнялся дебет и кредит и соответствующий уровень аналитики!!!
13 Vladal
 
05.08.12
22:50
(11) Стопни отладчиком на 94-й строчке, посмотри, есть ли в ПроводкаНУ или ПроводкаВР поле "СчетДТ"? Если есть, то какой тип значения?
14 Vladal
 
05.08.12
22:50
*на 94-й строчке модуля документа
15 sapravka
 
05.08.12
22:53
(11) Стопни отладчиком на 94-й строчке, посмотри, есть ли в ПроводкаНУ или ПроводкаВР поле "СчетДТ"? Если есть, то какой тип значения?
на ПроводкаНУ.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;
91.02

а на  ПроводкаВР.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;
91.02

Вот только на ПроводкаНУ.ВидУчетаДТ = Перечисления.ВидыУчетаПоПБУ18.НУ;
показывает

НУ
16 m-serg74
 
05.08.12
22:58
(15) на (6) где ответ
17 hhhh
 
05.08.12
22:59
(15) ну тебе же еще в (6) сказал товарищ

ПроводкаНУ = Дата;] - бред сивой кобылы.

откуда у даты может быть поле СчетДт?
18 undertaker
 
05.08.12
22:59
проблема в этой строке
ПроводкаНУ = Дата;

и в этой

ПроводкаВР = Дата;
19 m-serg74
 
05.08.12
23:01
(15) Лоботряс у спс не забудь сказать)
20 sapravka
 
05.08.12
23:04
проблема в этой строке
ПроводкаНУ = Дата;

и в этой

ПроводкаВР = Дата;

Я за комментировал эти строчки - ошибка осталась

Можно поподробнее - как обойти данные ошибки?
21 m-serg74
 
05.08.12
23:05
надо же какой ты догадливый, а не писать бред, не вариант?
22 sapravka
 
05.08.12
23:07
надо же какой ты догадливый, а не писать бред, не вариант?

Ну что то в ступор попал, подскажите что не так?
23 m-serg74
 
05.08.12
23:08
ты хоть сохранякшься/обновляешься после внесения изменений
24 undertaker
 
05.08.12
23:09
какие ошибки сейчас? просто за весь пост было две разные ошибки
25 m-serg74
 
05.08.12
23:11
наверное Запись то оставил, а заполнение закомментил
26 undertaker
 
05.08.12
23:13
и кстати комментировать эти строки не надо, должно быть что то вроде этого
Проводка.Период = Дата (или Проводка.Дата = Дата, не помню, что там)
по всем трем проводкам
27 undertaker
 
05.08.12
23:14
(25)мне кажется, он мог не расскоментировать, что в первый раз комментировал :)
28 m-serg74
 
05.08.12
23:15
да и так уже много насоветовали ТСу осталось внимательно почитать и немного подумать)
29 sapravka
 
05.08.12
23:15
и кстати комментировать эти строки не надо, должно быть что то вроде этого
Проводка.Период = Дата (или Проводка.Дата = Дата, не помню, что там)
по всем трем проводкам

спасибо, я поставил вот это:

ПроводкаНУ.Период = Дата;


Но вот ошибка вот на этом все равно выходит:
Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.НачислениеПроцентов.МодульОбъекта(93)}: Поле объекта не обнаружено (ВидУчетаДТ)


которая ругается на эту строчку:

ПроводкаНУ.ВидУчетаДТ = Перечисления.ВидыУчетаПоПБУ18.НУ;
30 undertaker
 
05.08.12
23:20
(29) а разве в новой БП есть разрез Вида учета? там разве не по ресурсам разнесено? То есть проводк должна быть одна, но должны заполнятся Сумма, СуммаНУ, СуммаВР, СуммаПР
31 m-serg74
 
05.08.12
23:22
так а ХЗ что у него новая/старая/каркасная
32 sapravka
 
05.08.12
23:23
а разве в новой БП есть разрез Вида учета? там разве не по ресурсам разнесено? То есть проводк должна быть одна, но должны заполнятся Сумма, СуммаНУ, СуммаВР, СуммаПР

Не знаю...
Я только изучаю...

Подскажите пожалуйста, где и как и что необходимо прописать, чтобы заполнить Сумма, СуммаНУ, СуммаВР, СуммаПР
33 sapravka
 
05.08.12
23:24
Бухгалтерия предприятия, редакция 2.0 (2.0.38.6)
34 undertaker
 
05.08.12
23:24
(31)ну раз он говорит что там один план счетов, значит БП новая, а решение походу по старой :)
35 m-serg74
 
05.08.12
23:25
ну тогда на фиг весь код по заполнению и просто разные Суммы пусть заполняяет
36 sapravka
 
05.08.12
23:26
ну раз он говорит что там один план счетов, значит БП новая, а решение походу по старой :)
НУ да нашел я пример решения по 1.6
37 sapravka
 
05.08.12
23:27
ну тогда на фиг весь код по заполнению и просто разные Суммы пусть заполняяет

А поподробнее?
38 m-serg74
 
05.08.12
23:29
что то типа


                     Проводка = Движения.Хозрасчетный.Добавить();
                     Проводка.Организация = Организация;
                     Проводка.ВалютаКт = Выборка.Субконто2.ВалютаВзаиморасчетов;
                     Проводка.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;
                     Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ПроцентыПоКраткосрочнымЗаймамВал;
                     Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = Выборка.Субконто2;                      
                     Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Выборка.Субконто2.Владелец;
                     Проводка.ВалютнаяСуммаКт = Выборка.ВалСумма;
                     Проводка.Сумма = Выборка.Сумма;
                     
                     Проводка.СуммаНУ = ?(Выборка.ПроцентГодовых>15, Выборка.Сумма/Выборка.Процентгодовых*15, Выборка.Сумма);
                     
                     Проводка.СуммаВР = Проводка.Сумма - ПроводкаНУ.Сумма;
39 undertaker
 
05.08.12
23:29
посмотри отладчиком, какие поля есть в Проводка, возможно там есть поля СуммаДтНУ, СуммаКтНУ (ВР,ПР) или что то в этом роде. Проверить возможности нет у меня
40 undertaker
 
05.08.12
23:30
(38) ну или так, без Дт и Кт
41 m-serg74
 
05.08.12
23:31
да эт я его код просто порезал, точно в БП не знаю как счас они называются пусть сам глянет