Имя: Пароль:
1C
1С v8
не устанавливается субконто
0 iQwerty
 
03.07.13
11:55
во время отладки контрагент принимает правильные значения, но субконто пустует.
Контрагент = Справочники.Контрагенты.НайтиПоКоду(строка.контрагенткод)
........................
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт,"Контрагенты", Контрагент);
1 asady
 
03.07.13
11:58
(0) чудес не бывает

к отладчику нужен ещё мосх
2 iQwerty
 
03.07.13
11:59
(1) что такое мосх?
3 iQwerty
 
03.07.13
11:59
может быть есть ещё способы заполнить субконто?
4 Maxus43
 
03.07.13
11:59
(2) между ушами находится видимо, обычно
5 Maxus43
 
03.07.13
12:01
"Контрагенты" точно? а не "контрагент"? проверь
6 Maxus43
 
03.07.13
12:02
там процедура небольшая, иди отладчиком внутрь БухгалтерскийУчет.УстановитьСубконто(
7 iQwerty
 
03.07.13
12:03
(5) проверил, да точно
8 iQwerty
 
03.07.13
12:04
(7) я зашёл отладчиком в БухгалтерскийУчет.УстановитьСубконто( контрагент принимает правильное значение
9 Maxus43
 
03.07.13
12:04
(8) значит потом затирается, смотри дальше
10 iQwerty
 
03.07.13
12:07
(9) да вроде на этом процедура заканчивается
11 Maxus43
 
03.07.13
12:08
после строки БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт,"Контрагенты", Контрагент);

РегЗапись отладчиком заполнена правильно?
12 vicof
 
03.07.13
12:10
(0) какое значение у регЗапись.СчетДт?
13 iQwerty
 
03.07.13
12:11
Контрагент = Справочники.Контрагенты.НайтиПоКоду(строка.контрагенткод);
   //КодОС = СокрП(ДБФ.OS);
   //ОсновноеСредство = Справочники.ОсновныеСредства.НайтиПоКоду(КодОС);
   РегЗапись = РегХозрасчетный.Добавить();
   РегЗапись.Период = Строка.Дата;
   РегЗапись.Регистратор = ДокОперацияСсылка;
   РегЗапись.Организация = Строка.Организация;
//    РегЗапись.СубконтоДт = "";
   РегЗапись.Содержание  = "Корректировка стоимости ОС с 0 стоимостью(Максим)";
   РегЗапись.СчетДт = ПланыСчетов.Хозрасчетный.МЦвОрганизации;
     РегЗапись.СчетКт = ПланыСчетов.Хозрасчетный.ОСБезГосРегистрации;
    //УстановитьСубконто(Счет, Субконто, ИмяСубконто, ЗначениеСубконто, Сообщать = Ложь, Заголовок = "", ВидыСубконтоСчета = Неопределено) Экспорт
       
   БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт,"Контрагенты", Контрагент);
   БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетКт, РегЗапись.СубконтоКт, "Контрагенты", Контрагент);
   //Субконто1 = Строка.контрагент;
   //БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетКт, РегЗапись.СубконтоКт, , );
   //(РегЗапись.СчетДт, РегЗапись.СубконтоДт, РегЗапись.СчетКт, РегЗапись.СубконтоКт, "ОсновныеСредства", ОсновноеСредство);
   //РегЗапись.Сумма = Строка.Сумма;
//     хгалтерскийУчет.УстановитьСубконто(НоваяЗапись.СчетДт,НоваяЗапись.СубконтоДт,"НоменклатурныеГруппы",Справочники.НоменклатурныеГруппы.НайтиПоКоду("000000002"));
//БухгалтерскийУчет.УстановитьСубконто(НоваяЗапись.СчетКт,НоваяЗапись.СубконтоКт,"Товары",Справочники.Номенклатура.НайтиПоНаименованию("ГТДИмпортТовары.Номенклатура"));
//НоваяЗапись.Период = СслыкаНаОбъект.Дата;
//НоваяЗапись.Активность = 1;
//  
РегХозрасчетный.Записать();        
       
       
    конеццикла;
14 iQwerty
 
03.07.13
12:11
03.01
15 iQwerty
 
03.07.13
12:12
(12) 03.01
16 iQwerty
 
03.07.13
12:13
меня немного смущает значение РегЗапись.СубконтоДт-РегистрБухгалтерииСубконто.Хозрасчетный
17 hhhh
 
03.07.13
12:14
(15) ну открой план счетов посмотри 03.01, есть у него Контрагенты там? У меня в базе, например, нет.
18 alexiv79
 
03.07.13
12:18
(0) Может не устанавливаться, если тип субконто составной. Попробуй сначала установить Справочники.Контрагенты.пустаяСсылка() - тогда должен тип подставится, потом подставляй значение уже
19 alexiv79
 
03.07.13
12:21
(15) В БП 2.0.46.8 на счете 03.01 - только 1 субконто-Основные средства
20 hhhh
 
03.07.13
12:25
(18) не, на практика там обратная ситуация. Можно легко в субконто Контрагенты подставить например договор, она даже не ругнется.
21 Maxus43
 
03.07.13
12:28
(20) ага, сам видел, был удивлён...)
22 iQwerty
 
03.07.13
16:04
там разобрался, спасибо.
дальше возникла ошибка, при работе с другим документом
{ОбщийМодуль.БухгалтерскийУчет.Модуль(371)}: Поле объекта не обнаружено (Прочие доходы и расходы)
           ВидСубк = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные[ИмяСубконто];


код
РасходыПоГарантии=Справочники.ПрочиеДоходыИРасходы.НайтиПоНаименованию("Расходы по гарантии");
//склад=строка.склад;
количество=строка.количество;
//сумма=строка.сумма;
пам=планывидовхарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Прочие доходы и расходы").Наименование;
   Номенклатура=строка.номенклатура;
   Контрагент = Справочники.Контрагенты.НайтиПоКоду(строка.контрагенткод);
   //КодОС = СокрП(ДБФ.OS);
   //ОсновноеСредство = Справочники.ОсновныеСредства.НайтиПоКоду(КодОС);
   РегЗапись = РегХозрасчетный.Добавить();
   РегЗапись.Период = Строка.Дата;
   РегЗапись.Регистратор = ДокОперацияСсылка;
   РегЗапись.Организация = Строка.Организация;
//    РегЗапись.СубконтоДт = "";
   РегЗапись.Содержание  = "Корректировка стоимости ОС с 0 стоимостью(Максим)";
   РегЗапись.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходыНеОблагаемыеЕНВД;
     РегЗапись.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками;
    //УстановитьСубконто(Счет, Субконто, ИмяСубконто, ЗначениеСубконто, Сообщать = Ложь, Заголовок = "", ВидыСубконтоСчета = Неопределено) Экспорт
       
   БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, пам, РасходыПоГарантии);
23 hhhh
 
03.07.13
16:08
пам=планывидовхарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Прочие доходы и расходы").Наименование;

феерично.
24 iQwerty
 
03.07.13
16:11
(23)я пробовал как мог) а в чем проблема то?
25 iQwerty
 
03.07.13
16:19
up
26 Мыш
 
03.07.13
16:27
пам=планывидовхарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Прочие доходы и расходы");

Без ".Наименование"
27 Мыш
 
03.07.13
16:31
Или так:
РегЗапись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы]=Справочники.Контрагенты.НайтиПоКоду(строка.контрагенткод);
28 iQwerty
 
03.07.13
16:32
(26) почему?
29 iQwerty
 
03.07.13
16:33
(28) есть ошибка Получение элемента по индексу для значения не определено
30 Мыш
 
03.07.13
16:34
(28) В первом случае тип возвращаемого значения "Строка", во втором "ПланВидовХарактеристикСсылка". Надо один раз понять и больше не допускать таких детских ошибок.
31 iQwerty
 
03.07.13
16:36
(30) так там и нужно строку
32 iQwerty
 
03.07.13
16:36
(30) разве нет?
33 iQwerty
 
03.07.13
16:37
(30) ну в общем ошибка (29)
34 ДенисЧ
 
03.07.13
16:37
(31) В значении субконто - строка?
Срочно высылай мне три дозы такой же травы...
35 iQwerty
 
03.07.13
16:37
а по поводу (27) это что и куда?
36 iQwerty
 
03.07.13
16:38
(34) ладно ладно не значение строка, то есть значение конечно же не строка
37 ДенисЧ
 
03.07.13
16:38
(36) А нафига тогда ты туда строку пихашь?
38 iQwerty
 
03.07.13
16:38
но он же говорит про вид субконто, там то строка
39 Мыш
 
03.07.13
16:39
(31) Нет.
(32) Нет.
(35) Это другой вариант выполнения. В одну строку, без вызова других функций.
(34) Курить - здоровью вредить )
40 Мыш
 
03.07.13
16:40
(38) Вид субконто не может быть строкой.
41 iQwerty
 
03.07.13
16:40
(37) то есть я пихаю строку в вид субконто, то бишь
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт,"Контрагенты", Контрагент);
он говорит про "Контрагенты", то что находится после третей запятой
42 Мыш
 
03.07.13
16:41
(41) Это вызов процедуры общего модуля. Там эта строка в любом случае преобразуется в ссылку.
43 iQwerty
 
03.07.13
16:41
после второй запятой) курить здоровью вредить(с)
44 ДенисЧ
 
03.07.13
16:41
(41) вид субконто - это ПланХарактеристик.ВидыСубконто, но никак не строка
45 iQwerty
 
03.07.13
16:42
(42) ясно, ну так вот я изменил на без .наименование и ошибка
Получение элемента по индексу для значения не определено
46 Мыш
 
03.07.13
16:46
(45) Так и ожидалось. )
47 Мыш
 
03.07.13
16:49
Можно так:

БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Прочие доходы и расходы", РасходыПоГарантии);

или так:

РегЗапись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы]=РасходыПоГарантии;

или так:

пам=планывидовхарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Прочие доходы и расходы");
РегЗапись.СубконтоДт[пам]=РасходыПоГарантии;
48 iQwerty
 
03.07.13
16:55
(47) Запись не верна! Вид субконто "Прочие доходы и расходы" не доступен для данной записи! (Регистр бухгалтерии: Журнал проводок (бухгалтерский учет); Номер строки: 1)
а это о чем может быть? я уже настолько запутался
49 iQwerty
 
03.07.13
16:59
(47) Спасибо, это просто невнимательность
50 iQwerty
 
03.07.13
17:09
(47) вобщем без ошибок но не создается проводка в регистре бухгалтерия, я использую РегЗапись.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы]=РасходыПоГарантии;
и мне кажется что ему что тоне хватает