Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[1С:Зарплата и управление персоналом 8]

Движения документа по регистрам, очередное чудо

Тэра
читатель
офлайн
Дата регистрации: 25.12.2008
Сообщений: 22390
Пост №1
 
11.09.2012 06:18

"День добрый. Ниже приведен фрагмент кода (извиняюсь за вид, не знаю, как вставить, чтобы красиво было):<br><br><br>Процедура ОбработкаПроведения(Отказ, Режим)<br> //структура, содержащая имена регистров сведений по которым надо проводить документ<br> Перем СтруктураПроведенияПоРегистрамНакопления;<br><br> // Заголовок для сообщений об ошибках проведения.<br> Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(Ссылка);<br><br> РезультатЗапросаПоШапке = СформироватьЗапросПоШапке();<br> <br> // Получим реквизиты шапки из запроса<br> ВыборкаПоШапкеДокумента = РезультатЗапросаПоШапке.Выбрать();<br><br> Если ВыборкаПоШапкеДокумента.Следующий() Тогда<br><br>       //Надо позвать проверку заполнения реквизитов шапки<br>       ПроверитьЗаполнениеШапки(ВыборкаПоШапкеДокумента, Отказ, Заголовок);<br><br>       // Движения стоит добавлять, если в проведении еще не отказано (отказ =ложь)<br>       Если НЕ Отказ Тогда<br><br>            // получим учетную политику<br>            УпрощенныйУчетНДФЛ                   = ПроцедурыУправленияПерсоналом.ЗначениеУчетнойПолитикиПоПерсоналуОрганизации(глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналуОрганизации"), Организация, "УпрощенныйУчетНДФЛ");<br>            <br>            // ведется ли учет задолженности в разрезе периодов возникновения задолженности<br>            УчетЗадолженностиПоМесяцам = ПроцедурыУправленияПерсоналом.ЗначениеУчетнойПолитикиПоПерсоналуОрганизации(глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналуОрганизации"), Организация, "УчетЗадолженностиПоМесяцам");<br>            <br>            // получим реквизиты табличной части<br>            ВыборкаПоНачислениям = СформироватьЗапросПоНачисления(ВыборкаПоШапкеДокумента).Выбрать();<br>            <br>            Пока ВыборкаПоНачислениям.СледующийПоЗначениюПоля("НомерСтроки") Цикл <br><br>             // проверим очередную строку табличной части<br>             ПроверитьЗаполнениеСтрокиРаботникаОрганизации(ВыборкаПоШапкеДокумента, ВыборкаПоНачислениям, Отказ, Заголовок);<br><br>             Если НЕ Отказ Тогда<br><br>                   // В регистр расчета начисления пишем только для работников организации<br>                   // Комментарий поставлен в начале 2010 г<br>                   //Если НЕ ВыборкаПоНачислениям.ФизлицоАкционер Тогда<br>                   // ДобавитьСтрокуДополнительныхНачислений(ВыборкаПоШапкеДокумента, ВыборкаПоНачислениям);<br>                   // СтруктураПроведенияПоРегистрамНакопления = Новый Структура("НДФЛСведенияОДоходах, НДФЛРасчетыСБюджетом, ВзаиморасчетыСРаботникамиОрганизаций");<br>                   //Иначе<br>                   // СтруктураПроведенияПоРегистрамНакопления = Новый Структура("НДФЛСведенияОДоходах, НДФЛРасчетыСБюджетом");<br>                   //КонецЕсли; <br>                   //<br>                   //ДобавитьСтрокуВДвиженияПоРегистрамНакопления(ВыборкаПоШапкеДокумента, ВыборкаПоНачислениям, СтруктураПроведенияПоРегистрамНакопления, УпрощенныйУчетНДФЛ, УчетЗадолженностиПоМесяцам);<br>                   <br>                   Если НЕ ВыборкаПоНачислениям.ФизлицоАкционер Тогда<br>                        ДобавитьСтрокуДополнительныхНачислений(ВыборкаПоШапкеДокумента, ВыборкаПоНачислениям);<br>                        СтруктураПроведенияПоРегистрамНакопления = Новый Структура("ВзаиморасчетыСРаботникамиОрганизаций,НДФЛСведенияОДоходах");<br>                   <br>                        ДобавитьСтрокуВДвиженияПоРегистрамНакопления(ВыборкаПоШапкеДокумента, ВыборкаПоНачислениям, СтруктураПроведенияПоРегистрамНакопления, УпрощенныйУчетНДФЛ, УчетЗадолженностиПоМесяцам);<br>                   КонецЕсли;<br>                   <br>             КонецЕсли;<br><br>            КонецЦикла;<br>            <br>       КонецЕсли; <br><br> КонецЕсли;<br><br>КонецПроцедуры<br> <br>Т.е. документ должен делать движения по двум регистрам. Вопрос: КАК надо создать и провести документ, чтобы движения по регистру ВзаиморасчетыСРаботникамиОрганизаций были, а по регистру НДФЛСведенияОДоходах не было? Наши в один голос твердят, что это не возможно. Однако смотрю в базу, а там именно это и вижу. У одного пользователя за январь, февраль, март, апрель движения есть, май, июнь - движений нет, июль, август, сентябрь - движения есть, октябрь, ноябрь,декабрь - движений нет. Такие же документы создавали и другие пользователи, но у них все нормально, чертовски талантливой только одна оказалась.<br>ЗЫ: Речь идет ещё про 8.1."

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №2
 
