Номер строки документа полученный в запросе в номер строки движения
Запросом получаю реквизиты табличной части документа, в том числе номер строки. В цикле выборки заполняю движения регистра расчета следующим методом:
ЗаполнитьЗначенияСвойств(Движение, Выборка)
При отладке у движения есть НомерСтроки и он ожидаемо должен заполниться номером строки документа из запроса. Все остальные реквизиты движения заполняются, а номер строки нет, он остается нулем, а в результате запроса он равен единице.
После выполнения пакетной записи:
Движения.Записать(); номер строки принимает значение из запроса. Не пойму почему так происходит, хотелось бы разобраться. Вообще это запрос из подготовки к специалист по платформе, задание по расчету.
Ниже привожу кусок запроса, где получается номер строки:
ЗаполнитьЗначенияСвойств(Движение, Выборка)
При отладке у движения есть НомерСтроки и он ожидаемо должен заполниться номером строки документа из запроса. Все остальные реквизиты движения заполняются, а номер строки нет, он остается нулем, а в результате запроса он равен единице.
После выполнения пакетной записи:
Движения.Записать(); номер строки принимает значение из запроса. Не пойму почему так происходит, хотелось бы разобраться. Вообще это запрос из подготовки к специалист по платформе, задание по расчету.
Ниже привожу кусок запроса, где получается номер строки:
Запрос.Текст =
"ВЫБРАТЬ
| НачислениеЗарплатыОсновныеНачисления.Сотрудник КАК Сотрудник,
| НачислениеЗарплатыОсновныеНачисления.ВидРасчета КАК ВидРасчета,
| НачислениеЗарплатыОсновныеНачисления.ДатаНачала КАК ПериодДействияНачало,
| НачислениеЗарплатыОсновныеНачисления.ДатаОкончания КАК ПериодДействияКонец,
| НачислениеЗарплатыОсновныеНачисления.График КАК График,
| НачислениеЗарплатыОсновныеНачисления.НомерСтроки КАК НомерСтроки
|ПОМЕСТИТЬ ДанныеТЧ
|ИЗ
| Документ.НачислениеЗарплаты.ОсновныеНачисления КАК НачислениеЗарплатыОсновныеНачисления
|ГДЕ
| НачислениеЗарплатыОсновныеНачисления.Ссылка = &Ссылка
| И НачислениеЗарплатыОсновныеНачисления.ВидРасчета = &ВидРасчетаОклад
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ДанныеТЧ.Сотрудник КАК Сотрудник,
| ДанныеТЧ.ВидРасчета КАК ВидРасчета,
| ДанныеТЧ.ПериодДействияНачало КАК ПериодДействияНачало,
| ДанныеТЧ.ПериодДействияКонец КАК ПериодДействияКонец,
| ДанныеТЧ.График КАК График,
| ДанныеТЧ.НомерСтроки КАК НомерСтроки,
| ЕСТЬNULL(СведенияОСотрудникахСрезПоследних.Оклад, 0) КАК ОкладПервоначальный,
| &ПериодРегистрации КАК ПериодРегистрации
|ИЗ
| ДанныеТЧ КАК ДанныеТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОСотрудниках.СрезПоследних(
| &ПериодРегистрации,
| Сотрудник В
| (ВЫБРАТЬ
| ДанныеТЧ.Сотрудник КАК Сотрудник
| ИЗ
| ДанныеТЧ КАК ДанныеТЧ)) КАК СведенияОСотрудникахСрезПоследних
| ПО ДанныеТЧ.Сотрудник = СведенияОСотрудникахСрезПоследних.Сотрудник
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки
|;
И кусок кода где заполняются реквизиты движения:
МассивПакетов = Запрос.ВыполнитьПакет();
ВыборкаОсн = МассивПакетов[1].Выбрать();
Пока ВыборкаОсн.Следующий() Цикл
Движение = Движения.ОсновныеНачисления.Добавить();
ЗаполнитьЗначенияСвойств(Движение, ВыборкаОсн);
КонецЦикла;
Движения.Записать();
ПоказатьПо теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
С запросом может и нет проблем, но, если я не ошибаюсь, заполнить в движении номер строки нельзя, номер строки должен заполняться самостоятельно, автоматически. Чтобы это проверить попробуйте записать и посмотрите результат.
Движение.НомерСтроки = ВыборкаОсн.НомерСтроки
(2) Стало понятнее, спасибо, выводит ошибку. Увидел отличие, У Белоусова он сначала записывал в регистр то что введено в табличную часть пользователем и потом получив записи запросом сопоставлял одинаковые строки по номерам и по сотрудникам соединял оклад. А в решении на которое я ориентируюсь сопоставляются номера строк документа с номерами строк записей, что уже кажется неправильным, буду дальше смотреть.
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот