Имя: Пароль:
1C
1C 7.7
v7: Помогите разобраться с кодом в 77
, ,
0 uuu_ggg
 
27.04.12
11:46
у меня есть обработка по выгрузке данных их комплексной 77 в зуп 8.
Все вроде бы хорошо но есть 2 ошибки,не могу разобраться.Помогите,плиз
Ошибка
Ошибка исполнения обработчика:  ПВД_ПередОбработкойПравила_СтраховыеВзносы
 - Поле агрегатного объекта не обнаружено (НеВзиматьВзносыФОМС)
вот часть кода:

   Для Сч = ПервыйМесяц По ПоследнийМесяц Цикл
           
           ДатаМесяца=КонМесяца(Дата(Год,Сч,15));
           
           Если (Сотрудник.НеВзиматьВзносыПФРиФСС.Получить(ДатаМесяца) = 1) Тогда
               ВзиматьВзносыПФРиФСС = ?(Сч=1,"",Лев(ВзиматьВзносыПФРиФСС,Сч-1))+"0"+?(Сч=12,"",Прав(ВзиматьВзносыПФРиФСС,12-Сч));
           КонецЕсли;
           
           Если (Сотрудник.НеВзиматьВзносыФОМС.Получить(ДатаМесяца) = 1) Тогда
               ВзиматьВзносыФОМС = ?(Сч=1,"",Лев(ВзиматьВзносыФОМС,Сч-1))+"0"+?(Сч=12,"",Прав(ВзиматьВзносыФОМС,12-Сч));
           КонецЕсли;
           
           КатегорияПФР = Сотрудник.КатегорияПлательщикаПФР.Получить(ДатаМесяца).Идентификатор();
           Если ПустоеЗначение(КатегорияПФР) = 0 Тогда
               Если Найти(",НРИВ,СХИВ,ФХИВ,ИПИВ,АДИВ,",","+КатегорияПФР+",") > 0 Тогда
                   Инвалид = ?(Сч=1,"",Лев(Инвалид,Сч-1))+"1"+?(Сч=12,"",Прав(Инвалид,12-Сч));
               КонецЕсли;
           КонецЕсли;
           
           Если ИскатьЛетчиков = 1 Тогда
               
               Если Сотрудник.Должность.Получить(ДатаМесяца).ЛетныйЭкипаж > 0 Тогда
                   Летчик       = ?(Сч=1,"",Лев(Летчик,Сч-1))+"1"+?(Сч=12,"",Прав(Летчик,12-Сч));
               КонецЕсли;
               Если Сотрудник.Должность.Получить(НачМесяца(ДатаМесяца)).ЛетныйЭкипаж > 0 Тогда
                   Летчик       = ?(Сч=1,"",Лев(Летчик,Сч-1))+"1"+?(Сч=12,"",Прав(Летчик,12-Сч));
               КонецЕсли;
               
           КонецЕсли;
           
       КонецЦикла;
47 DES
 
28.04.12
16:24
запусти отладчик. останови перед исполнением этой строки.
посмотри тип переменной и тип аргумента.
сравни типы
48 DES
 
28.04.12
16:27
или метод не применим к типу
49 uuu_ggg
 
28.04.12
16:36
такой вопрос
у меня есть запрос,я хочу посмотреть что он в себе содержит...
скопировала его во внешнюю обработку...как мне его вывести хоть куда нибудь??
ну вот в 8ке
Запрос.Выполнить().Выгрузить()...и т.д и там я могу посмотреть
50 uuu_ggg
 
28.04.12
16:52
аау..)семорошники..)где ВЫ)
51 NS
 
28.04.12
16:52
Сообщить(ТекстЗапроса);
Предупреждение(ТекстЗапроса)
и т.д.
52 NS
 
28.04.12
16:53
ТЗ=создатьобъект("ТаблицаЗначений");
Запрос.Выгрузить(ТЗ,0,0);
ТЗ.Выбратьстроку();
53 uuu_ggg
 
28.04.12
16:56
ЖрнЗарплата = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(НДФЛКЗачету)
|Период С ДатаНачалаТекущегоГода ПО ДатаОкончанияТекущегоГода;
|Объект     = ЖурналРасчетов.Зарплата.Объект;
|РодительскийДокумент     = ЖурналРасчетов.Зарплата.РодительскийДокумент;
|ДокументОснование     = ЖурналРасчетов.Зарплата.ТекущийДокумент;
|ЗаписьЖР     = ЖурналРасчетов.Зарплата.ТекущаяЗапись;
|ВидРасч     = ЖурналРасчетов.Зарплата.ВидРасч;
|ПериодРегистрации     = ЖурналРасчетов.Зарплата.ПериодРегистрации;
|ПериодДействия     = ЖурналРасчетов.Зарплата.ПериодДействия;
|ПериодДействияДатаНачала     = ЖурналРасчетов.Зарплата.ПериодДействия.ДатаНачала;
|ПериодДействияДатаОкончания    = ЖурналРасчетов.Зарплата.ПериодДействия.ДатаОкончания;
|Результат     = ЖурналРасчетов.Зарплата.Результат;
|Группировка ПериодРегистрации;
|Группировка Объект без групп;
|Группировка ЗаписьЖР;
|Условие(Результат < 0);
|Условие(ВидРасч.ВходитВГруппу(ГруппаРасчетов.ВсеИсчисленныеНДФЛ) = 1);
|Условие(ПорцияСотрудников.Принадлежит(Объект) = 1);
|";

ТЗ=создатьобъект("ТаблицаЗначений");
ЖрнЗарплата.Выгрузить(ТЗ,0,0);
ТЗ.Выбратьстроку();
54 uuu_ggg
 
28.04.12
16:57
у меня почему то пустое окно выдает)
55 NS
 
28.04.12
16:58
ЖрнЗарплата.выполнить(ТекстЗапроса);
ТЗ=создатьобъект("ТаблицаЗначений");
ЖрнЗарплата.Выгрузить(ТЗ,0,0);
ТЗ.Выбратьстроку();
56 uuu_ggg
 
28.04.12
17:01
он мне туперь на ДатаНачалаТекущегоГода и ДатаОкончанияТекущегоГода ругается..
а как мне прям конкретные даты поставить?)
57 NS
 
28.04.12
17:02
А как раньше запрос работал?
58 uuu_ggg
 
28.04.12
17:04
я пробую с этой ошибкой бороться...
этим запросом собираются данные по ндфл. Хочу как то отдельно их выгрузить и загрузить в зуп
59 uuu_ggg
 
28.04.12
17:05
он в (9) есть
60 uuu_ggg
 
28.04.12
17:14
какие то 2 непонятные строки мне выдает)
61 NS
 
28.04.12
17:15
ТЗ=создатьобъект("ТаблицаЗначений");
ЖрнЗарплата.Выгрузить(ТЗ,0,0);
ТЗ.Выбратьстроку();
Вот эти строки нужно добавить после ЖрнЗарплата.Выполнить(
62 uuu_ggg
 
28.04.12
17:16
так я так и сделала
63 NS
 
28.04.12
17:20
(60) А должен понятные выдавать?
64 uuu_ggg
 
28.04.12
17:28
как мне выгрузить данные по ндфл........
65 uuu_ggg
 
28.04.12
17:32
теперь  вот эта осталась
Ошибка исполнения обработчика:  ПВД_ПередОбработкойПравила_НДФЛ
- Значение не представляет агрегатный объект (Код)
66 uuu_ggg
 
28.04.12
17:33
ой
67 Deon
 
28.04.12
17:36
ой?
68 uuu_ggg
 
28.04.12
17:40
(65)не сюда)
69 Deon
 
28.04.12
17:42
(68) Ты отладчиком проходилась по ПВД_ПередОбработкойПравила_НДФЛ() ? Определила в каком месте вызывается исключение?
70 uuu_ggg
 
28.04.12
17:47
отладчик у меня вообще не сработал(((
71 Deon
 
28.04.12
17:48
(70) А точку останова точно ставила? Пользовательский режим из самого отладчика запусти на всякий случай
72 uuu_ggg
 
28.04.12
17:55
я сделал другую обработку,поставила там отладчик  (просто посмотреть как с ним работать).так он обработку выполнил и все...и в то место где она стоит не вернулся)
73 uuu_ggg
 
28.04.12
17:57
о...сейчас получилось с отладчиком
74 uuu_ggg
 
28.04.12
17:59
только у меня выгрузка будет час идти)Вас уже не будет тут?)
75 Deon
 
28.04.12
18:00
(74) Кто-нибудь да будет. Наверно. Хотя суббота. Солнце светит. Пиво стынет
76 Мимохожий Однако
 
28.04.12
18:00
Кто-нибудь будет наверняка )))
77 uuu_ggg
 
28.04.12
18:01
блин..)ну вы, как возможность будет, заходите сюда)
78 DES
 
28.04.12
18:06
сделай запрос короче, выбери пару строк для отладки, не надо полностью выбирать все.
79 uuu_ggg
 
28.04.12
18:07
я не знаю как этого сделать..)я уже все запустила)
80 DES
 
28.04.12
18:16
даты поставь на пару дней или добавь условие для выборки 1 известной записи.
81 DES
 
28.04.12
18:23
запускаешь прогу, дает ошибку, кликаешь по ошибке, влетаешь в конфигуратор на строку с ошибкой, открываешь отладчик, на строку выше ставишь прерывание. Запускаешь прогу. она станет на точке останова. смотри на строку ошибки и анализируй методы
например.
написано
а=бэ.получить();
смотри значение бэ
а оно оказывается '01.01.2012' к примеру
82 Deon
 
28.04.12
19:33
(81) У неё Исключение срабатывает во вложенных функциях, надо всю процедуру шерстить отладчиком
83 Deon
 
28.04.12
19:33
Час прошел
84 uuu_ggg
 
28.04.12
21:49
блин,он как будто эту точку останова вообще не видит..
все тоже самое делает
85 Deon
 
28.04.12
21:51
(84) Ну напихай в код кучу сообщить(1) сообщить(2) ...
86 uuu_ggg
 
28.04.12
22:07
прям во весь код или только в эту функцию???)
87 BlackSeaCat
 
28.04.12
22:22
Да пригласите уже кто-нибудь автора на свидание!
88 Deon
 
28.04.12
22:23
в эту процедуру
89 uuu_ggg
 
28.04.12
22:25
(87)..)))))))))
90 uuu_ggg
 
28.04.12
22:26
(88)завтра попробую...
у меня ноут уже сегодня целый день эти выгрузки крутит.....
91 DES
 
28.04.12
22:52
(84) значит не тут точку выбрала
92 Torquader
 
28.04.12
22:54
Вопрос в чём - в ошибке сказали, что где-то неправильно написано ".Код" внутри процедуры.
Но, я в упор не вижу в самом обработчике упоминания "Код", наверное - он где-то в дочерних процедурах упоминается.
В общем - заверните вызов каждой из процедур в попытку и посмотрите, кто у вас чудит, и что вы им в параметрах передаёте.
93 DES
 
28.04.12
22:54
Если Запрос ругается, то значит изменена структура данных выгрузки.
Проверь в коде запроса  типы данных в операторах соотношений данных.
94 DES
 
28.04.12
22:56
и явно не в указанном коде проблема...
95 uuu_ggg
 
29.04.12
12:24
я уже ничего не понимаю...навставляла везде сообщить..и ничего не вышло!!!
96 Torquader
 
29.04.12
12:28
(95) Если не работает сообщить, то можно предположить, что исполняется не тот код, который вы отлаживаете, а какой-то другой, например, внешняя обработка живёт в другой папке или вы её просто забыли сохранить (по F11 она автоматом не сохраняется).
97 uuu_ggg
 
29.04.12
13:02
да...действительно...)так и было..)теперь я нашла на какой функции он ломается

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


   Перем СуммыВычетов[20];
   Перем ВычетыТекущие[20];
   Перем ЗачтеноПоДивидендам[12];
   
   Перем СуммыВычетовП[20];
   Перем ВычетыТекущиеП[20];
   
   ОбобщенныйСотрудник                                    = ИсходящиеДанные;
   ДатаАктуальности                                    = ВходящиеДанные;
   ТаблицаНДФЛСведенияОДоходах                            = Источник;
   ТаблицаНДФЛИмущественныеВычетыФизлиц                = Приемник;
   ЮрЛицо                                                = ТипПриемника;
   
   ПорядокРасчетаНДФЛ    = ЮрЛицо.УчетнаяПолитикаПоНДФЛ.Получить(КонГода(ДатаАктуальности));
   НомерРелизаИБ        = Число(СтрЗаменить(Константа.НомерРелиза, ".",""));
   
   Год = ДатаГод(ДатаАктуальности);
   Если Год < 2005 Тогда //сообщим, что расчеты до 2005 года не поддерживаются
       ТекстОшибки        = "Выгрузка ранее " + Год + " года не поддерживается.";
       ТекстДействия    = "При выгрузке НДФЛ укажите период с " + Год + " года.";
       
       Сообщить(ТекстОшибки + " " + ТекстДействия, "!");
       ЗафиксироватьОшибку(ТекстОшибки + "|" + ТекстДействия + "|Не останавливать перенос");
       Возврат 0
   КонецЕсли;
   
   ЖрнЗарплата = СоздатьОбъект("ЖурналРасчетов.Зарплата");
   КонецПериодаОсмотра = ЖрнЗарплата.КонецТекущегоПериода();
   НачалоГода = ЖрнЗарплата.НачалоПериодаПоДате(НачГода(ДатаАктуальности)+15);
   ОкончаниеГода = ЖрнЗарплата.КонецПериодаПоДате(КонГода(ДатаАктуальности)-10);
   
   ТаблицаРаспределения = СоздатьОбъект("ТаблицаЗначений");
   ТаблицаРаспределения.НоваяКолонка("Шаблон","Справочник.ПроводкиРасчетаЗарплаты",,,,,,);
   ТаблицаРаспределения.НоваяКолонка("Сумма","Число",15,2,,);
   
   // скопируем структуру таблицы
   ВремТаблицаНДФЛСведенияОДоходах = СоздатьОбъект("ТаблицаЗначений");
   ВремТаблицаНДФЛСведенияОДоходах.Загрузить(ТаблицаНДФЛСведенияОДоходах);
   
   // скопируем структуру таблицы
   ВремТаблицаНДФЛИмущественныеВычетыФизлиц = СоздатьОбъект("ТаблицаЗначений");
   ВремТаблицаНДФЛИмущественныеВычетыФизлиц.Загрузить(ТаблицаНДФЛИмущественныеВычетыФизлиц);
   
   ФизЛица = СоздатьОбъект("СписокЗначений");
   Если ТипЗначения(ОбобщенныйСотрудник) = 11  Тогда //здесь был передан элемент справочника - добавим его в только что созданный список
       ФизЛица.ДобавитьЗначение(ОбобщенныйСотрудник);
   Иначе //а здесь был передан список элементов - будем использовать непосредственно его
       ФизЛица = ОбобщенныйСотрудник;
   КонецЕсли;
   
   ПорядокПредоставленияВычетов=СоздатьОбъект("СписокЗначений");
   Если (Год >=2009) и (НомерРелизаИБ >= 770488) Тогда
       ПорядокПредоставленияВычетов.ДобавитьЗначение("108");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("110");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("111");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("109");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("112");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("113");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("103");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("104");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("105");
   Иначе
       ПорядокПредоставленияВычетов.ДобавитьЗначение("101");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("102");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("106");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("107");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("103");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("104");
       ПорядокПредоставленияВычетов.ДобавитьЗначение("105");    
   КонецЕсли;
   
   
   //  проинициализируем выходную таблицу значений
   ДоходыВычетыНалогиСотрудников=СоздатьОбъект("ТаблицаЗначений");
   //  1-ая колонка (строка, 12) - ключевое поле для поиска данных;
   //    состоит из 10 символов табельного номера сотрудника и 2-х символов месяца.
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Строка",12);
   //    2-ая колонка содержит таблицу доходов  
   //    имеет 7 колонок: код дохода, размер дохода, код вычета, размер вычета,размер дохода из справочника, размер вычета из справочника и
   //    в седьмой колонке - таблица сумм "СписокСуммПоВР", из которых собрана сумма текущего дохода (первая колонка - сумма, вторая колонка - ВР)
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"ТаблицаЗначений");
   //  3-ая колонка содержит список значений из трех значений:
   //    первое значение        - список сумм стандартных вычетов, за месяц, указанный в первой колонке "верхней" таблицы, нарастающим итогом с начала года; в представлении содержится код вычета.
   //    второе значение        - суммы облагаемой базы нарастающим итогом с начала года без учета имущественных вычетов ("бывшая" колонка 13)
   //    третье значение        - размер примененных имущественных вычетов с кодом 313\311 нарастающим итогом с начала года, за месяц, указанный в первой колонке "верхней" таблицы;
   //    четвертое значение    - размер примененных имущественных вычетов с кодом 312 нарастающим итогом с начала года, за месяц, указанный в первой колонке "верхней" таблицы;
   //  
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"СписокЗначений");
   //  4,5  колонки содержат суммы НДФЛ исчисленного (по трем ставкам),
   //    нарастающим итогом с начала года, собранного по периоду действия.
   //  7,8  колонки содержат суммы НДФЛ исчисленного (по трем ставкам),
   //    нарастающим итогом с начала года, собранного по периоду регистрации.
   //  10,11 колонки содержат суммы НДФЛ удержанного (по трем ставкам),
   //    нарастающим итогом с начала года, собранного по периоду регистрации.
   //  13,14 колонки содержат суммы облагаемой базы (обычная и дивиденты),
   //    нарастающим итогом с начала года.
   //  16,17 колонки содержат суммы переданные на взыскание в ИМНС
   //    нарастающим итогом с начала года.
   //  6-ая, 9-ая, 12-ая, 15-ая, 18-ая - это строки из 4-х чисел
   Для Сч = 1 По 5 Цикл
       ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
       ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
       //строка из 4-х чисел Формата 15.2, разделенных ";" 4* ((15+1(для "точки")+2)+1(для "точки с запятой")) = 76
       //6-ая кол    Сч=1: 4 величины НДФЛ исчисл. по ставке 35% по периоду действия
       //9-ая кол    Сч=2: 4 величины НДФЛ исчисл. по ставке 35% по периоду рег.
       //12-ая кол Сч=3: 4 величины НДФЛ уд. по ставке 35% по периоду действия
       //15-ая кол Сч=4: 4 величины облагаемой базы по ставке 35%
       //18-ая кол Сч=5: 4 величины НДФЛ по ставке 35%, переданных на взыскание в ИМНС
       ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Строка",76);
   КонецЦикла;
   //  19-ая колонка содержит совокупный доход для исчисления вычетов
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
   //  20-ая колонка содержит сумму вычетов, неиспользованных с начала года по текущий месяц (для расчетов от обратного)
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
   //  21,22 и 23-я колонки содержат суммы НДФЛ исчисленного (по трем ставкам),
   //    нарастающим итогом с начала года - исчисленного для налоговой отчетности
   //  23-я - это строка из 4-х чисел
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Строка",76); //23-я колонка - строка из 4-х чисел
   //  4+20,5+20 и 6+20-ая колонки содержат суммы НДФЛ исчисленного (по трем ставкам),
   //    нарастающим итогом с начала года, собранного только из справочников(чтобы иметь суммы,введенные непосредственно в карточку).
   //  7+20,8+20 и 9+20-ая колонки содержат суммы НДФЛ исч по периоду регистрации (по трем ставкам),
   //    нарастающим итогом с начала года, собранного только из справочников(чтобы иметь суммы,введенные непосредственно в карточку).
   //  10+20,11+20 и 12+20-ая колонки содержат суммы НДФЛ уд (по трем ставкам),
   //    нарастающим итогом с начала года, собранного только из справочников(чтобы иметь суммы,введенные непосредственно в карточку).
   
   //  33,34 и 35-ая колонки (аналог 21,22 и 23) содержат суммы НДФЛ исч. для отч-ти (по трем ставкам),
   //    нарастающим итогом с начала года, собранного только из справочников(чтобы иметь суммы,введенные непосредственно в карточку).
   //  16+20,17+20 и 18+20-ая колонки содержат суммы на взыскание (по трем ставкам),
   //    нарастающим итогом с начала года, собранного только из справочников(чтобы иметь суммы,введенные непосредственно в карточку).
   //  39,40 и 41-ая колонки содержат суммы облагаемой базы (по трем ставкам),
   //    нарастающим итогом с начала года по данным, введенным в карточку вручную.
   Для Сч = 1 По 6 Цикл
       ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
       ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
       //строка из 4-х чисел Формата 15.2, разделенных ";" 4* ((15+1(для "точки")+2)+1(для "точки с запятой")) = 76
       //6+20-ая кол    Сч=1: 4 величины НДФЛ исчисл. по ставке 35% по периоду действия    по справочникам
       //9+20-ая кол    Сч=2: 4 величины НДФЛ исчисл. по ставке 35% по периоду рег.        по справочникам
       //12+20-ая кол    Сч=3: 4 величины НДФЛ уд. по ставке 35% по периоду действия        по справочникам
       //35-ая кол    Сч=4: 4 величины НДФЛ исч. по ставке 35% для отчетности            по справочникам
       //18+20-ая кол  Сч=5: 4 величины НДФЛ по ставке 35%, переданных на взыскание в ИМНС по справочникам
       //41-ая кол      Сч=6: 4 величины облагаемой базы по ставке 35%                        по справочникам
       ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Строка",76);
   КонецЦикла;
   
   // 42 (3 раздел) строка "Возвращена налоговым агентом излишне удержанная сумма налога"
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
   // 43(4 раздел) строка "Возвращена налоговым агентом излишне удержанная сумма налога"
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Число",15,2);
   // 44(5 раздел) строка, стрка из 4-чисел "Возвращена налоговым агентом излишне удержанная сумма налога"
   ДоходыВычетыНалогиСотрудников.НоваяКолонка(,"Строка",76);
   // 45, список значений с периодами регистрации НДФЛ по ставке 13%
   ДоходыВычетыНалогиСотрудников.НоваяКолонка("НР","СписокЗначений");
   
   ДоходыВычетыНалогиСотрудников.НоваяКолонка("Подразделение","Справочник.Подразделения");
   СписокПодразделений = СоздатьОбъект("СписокЗначений");
   ПустоеПодразделение = ПолучитьПустоеЗначение("Справочник.Подразделения");
   Для Сч = 1 По 12 Цикл
       СписокПодразделений.ДобавитьЗначение(ПустоеПодразделение);
   КонецЦикла;
   
   
   // соберем данные о вычетах сотрудников
   
   // Для начала заполним таблицу всех вычетов
   ТаблицаВычетов = СоздатьОбъект("ТаблицаЗначений");
   ТаблицаВычетов.НоваяКолонка("Код","Строка",3);
   ТаблицаВычетов.НоваяКолонка("Наименование","Строка",96);
   ТаблицаВычетов.НоваяКолонка("Сумма","Число",15);
   ТаблицаВычетов.НоваяКолонка("ПределДоходов","Число",15);
   
   ВидыВычетов = СоздатьОбъект("Справочник.ВидыВычетов");
   ВидыВычетов.ИспользоватьДату(ОкончаниеГода,1);
   ВидыВычетов.ВыбратьЭлементы();
   Пока ВидыВычетов.ПолучитьЭлемент() = 1 Цикл
       ТаблицаВычетов.НоваяСтрока();    
   
       Если НомерРелизаИБ >= 770286 Тогда
           Если Год >= 2010 Тогда
               КодВычета = ВидыВычетов.КодДляОтчетности2010;
           ИначеЕсли Год =2009 Тогда
               КодВычета = ВидыВычетов.КодДляОтчетности2009;
           ИначеЕсли Год = 2008 Тогда    
               КодВычета = ВидыВычетов.КодДляОтчетности2008;    
           Иначе
               КодВычета = ВидыВычетов.КодДляОтчетности2007;
           КонецЕсли;
           Если КодВычета = "-" Тогда
               Продолжить;
           КонецЕсли;
           
       Иначе
           КодВычета = ВидыВычетов.Код;
           
       КонецЕсли;
       
       ТаблицаВычетов.Код            = КодВычета;
       ТаблицаВычетов.Наименование    = ВидыВычетов.Наименование;
       ТаблицаВычетов.Сумма        = ВидыВычетов.Сумма;
       ТаблицаВычетов.ПределДоходов= ВидыВычетов.ПределДоходов;
   КонецЦикла;
   
   ПустаяДата='  .  .  ';
   
   ТекстЗапроса = "//{{ЗАПРОС(ПоВычетам)
   |Объект = Справочник.ВычетыСотрудниковПоНДФЛ.Владелец;
   |Элемент = Справочник.ВычетыСотрудниковПоНДФЛ.ТекущийЭлемент;
   |ДатаНачала = Справочник.ВычетыСотрудниковПоНДФЛ.ДатаНачала;
   |ДатаОкончания = Справочник.ВычетыСотрудниковПоНДФЛ.ДатаОкончания;";
   Если НомерРелизаИБ >= 770286 Тогда
       Если Год >=2010 Тогда
           ТекстЗапроса = ТекстЗапроса + "ВидВычета = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета.КодДляОтчетности2010;";
       ИначеЕсли Год =2009 Тогда
           ТекстЗапроса = ТекстЗапроса + "ВидВычета = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета.КодДляОтчетности2009;";
       ИначеЕсли Год =2008 Тогда    
           ТекстЗапроса = ТекстЗапроса + "ВидВычета = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета.КодДляОтчетности2008;";    
       Иначе
           ТекстЗапроса = ТекстЗапроса + "ВидВычета = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета.КодДляОтчетности2007;";
       КонецЕсли;
   Иначе
       ТекстЗапроса = ТекстЗапроса + "ВидВычета = Справочник.ВычетыСотрудниковПоНДФЛ.ВидВычета.Код;";
   КонецЕсли;
   ТекстЗапроса = ТекстЗапроса + "
   |Размер = Справочник.ВычетыСотрудниковПоНДФЛ.Сумма;
   |НомерУведомления = Справочник.ВычетыСотрудниковПоНДФЛ.НомерУведомления;
   |ДатаУведомления = Справочник.ВычетыСотрудниковПоНДФЛ.ДатаУведомления;
   |КодФНС = Справочник.ВычетыСотрудниковПоНДФЛ.КодФНС;
   |Группировка Объект;
   |Группировка Элемент;
   |Условие(Объект в ФизЛица);
   |Условие((ДатаНачала <= ОкончаниеГода) и ((ДатаОкончания >= НачалоГода) или (ДатаОкончания = ПустаяДата)));
   |"//}}ЗАПРОС
   ;
   
   ЗапросПоВычетам=СоздатьОбъект("Запрос");
   Если ЗапросПоВычетам.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат 0;
   КонецЕсли;
   
   // чтобы не обращаться лишний раз в информационную базу,
   // составим таблицу соответствия видов расчета из облагаемой базы НДФЛ
   // и кодов дохода по НДФЛ
   глСтатусСтрока(Форма,"Подготовка таблицы соответствия видов расчета и кодов дохода по НДФЛ");
   СоответствиеВРкодамДоходов = СоздатьОбъект("ТаблицаЗначений");
   СоответствиеВРкодамДоходов.НоваяКолонка(,"ВидРасчета");
   СоответствиеВРкодамДоходов.НоваяКолонка(,"Строка",4);
   СоответствиеВРкодамДоходов.НоваяКолонка(,"Строка",1);
   СправочникВР = СоздатьОбъект("Справочник.ВидыРасчетов");
   СправочникРасчетнойБазы = СоздатьОбъект("Справочник.ВидыРасчетовБаза");
   Если СправочникВР.НайтиПоРеквизиту("Расчет",ВидРасчета.НДФЛ,1)=1  Тогда
       СправочникРасчетнойБазы.ИспользоватьВладельца(СправочникВР.ТекущийЭлемент());
   КонецЕсли;
   Если (СправочникРасчетнойБазы.ВыбратьЭлементы(1)=1) и (СправочникВР.Выбран()=1) Тогда
       Пока СправочникРасчетнойБазы.ПолучитьЭлемент()=1  Цикл
           ВР=СправочникРасчетнойБазы.Расчет;
           НомерСтроки="";
           Если СоответствиеВРкодамДоходов.НайтиЗначение(ВР,НомерСтроки,1)=0 Тогда
               СправочникВР.НайтиПоРеквизиту("Расчет",ВР,1);
               СоответствиеВРкодамДоходов.НоваяСтрока();
               НомерСтроки=СоответствиеВРкодамДоходов.КоличествоСтрок();
               СоответствиеВРкодамДоходов.УстановитьЗначение(НомерСтроки,1,ВР);
               СоответствиеВРкодамДоходов.УстановитьЗначение(НомерСтроки,2,?(СправочникВР.ВидДохода.Выбран()=1,СправочникВР.ВидДохода.Код,"2000"));
               СоответствиеВРкодамДоходов.УстановитьЗначение(НомерСтроки,3,"1");
           КонецЕсли;
       КонецЦикла;
   Иначе
       ВсегоВР=ГруппаРасчетов.ОблагаетсяНДФЛ.Количество();
       Для Сч = 1 По ВсегоВР Цикл
           ВР=ГруппаРасчетов.ОблагаетсяНДФЛ.ПолучитьРасчет(Сч);
           ВидРасчетаНастроенПользователем=0;
           Если ВР.ВходитВГруппу(ГруппаРасчетов.НастраиваемыеВидыРасчета) = 1 Тогда
               ВидРасчетаНастроенПользователем = СправочникВР.НайтиПоРеквизиту("Расчет",ВР,1);
           КонецЕсли;
           // не будем включать в налоговую базу те в.р., которые пользователь еще не описал
           Если (ВР.ВходитВГруппу(ГруппаРасчетов.НастраиваемыеВидыРасчета) = 0) или (ВидРасчетаНастроенПользователем = 1) Тогда
               НомерСтроки="";
               Если СоответствиеВРкодамДоходов.НайтиЗначение(ВР,НомерСтроки,1)=0 Тогда
                   Если ВидРасчетаНастроенПользователем = 0 Тогда
                       СправочникВР.НайтиПоРеквизиту("Расчет",ВР,1);
                   КонецЕсли;
                   СоответствиеВРкодамДоходов.НоваяСтрока();
                   НомерСтроки=СоответствиеВРкодамДоходов.КоличествоСтрок();
                   СоответствиеВРкодамДоходов.УстановитьЗначение(НомерСтроки,1,ВР);
                   СоответствиеВРкодамДоходов.УстановитьЗначение(НомерСтроки,2,?(СправочникВР.ВидДохода.Выбран()=1,СправочникВР.ВидДохода.Код,"2000"));
                   СоответствиеВРкодамДоходов.УстановитьЗначение(НомерСтроки,3,"1");
               КонецЕсли;
           КонецЕсли;
       КонецЦикла;
   КонецЕсли;
   
   СписокВРПоПериодуДействия=СоздатьОбъект("СписокЗначений");
   СписокВРПоПериодуРегистрации=СоздатьОбъект("СписокЗначений");
   СоответствиеВРкодамДоходов.ВыбратьСтроки();
   Для НомСтроки=1 По СоответствиеВРкодамДоходов.КоличествоСтрок() Цикл
       КодДохода=Сокрлп(СоответствиеВРкодамДоходов.ПолучитьЗначение(НомСтроки,2));
       ВР=СоответствиеВРкодамДоходов.ПолучитьЗначение(НомСтроки,1);
       Если (КодДохода="2000") ИЛИ (КодДохода="2012") Тогда                                              
           СписокВРПоПериодуДействия.ДобавитьЗначение(ВР);    
       Иначе
           СписокВРПоПериодуРегистрации.ДобавитьЗначение(ВР);
       КонецЕсли;    
   КонецЦикла;
   
   глСтатусСтрока(Форма,"Подготовка данных из журнала расчетов");
   
   ПопытокВыполненияЗапроса = 10;
   
   Январь=Строка(Год*100+1);
   Декабрь=Строка(Год*100+12);
   
   
   ТекстЗапроса = "//{{ЗАПРОС(ПоСоциальнымВычетам)
   |ГодоМесяц = Справочник.НКСоциальныеВычеты.ГодМесяц;
   |Объект = Справочник.НКСоциальныеВычеты.Владелец;
   |СтатусНеРезидента = Справочник.НКСоциальныеВычеты.Владелец.ФизЛицо.СтатусНеРезидента;
   |Вычет = Справочник.НКСоциальныеВычеты.Вычет;
   |ВидВычета = Справочник.НКСоциальныеВычеты.ВидВычета.Код;
   |ТекущийЭлемент = Справочник.НКСоциальныеВычеты.ТекущийЭлемент;
   |Группировка Объект без групп;
   |Группировка ГодоМесяц;
   |Группировка ТекущийЭлемент без упорядочивания;
   |Условие(Объект в ФизЛица);
   |Условие(Вычет <> 0);
   |Условие((ГодоМесяц <= Декабрь) и (ГодоМесяц >= Январь));
   |"//}}ЗАПРОС
   ;
   
   ЗапросКсправочникуСоциальныеВычеты=СоздатьОбъект("Запрос");
   Для Сч = 1 По ПопытокВыполненияЗапроса Цикл
       Если ЗапросКсправочникуСоциальныеВычеты.Выполнить(ТекстЗапроса) = 1 Тогда
           Прервать
       КонецЕсли;
   КонецЦикла;              
   Если Сч = ПопытокВыполненияЗапроса + 1 Тогда
       Возврат 0;
   КонецЕсли;
   
   
   Справочник = СоздатьОбъект("Справочник.НКДоходы");
   Если Справочник.ВыбратьЭлементы(0) = 1 Тогда
       ТекстЗапроса = "//{{ЗАПРОС(КсправочникуДоходов)
       |ГодоМесяц = Справочник.НКДоходы.ГодМесяц;
       |Объект = Справочник.НКДоходы.Владелец;
       |Код = Справочник.НКДоходы.Владелец.Код;
       |СтатусНеРезидента = Справочник.НКДоходы.Владелец.ФизЛицо.СтатусНеРезидента;
       |Имя = Справочник.НКДоходы.Владелец.Наименование;
       |ВидДохода = Справочник.НКДоходы.ВидДохода.Код;
       |НомерРазделаНК = Справочник.НКДоходы.НомерРазделаНК;
       |Доход = Справочник.НКДоходы.Доход;
       |ВидВычета = Справочник.НКДоходы.ВидВычета.Код;
       |Вычет = Справочник.НКДоходы.Вычет;
       |ТекущийЭлемент = Справочник.НКДоходы.ТекущийЭлемент;
       |Группировка Объект без групп;
       |Группировка ГодоМесяц;
       |Группировка ТекущийЭлемент без упорядочивания;
       |Условие(Объект в ФизЛица);
       |Условие((Доход <> 0) или (Вычет <> 0));
       |Условие((ГодоМесяц <= Декабрь) и (ГодоМесяц >= Январь));
       |"//}}ЗАПРОС
       ;
       
       глСтатусСтрока(Форма,"Подготовка данных из справочников");
       ЗапросКсправочникуДоходов=СоздатьОбъект("Запрос");
       Для Сч = 1 По ПопытокВыполненияЗапроса Цикл
           Если ЗапросКсправочникуДоходов.Выполнить(ТекстЗапроса) = 1 Тогда
               Прервать
           КонецЕсли;
       КонецЦикла;              
       Если Сч = ПопытокВыполненияЗапроса + 1 Тогда
           Сообщить("Не удалось обработать данные о доходах из справочников!", "!!!");
           Возврат 0;
       КонецЕсли;
   КонецЕсли;
   
   Справочник = СоздатьОбъект("Справочник.НКИтоги");
   Если Справочник.ВыбратьЭлементы(0) = 1 Тогда
       
       ТекстЗапроса = "//{{ЗАПРОС(КсправочникуИтогов)
       |ГодоМесяц = Справочник.НКИтоги.Код;
       |Объект = Справочник.НКИтоги.Владелец;
       |Код = Справочник.НКИтоги.Владелец.Код;
       |СтатусНеРезидента = Справочник.НКИтоги.Владелец.ФизЛицо.СтатусНеРезидента;
       |Имя = Справочник.НКИтоги.Владелец.Наименование;
       |НДФЛ13исчисленный = Справочник.НКИтоги.Р3Исчислено;
       |НДФЛ13удержанный = Справочник.НКИтоги.Р3Удержано;
       |НДФЛ13КВзысканию = Справочник.НКИтоги.Р3КВзысканию;            
       |НДФЛ13Возвращено = Справочник.НКИтоги.Р3Возвращено;            
       |НДФЛ35исчисленный_1 = Справочник.НКИтоги.Р5Исчислено;
       |НДФЛ35исчисленный_2 = Справочник.НКИтоги.Р5Исчислено2;
       |НДФЛ35исчисленный_3 = Справочник.НКИтоги.Р5Исчислено3;
       |НДФЛ35исчисленный_4 = Справочник.НКИтоги.Р5Исчислено4;
       |НДФЛ35удержанный_1 = Справочник.НКИтоги.Р5Удержано;
       |НДФЛ35удержанный_2 = Справочник.НКИтоги.Р5Удержано2;
       |НДФЛ35удержанный_3 = Справочник.НКИтоги.Р5Удержано3;
       |НДФЛ35удержанный_4 = Справочник.НКИтоги.Р5Удержано4;
       |НДФЛ35КВзысканию_1 = Справочник.НКИтоги.Р5КВзысканию;
       |НДФЛ35КВзысканию_2 = Справочник.НКИтоги.Р5КВзысканию2;
       |НДФЛ35КВзысканию_3 = Справочник.НКИтоги.Р5КВзысканию3;
       |НДФЛ35КВзысканию_4 = Справочник.НКИтоги.Р5КВзысканию4;            
       |НДФЛ35Возвращено_1 = Справочник.НКИтоги.Р5Возвращено;
       |НДФЛ35Возвращено_2 = Справочник.НКИтоги.Р5Возвращено2;
       |НДФЛ35Возвращено_3 = Справочник.НКИтоги.Р5Возвращено3;
       |НДФЛ35Возвращено_4 = Справочник.НКИтоги.Р5Возвращено4;            
       |НДФЛдивидендыИсчисленный = Справочник.НКИтоги.Р4Исчислено;
       |НДФЛдивидендыУдержанный = Справочник.НКИтоги.Р4Удержано;
       |НДФЛдивидендыКВзысканию = Справочник.НКИтоги.Р4КВзысканию;              
       |НДФЛдивидендыВозвращено = Справочник.НКИтоги.Р4Возвращено;              
       |Группировка Объект;
       |Группировка ГодоМесяц;
       |Условие(Объект в ФизЛица);
       |Условие((ГодоМесяц <= Декабрь) и (ГодоМесяц >= Январь));
       |"//}}ЗАПРОС
       ;
       
       глСтатусСтрока(Форма,"Подготовка данных из справочников");
       ЗапросКсправочникуИтогов=СоздатьОбъект("Запрос");
       Для Сч = 1 По ПопытокВыполненияЗапроса Цикл
           Если ЗапросКсправочникуИтогов.Выполнить(ТекстЗапроса)=1 Тогда
               Прервать
           КонецЕсли;
       КонецЦикла;
       Если Сч = ПопытокВыполненияЗапроса + 1 Тогда
           Сообщить("Не удалось обработать данные о налогах из справочников!", "!!!");
           Возврат 0;
       КонецЕсли;
   КонецЕсли;
   
   Справочник = СоздатьОбъект("Справочник.НКИтогиПоГоду");
   Если Справочник.НайтиПоКоду(Строка(Год),0) = 1 Тогда
       
       ТекущийГод=Строка(Год);
       
       ТекстЗапроса = "//{{ЗАПРОС(СправкиСПредыдМР)
       |Объект = Справочник.НКИтогиПоГоду.Владелец;
       |ГодИзСпр = Справочник.НКИтогиПоГоду.Код;
       |СД1 = Справочник.НКИтогиПоГоду.СД1;
       |СД10 = Справочник.НКИтогиПоГоду.СД10;
       |СД11 = Справочник.НКИтогиПоГоду.СД11;
       |СД12 = Справочник.НКИтогиПоГоду.СД12;
       |СД2 = Справочник.НКИтогиПоГоду.СД2;
       |СД3 = Справочник.НКИтогиПоГоду.СД3;
       |СД4 = Справочник.НКИтогиПоГоду.СД4;
       |СД5 = Справочник.НКИтогиПоГоду.СД5;
       |СД6 = Справочник.НКИтогиПоГоду.СД6;
       |СД7 = Справочник.НКИтогиПоГоду.СД7;
       |СД8 = Справочник.НКИтогиПоГоду.СД8;
       |СД9 = Справочник.НКИтогиПоГоду.СД9;
       |Группировка Объект;
       |Условие(Объект в ФизЛица);
       |Условие(ГодИзСпр = ТекущийГод);
       |"//}}ЗАПРОС
       ;
       
       ЗапросПоСправкамСПредМР=СоздатьОбъект("Запрос");
       Для Сч = 1 По ПопытокВыполненияЗапроса Цикл
           Если ЗапросПоСправкамСПредМР.Выполнить(ТекстЗапроса)=1 Тогда
               Прервать
           КонецЕсли;
       КонецЦикла;
       Если Сч = ПопытокВыполненияЗапроса + 1 Тогда
           Возврат 0;
       КонецЕсли;
   КонецЕсли;
   
   // вспомогательная таблица доходов
   Доходы = СоздатьОбъект("ТаблицаЗначений");
   //  1-ая колонка - код дохода (пятый символ для матвыгоды по заемным средствам, которая может облагаться по разным ставкам)
   Доходы.НоваяКолонка(,"Строка",5);
   //  со 2-ой по 13-ую колонки - размер дохода по месяцам нарастающим итогом с начала года
   Для Сч = 1 По 12 Цикл
       Доходы.НоваяКолонка(,"Число",18,5);    
   КонецЦикла;
   //  14-ая колонка - код вычета
   Доходы.НоваяКолонка(,"Строка",3);
   //  с 15-ой по 26-ую колонки - размер вычета по месяцам нарастающим итогом с начала года
   Для Сч = 1 По 12 Цикл
       Доходы.НоваяКолонка(,"Число",18,5);
   КонецЦикла;
   //  с 27-ой по 38-ую колонки - размер дохода по месяцам нарастающим итогом с начала года введенный в карточку вручную (сумма корректировки)
   //  с 39-ой по 50-ую колонки - размер вычета по месяцам нарастающим итогом с начала года введенный в карточку вручную (сумма корректировки)
   Для Сч = 1 По 24 Цикл
       Доходы.НоваяКолонка(,"Число",18,5);    
   КонецЦикла;
   
   //  ТаблицаСписковВР - вспомогательная таблица для получения списка ВР по каждому коду дохода в каждом месяце
   //  1-ая колонка - код дохода (пятый символ для матвыгоды по заемным средствам, которая может облагаться по разным ставкам)
   ТаблицаСписковВР = СоздатьОбъект("ТаблицаЗначений");
   
   ТекущиеДоходыПо35 = СоздатьОбъект("СписокЗначений");
   ДоходыПо35ЗаГод = СоздатьОбъект("СписокЗначений");
   ТекущиеДоходыПо35Спр = СоздатьОбъект("СписокЗначений");
   ДоходыПо35ЗаГодСпр = СоздатьОбъект("СписокЗначений");
   
   ВсегоСотров = ФизЛица.РазмерСписка();
   ДоходыВычетыНалогиСотрудников.КоличествоСтрок(ВсегоСотров*12);
   
   
   ЖрнЗарплатаДляСторно    = СоздатьОбъект("ЖурналРасчетов.Зарплата");
   НачалоПериодаОсмотра    = ЖрнЗарплата.НачалоПериодаПоДате(НачГода(НачГода(ДатаАктуальности)-15));
   ОкончаниеПериодаОсмотра    = ЖрнЗарплата.КонецПериодаПоДате(КонГода(КонГода(ДатаАктуальности)+15));
   
   // определим месяц по который заполняем стандартные вычеты
   ГодТекущегоПериода = ДатаГод(ЖрнЗарплата.КонецТекущегоПериода());
   Если ГодТекущегоПериода > Год Тогда
       ПоследнийМесяцДляВычетов = 12;
   Иначе
       ПоследнийМесяцДляВычетов = ДатаМесяц(ЖрнЗарплата.КонецТекущегоПериода()) - 1;    
   КонецЕсли;
   
   
   СтрокаКолонок = " 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13";
   СтрокаКолонокДоходов = " 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13";
   СтрокаКолонокВычетов = " 1,15,16,17,18,19,20,21,22,23,24,25,26";
   
   ТабВычетовСотрудника=СоздатьОбъект("ТаблицаЗначений");
   ТабВычетовСотрудника.НоваяКолонка("Порядок");
   ТабВычетовСотрудника.НоваяКолонка("ВидВычета");
   ТабВычетовСотрудника.НоваяКолонка("ОписаниеВычета");
   
   ТабСоциальныхВычетовСотрудника=СоздатьОбъект("ТаблицаЗначений");
   ТабСоциальныхВычетовСотрудника.НоваяКолонка("Месяц");
   ТабСоциальныхВычетовСотрудника.НоваяКолонка("КодВычета");
   ТабСоциальныхВычетовСотрудника.НоваяКолонка("Размер");
   
   // обход списка сотрудников
   Для СчСотров = 1 По ВсегоСотров Цикл  
       
       ВремТаблицаНДФЛСведенияОДоходах.УдалитьСтроки();
       ВремТаблицаНДФЛИмущественныеВычетыФизлиц.УдалитьСтроки();
       
       Сотрудник = ФизЛица.ПолучитьЗначение(СчСотров);
       
       КодСотра="";
       ИмяСотра="";
       СтатусНеРезидента="";
       ПростоДоходы=0;
       ОсобыеДоходы=0;
       ДоходыПоРегистрации=0;
       НалогиПоРегистрации=0;
       ДанныеИзСправочникаДоходов=0;
       ДанныеИзСправочникаИтогов=0;
       ВычетыИзСправочников=0;
       СоциальныеВычетыИзСправочников = 0;
       
       Если ТипЗначения(ЗапросКсправочникуДоходов) <> 0 Тогда
           ЗапросКсправочникуДоходов.вНачалоВыборки();
           Если ЗапросКсправочникуДоходов.Получить(Сотрудник,,)=1 Тогда
               ДанныеИзСправочникаДоходов=1;
           КонецЕсли;
       КонецЕсли;
       
       Если ТипЗначения(ЗапросКсправочникуИтогов) <> 0 Тогда
           ЗапросКсправочникуИтогов.вНачалоВыборки();
           Если ЗапросКсправочникуИтогов.Получить(Сотрудник,)=1 Тогда
               ДанныеИзСправочникаИтогов = 1;
           КонецЕсли;
       КонецЕсли;
       
       ЗапросПоВычетам.вНачалоВыборки();
       Если ЗапросПоВычетам.Получить(Сотрудник,) = 1 Тогда
           ВычетыИзСправочников = 1;   // именно у этого сотрудника есть что-то в справочнике вычетов
       КонецЕсли;
       
       Если ТипЗначения(ЗапросКсправочникуСоциальныеВычеты) <> 0 Тогда
           ЗапросКсправочникуСоциальныеВычеты.вНачалоВыборки();
           Если ЗапросКсправочникуСоциальныеВычеты.Получить(Сотрудник,,) = 1 Тогда
               СоциальныеВычетыИзСправочников = 1;   // именно у этого сотрудника есть что-то в справ
98 uuu_ggg
 
29.04.12
13:02
как тут теперь ошибку только найти...хз)
99 zak555
 
29.04.12
13:12
> теперь я нашла на какой функции он ломается


зачем эта функция здесь ?
100 DJ Anthon
 
29.04.12
14:01
(100)!
101 uuu_ggg
 
29.04.12
15:16
никто не знает ,в чем ошибка может быть?
я сама в жизни не найду(((((((((9
102 155153144627
 
29.04.12
19:29
Еще никто не предложил удаленно подключиться и "сделать все пиз... красиво"?
103 Torquader
 
29.04.12
19:36
(102) По-мойму, проще попросить (0) озвучить основную задачу и выкатить ценник, так как забесплатно работать ни у кого нет желания.
104 zak555
 
29.04.12
19:41
(103) как же энтузиазм ?
105 Torquader
 
29.04.12
20:04
(104) Энтузиазм - это когда помогаешь начинающему программисту, который спешит разобраться в коде - а не заблудиться, как в данном случае.

Очень замечательно - вывалить в пост функцию с дофига строк кода, где как бы происходит ошибка, а потом оказывается, что ошибка в другой функции.

Так и хочется вспомнить анекдот про хакера и ламера (с вопросом - где ошибка).

P.S. (101) Если нет уверенности в своих силах, то позовите специалиста - это всё равно придётся сделать потом, но будет потрачено время и замучены читатели мисты.
106 BlackSeaCat
 
29.04.12
22:10
(104) Энтузиазм-то? Как положено: через кассу, магазин или сеновал.
107 Torquader
 
29.04.12
22:34
(106) Путь к сердцу мужчины лежит через желудок, а путь к помощи 1С-ника - через гастроном (отдел элитный алкоголь).
108 m-serg74
 
30.04.12
06:56
Ctrl+A... Ctrl+/ Сохранить... ошибок не будет сто процентов
109 Amra
 
30.04.12
08:47
(107) Не, тут предпочтительнее сеновал))))
110 wsxedc83
 
30.04.12
12:16
(97):
1. Приведена не вся функция. Нужна целиком.
2. Строка 268, Строка 272, Строка 297, Строка 342, Строка 365, Строка 399, Строка 428, Строка 431, Строка 434, Строка 465, Строка 467, Строка 523, Строка 673 - во всех этих строках приведенного тобой года есть текст ".Код". Разумеется, не каждая из этих строк может вызывать ошибку "Значение не представляет агрегатный объект", но поскольку ясности всё-таки нет - я советую перед каждой строкой из этих(ну кроме строк в запросах) поставить в отладчике стоп и посмотреть что за вид объекта у которого ты пытаешься получить поле Код, а также сам тип поля код, которое ты получаешь.
3. Ну или да - надо слать людям базу и жалостливо хлопать глазами, заламывать руки и на худой конец ставить пиво.
111 wsxedc83
 
30.04.12
12:16
(110)*приведенного тобой кода
112 Torquader
 
30.04.12
22:19
(109) Нафиг сеновал - сказано "гастроном" и точка.
113 BlackSeaCat
 
30.04.12
22:33
(109), (112) Бессмысленный спор: кто что хочет. Или может. ;-)

Окончательный выбор за автором.
114 uuu_ggg
 
30.04.12
22:34
а я вот угостить пивом-я вообще не против!!!)только боюсь мы в разных городах(
115 К_Дач
 
30.04.12
22:42
Что пишет то вообще при выгрузке? Скопипасть хотя бы сообщение об ошибке, что ли...
116 BlackSeaCat
 
30.04.12
22:42
Пиво и ковырянье в коде - это будни программиста. А хочется праздника.
117 uuu_ggg
 
30.04.12
22:48
(115)я уже писала тут))
Ошибка исполнения обработчика:  ПВД_ПередОбработкойПравила_НДФЛ
- Значение не представляет агрегатный объект (Код)
118 uuu_ggg
 
30.04.12
23:14
теперь  ругается на вот эту строку

ОКАТО = ТаблицаКодовОКАТО.ОКАТО.Код;
119 uuu_ggg
 
30.04.12
23:15
а где это окато можно посмотреть???
120 uuu_ggg
 
30.04.12
23:21
там,если я правильно понимаю,определяется ОКАТО для подразделения...
блин,не могу условие скопировать...почему то иероглифы какие то копируются
121 uuu_ggg
 
30.04.12
23:28
ОКАТО  = "";
КПП = "";
Если ПустоеЗначение(ПодразделениеОрганизации)=0 Тогда
ТаблицаКодовОкато = Параметры.ТаблицаКодовОКАТО;
НомСтроки = 0;
   Если  Параметры.ТаблицаКодовОКАТО.НайтиЗначение (ПодразделениеОрганизации,НомСтроки, "Подразделение")=1 ТОгда
   ТаблицаКодовОКАТО.ПолучитьСтрокуПоНомеру (НомСтроки );
ОКАТО = ТаблицаКодовОКАТО.ОКАТО.Код;
КПП = ТаблицаКодовОКАТО.КПП;
конецесли;
конецесли;
122 uuu_ggg
 
30.04.12
23:28
но я посмотрела подразделения,тау у некоторых заполнено окато,у некоторых нет
123 zak555
 
30.04.12
23:29
что за город ?
124 uuu_ggg
 
30.04.12
23:30
может мне заменить эту строку на ОКАТО  = "", а потом вручную окато поставить у подразделений
125 uuu_ggg
 
30.04.12
23:30
НН
126 uuu_ggg
 
30.04.12
23:33
(124) попробовала так сделать)))хз чего получиться..)
зае меня уже эта ошибка)
127 zak555
 
30.04.12
23:33
ночлег ?
128 uuu_ggg
 
30.04.12
23:33
что-то я тут сама с собой разговариваю..(все меня кинули...
скучно мне
129 Torquader
 
30.04.12
23:40
Я не могу ничего написать во вторую страницу
130 uuu_ggg
 
30.04.12
23:42
ну вот это сообщение написали)
131 BlackSeaCat
 
30.04.12
23:51
(126) Методом тыка только бесплодие хорошо лечится. И то не всякое.

А в программировании надо ДУМАТЬ. Даже если это 1С.
132 uuu_ggg
 
30.04.12
23:52
ура..)получилось)ошибка ушла)))
сейчас буду смотреть как загрузка в 8 пройдет)
133 BlackSeaCat
 
30.04.12
23:57
(132) Возьму на себя смелость предсказать: результат будет похож но первый годовой отчет НИИ по переработке д...рьма в сливочное масло: "Уже мажется, но есть еще нельзя".
134 uuu_ggg
 
01.05.12
00:04
(133)какой Вы грубый!)
пусть я не гуру,но я пробую...пытаюсь
135 wsxedc83
 
01.05.12
00:04
(133) +1 ))) Уж если ошибки решаются методом "удалить, а потом дописать ручками" - это как раз таки мажется... :))
136 Torquader
 
01.05.12
00:09
(130)с шестой попытки и нажимая клавишу отправить несколько раз подряд
137 wsxedc83
 
01.05.12
00:10
Судя по (117) и идущей за ней сразу (118) - ТС просто комментит куски кода которые по её мнению могут вызывать ошибку. Если после комментирования что-то ещё начинает вызывать ошибку - также вымарывается. Ну что ж... Способ как способ наверное. Эдакое анальное огораживание от проблемы...
138 uuu_ggg
 
01.05.12
00:19
(137)ну и злые вы!!Закоментила только одну строку!
139 Torquader
 
01.05.12
00:36
В общем - есть программисты, а есть - коментаторы.
140 Torquader
 
01.05.12
00:39
А не проще ли разобраться - из-за чего не заполняется строка в таблице.
141 К_Дач
 
01.05.12
01:24
ПВД_ПередОбработкойПравила_НДФЛ

внимательно в отладчике пройтись по этому обработчику
посмотреть, как формируется таблица пресловутая ТаблицаКодовОКАТО
в 7.7 можно посмотреть содержимое таблицы, если в отладчике Shift+F9 набрать ТаблицаКодовОКАТО.ВыбратьСтроку(), тогда в Предприятии увидишь таблицу

у тебя явно где-то не хватает реквизита "Код"

обмен зик-зуп один из самых сложных, в прошлом году месяц убил, чтобы перевести нетиповую 7-ку скульную на 8. у тебя еще цветочки
142 sanja26
 
01.05.12
01:27
ниче дельного не сказали? фотка зачет
143 sanja26
 
01.05.12
01:28
так ты все посмотрела у сотрудников? неВзиматьВзносыФомс есть?
144 Torquader
 
01.05.12
02:06
(138) А "коментатор" у нас с какой планеты ?
145 Любопытная
 
01.05.12
02:22
Шо, до сих пор не разобрались?
146 Torquader
 
01.05.12
19:06
(145) А чего спрашивать - возьми и помоги своей коллеге.