11.09.2012 09:48

Видимо все самое интересное в "ДобавитьСтрокуВДвиженияПоРегистрамНакопления()".

Тэра
читатель
офлайн
Дата регистрации: 25.12.2008
Сообщений: 22390
Пост №3
 
11.09.2012 10:04

"Процедура ДобавитьСтрокуВДвиженияПоРегистрамНакопления(ВыборкаПоШапкеДокумента, ВыборкаПоТЧ, <br> СтруктураПроведенияПоРегистрамНакопления, УпрощенныйУчетНДФЛ, УчетЗадолженностиПоМесяцам)<br> <br> ИмяРегистра = "НДФЛСведенияОДоходах";<br> Если СтруктураПроведенияПоРегистрамНакопления.Свойство(ИмяРегистра) Тогда<br> <br> Движение = Движения[ИмяРегистра].Добавить();<br> <br> // Свойства<br> Движение.Период             = ВыборкаПоШапкеДокумента.ДатаРегистрации;<br><br> <br> // Измерения<br> Движение.Организация = ВыборкаПоШапкеДокумента.ГоловнаяОрганизация;<br> Движение.ФизЛицо             = ВыборкаПоТЧ.ФизЛицо;<br> Движение.КодДохода             = ВидРасчета.КодДоходаНДФЛ;<br> Движение.ПериодРегистрации      = НачалоМесяца(ВыборкаПоШапкеДокумента.ДатаРегистрации);<br> <br> // Ресурсы<br> Движение.СуммаДохода = ВыборкаПоТЧ.Результат; <br> Движение.СуммаВычета = 0; <br> <br> // Реквизиты<br> Движение.ОбособленноеПодразделение = ВыборкаПоШапкеДокумента.ОбособленноеПодразделение;<br> //Движение.КодВычета = Справочники.ВычетыНДФЛ.Код601;<br> Движение.ИсчисленоИзЗарплаты = Истина; <br> <br> КонецЕсли; <br><br> ИмяРегистра = "НДФЛРасчетыСБюджетом";<br> Если СтруктураПроведенияПоРегистрамНакопления.Свойство(ИмяРегистра) Тогда<br> <br> Если ВыборкаПоТЧ.НДФЛ <> 0 Тогда<br> <br> Движение = Движения[ИмяРегистра].Добавить();<br> <br> // Свойства<br> Движение.Период             = ВыборкаПоШапкеДокумента.ДатаРегистрации;<br> Движение.ВидДвижения = ВидДвиженияНакопления.Приход;<br> <br> // Измерения<br> Движение.Организация = ВыборкаПоШапкеДокумента.ГоловнаяОрганизация;<br> Движение.ФизЛицо             = ВыборкаПоТЧ.ФизЛицо;<br> Движение.СтавкаНалогообложенияРезидента = ВидРасчета.КодДоходаНДФЛ.СтавкаНалогообложенияРезидента;<br> Движение.МесяцНалоговогоПериода = ВыборкаПоШапкеДокумента.ДатаРегистрации;<br> <br> // Ресурсы<br> Движение.Налог = ВыборкаПоТЧ.НДФЛ; <br> <br> // Реквизиты<br> Движение.ОбособленноеПодразделение = ВыборкаПоШапкеДокумента.ОбособленноеПодразделение;<br> Движение.ВидСтроки = Перечисления.НДФЛРасчетыСБюджетомВидСтроки.Начисление;<br> Движение.ИсчисленоИзЗарплаты = Истина; <br> //Движение.КодДохода        = ВидРасчета.КодДоходаНДФЛ;<br> Если УпрощенныйУчетНДФЛ Тогда // сразу же, не дожидаясь выплаты, регистрируем факт удержания налога<br><br> Движение = Движения[ИмяРегистра].Добавить();<br> <br> // Свойства<br> Движение.Период             = ВыборкаПоШапкеДокумента.ДатаРегистрации;<br> Движение.ВидДвижения = ВидДвиженияНакопления.Расход;<br> <br> // Измерения<br> Движение.Организация = ВыборкаПоШапкеДокумента.ГоловнаяОрганизация;<br> Движение.ФизЛицо             = ВыборкаПоТЧ.ФизЛицо;<br> Движение.СтавкаНалогообложенияРезидента = ВидРасчета.КодДоходаНДФЛ.СтавкаНалогообложенияРезидента;<br> Движение.МесяцНалоговогоПериода = ВыборкаПоШапкеДокумента.ДатаРегистрации;<br> <br> // Ресурсы<br> Движение.Налог = ВыборкаПоТЧ.НДФЛ; <br> <br> // Реквизиты<br> Движение.ОбособленноеПодразделение = ВыборкаПоШапкеДокумента.ОбособленноеПодразделение;<br> Движение.ВидСтроки = Перечисления.НДФЛРасчетыСБюджетомВидСтроки.Удержание;<br> <br> Движение.КодДохода        = ВидРасчета.КодДоходаНДФЛ;<br> КонецЕсли;<br> КонецЕсли; <br> КонецЕсли; <br> <br> ИмяРегистра = "ВзаиморасчетыСРаботникамиОрганизаций";<br> Если СтруктураПроведенияПоРегистрамНакопления.Свойство(ИмяРегистра) Тогда<br> <br> Движение = Движения[ИмяРегистра].Добавить();<br> <br> // Свойства<br> Движение.Период             = ВыборкаПоШапкеДокумента.ДатаРегистрации;<br> Движение.ВидДвижения = ВидДвиженияНакопления.Приход;<br> <br> // Измерения<br> Движение.Организация = ВыборкаПоШапкеДокумента.Организация;<br> Движение.ФизЛицо             = ВыборкаПоТЧ.ФизЛицо;<br> Если УчетЗадолженностиПоМесяцам Тогда<br> Движение.ПериодВзаиморасчетов = НачалоМесяца(ВыборкаПоШапкеДокумента.ДатаРегистрации);<br> КонецЕсли;<br> <br> // Ресурсы<br> Движение.СуммаВзаиморасчетов = ВыборкаПоТЧ.Результат - ВыборкаПоТЧ.НДФЛ; <br> <br> КонецЕсли; <br> <br>КонецПроцедуры // ДобавитьСтрокуВДвиженияПоРегистрамНакопления"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №4
 
11.09.2012 10:21

Зачем здесь этот код? Он у вас отличается от типового?

Тэра
читатель
офлайн
Дата регистрации: 25.12.2008
Сообщений: 22390
Пост №5
 
11.09.2012 10:24

Ты писал:<br>>Видимо все самое интересное в "ДобавитьСтрокуВДвиженияПоРегистрамНакопления()".<br>я ответила. Я там особо интересного не вижу. Это процедура из модуля документа.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №6
 
11.09.2012 10:58

А ошибка вообще воспроизводится? А то может это было в каком-то релизе с ошибкой сформировано, а сейчас если перепровести, то все встанет на места.

Тэра
читатель
офлайн
Дата регистрации: 25.12.2008
Сообщений: 22390
Пост №7
 
11.09.2012 11:52

нет, не воспроизводится. Если в текущей базе провести эти документы - все движения есть.<br>Я не поленилась, восстановила базу за июнь 2010, там документ за май только что создан. Движений по нужному регистру нет, перепровожу - есть. Всячески извращалась, пытаясь создать проведенный документ без движений - у меня не получается. А она ведь и дальше таких настряпала.<br>При этом напоминаю, что в это же время у других пользователей такого нет.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №8
 
11.09.2012 12:01

Даже если перепроводишь под ее пользователем, то движения появляются?

Тэра
читатель
офлайн
Дата регистрации: 25.12.2008
Сообщений: 22390
Пост №9
 
11.09.2012 12:07

ну перепроводила то я под своим именем...Попробую заново загрузить и под ней зайти...

Тэра
читатель
офлайн
Дата регистрации: 25.12.2008
Сообщений: 22390
Пост №10
 
11.09.2012 12:17

при перепроведении и под её именем все нормально. Блин, ну как так можно сделать, у кого богатая фантазия?! Готова проверить все самые идиотские варианты!

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация