Получить начисленные суммы по документу НачислениеЗаработной платы Код 1C v 8.х
Запрос= новый Запрос;
Запрос. Текст= "
|ВЫБРАТЬ
| ВзаиморасчетыСРаботникамиОрганизаций.Период,
| ВзаиморасчетыСРаботникамиОрганизаций.Регистратор,
| ВзаиморасчетыСРаботникамиОрганизаций.НомерСтроки,
| ВзаиморасчетыСРаботникамиОрганизаций.Активность,
| ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения,
| ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
| ВзаиморасчетыСРаботникамиОрганизаций.Организация,
| ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов,
| ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов,
| ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета,
| ВзаиморасчетыСРаботникамиОрганизаций.СуммаВUSD
|ИЗ
| РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
|ГДЕ
| ВзаиморасчетыСРаботникамиОрганизаций.Физлицо = &Физлицо
| И ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов = &ПериодВзаиморасчетов
| И ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций
|
|" ;
Запрос. УстановитьПараметр( "ПериодВзаиморасчетов" , Дата( "01.09.2009 0:00:00" ) ) ;
Запрос. УстановитьПараметр( "Физлицо" , Справочники. ФизическиеЛица. НайтиПоКоду( "00000054" ) ) ;
Результат = Запрос. Выполнить( ) ;
Результат = Результат. Выбрать( ) ;
Пока Результат. Следующий( ) Цикл
КонецЦикла ;
Запрос= новый Запрос;
Запрос. Текст= "
|ВЫБРАТЬ
| ВзаиморасчетыСРаботникамиОрганизаций.Физлицо КАК Физлицо,
| ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов КАК ПериодВзаиморасчетов,
| СУММА(ВЫБОР
| КОГДА ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета В (&VidUSD)
| ТОГДА ВзаиморасчетыСРаботникамиОрганизаций.СуммаВUSD
| ИНАЧЕ 0
| КОНЕЦ) КАК USD,
| СУММА(ВЫБОР
| КОГДА (НЕ ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета В (&VidUSD))
| ТОГДА ВЫБОР
| КОГДА (НЕ ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета = НЕОПРЕДЕЛЕНО)
| ИЛИ ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеОтпускаРаботникамОрганизаций
| ТОГДА ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов
| ИНАЧЕ 0
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ) КАК RUB,
| СУММА(ВЫБОР
| КОГДА ВзаиморасчетыСРаботникамиОрганизаций.ВидРасчета = НЕОПРЕДЕЛЕНО
| И ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций
| ТОГДА ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов * -1
| ИНАЧЕ 0
| КОНЕЦ) КАК NDFL
|ИЗ
| РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
|ГДЕ
| ВзаиморасчетыСРаботникамиОрганизаций.Физлицо = &Физлицо
| И ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов = &ПериодВзаиморасчетов
| И (ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций
| ИЛИ ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеОтпускаРаботникамОрганизаций)
|
|СГРУППИРОВАТЬ ПО
| ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
| ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов
|" ;
Категория:
Запросы Пример присвоения нового номера, при проблемах с нумерацией Пример реализации автоматич. расчета следующего номера, нумерация
Предположим, у документа
Начисление Отпуска слетела нумерация, кто-то влез и ручками исправил номер документа
Самый простой способ исправить ситуацию - найти документ с некорректным номером и изменить в нем номер на правильный.
Или можно перенумеровать воспользовавшись специальными обработками -
https://helpf.pro/files/view/8.html
https://helpf.pro/files/view/11.html
Ну а если найти некорректный документ не удается, а использовать обработки перенумерации нежелательно, тогда:
в модуле документа, у которого слетела нумерация, в процедуре
Код 1C v 7.x Процедура ВводНового(Копирование)
добавить (пример для документа "НачислениеОтпуска" ):
Код 1C v 7.x
ДокНачислениеОтпуска = СоздатьОбъект( "Документ.НачислениеОтпуска" ) ;
ДокНачислениеОтпуска. ОбратныйПорядок( 1 ) ;
ДокНачислениеОтпуска. ВыбратьДокументы( НачКвартала( РабочаяДата( ) - 15 ) , КонКвартала( РабочаяДата( ) + 27 ) ) ;
ДокНачислениеОтпуска. ПолучитьДокумент( ) ;
новномдк= Строка( число( Сред( ДокНачислениеОтпуска. НомерДок, 3 , 7 ) ) ) ;
стрдлинаномдк= СтрДлина( Строка( СокрЛП( Сред( ДокНачислениеОтпуска. НомерДок, 3 , 7 ) ) ) ) ;
новномдк= Число( новномдк) + 1 ;
иткол= стрдлинаномдк- СтрДлина( новномдк) ;
префиксдк= "ОТ" ;
если иткол> 0 тогда
для н= 1 по иткол цикл
префиксдк= префиксдк+ строка( 0 ) ;
конеццикла ;
конецесли ;
докном= префиксдк+ новномдк;
Если Исправление= 1 Тогда
знтри= Прав( ДокНачислениеОтпуска. НомерДок, 3 ) ;
Если Строка( Лев( знтри, 1 ) ) = "И" Тогда
чзнтри= Число( Прав( знтри, 2 ) ) ;
чзнтри= чзнтри+ 1 ;
Иначе
чзнтри= 1 ;
КонецЕсли ;
Если СтрДлина( чзнтри) = 1 Тогда
докном= докном+ "-И0" + Строка( чзнтри) ;
Иначе
докном= докном+ "-И" + Строка( чзнтри) ;
КонецЕсли ;
КонецЕсли ;
НомерДок= докном;
Категория:
1С Общие вопросы - Обычные формы Выборка, перебор документов Код 1C v 8.х
Выборка = Документы. НачислениеОтпуска. Выбрать( ) ;
Пока Выборка. Следующий( ) Цикл
КонецЦикла ;
ВыборкаДокументов = Документы. РасходнаяНакладная. Выбрать( НачалоГода( ТекущаяДата( ) ) , КонецГода( ТекущаяДата( ) ) ) ;
Пока ВыборкаДокументов. Следующий( ) Цикл
КонецЦикла
Запрос = Новый Запрос;
Запрос. Текст = "
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка
|ИЗ
| Документ. РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Контрагент = &Контрагент
| И
| (РеализацияТоваровУслуг.Номер < 100 | ИЛИ | РеализацияТоваровУслуг.Дата < ДАТАВРЕМЯ(2005, 1, 1))
| И
| РеализацияТоваровУслуг.Товары.Номенклатура В ИЕРАРХИИ(&Номенклатура)" ;
Запрос. УстановитьПараметр( "Контрагент" , ОтбКонтрагент) ;
Запрос. УстановитьПараметр( "Номенклатура" , ОтбНоменклатура) ;
Результат = Запрос. Выполнить( ) ;
Выборка = Результат. Выбрать( ) ;
Пока Выборка. Следующий( ) Цикл
КонецЦикла ;
Категория:
Документы