|
Создание записи в регистре накопления программно | ☑ | ||
---|---|---|---|---|
0
Pchelinka
03.12.19
✎
19:51
|
Форумчане привет) помогите разобраться что не так..
Я создала обработку, которая должна обходить записи регистра накопления ПартииТоваровНаСкладах и создавать на ее основании новую запись в новосозданном регистре ПартииТоваровНаСкладахЗакупкаДопРасходы. Созданная обработка работает не корректно, если по номенклатуре было движение в ПартииТоваровНаСкладах, на эту номенклатуру создается запись на каждый регистратор независимо была ли она в его ТЧ. Не могу понять почему так происходит. И второй момент, в новой записи у меня не получилось установить МоментВремени как в регистре ПартииТоваровНаСкладах (дата дока и док) мне кажется что ее нужно заполнять чтобы остатки корректно выводились..но как это сделать..или это не важно? Вот часть кода: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПартииТоваровНаСкладах.Период, | ПартииТоваровНаСкладах.Регистратор, | ПартииТоваровНаСкладах.НомерСтроки, | ПартииТоваровНаСкладах.Активность, | ПартииТоваровНаСкладах.ВидДвижения, | ПартииТоваровНаСкладах.Номенклатура, | ПартииТоваровНаСкладах.Склад, | ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры, | ПартииТоваровНаСкладах.СерияНоменклатуры, | ПартииТоваровНаСкладах.ДокументОприходования, | ПартииТоваровНаСкладах.СтатусПартии, | ПартииТоваровНаСкладах.Заказ, | ПартииТоваровНаСкладах.Качество, | ПартииТоваровНаСкладах.Количество, | ПартииТоваровНаСкладах.Стоимость, | ПартииТоваровНаСкладах.КодОперации, | ПартииТоваровНаСкладах.СписаниеПартий, | ПартииТоваровНаСкладах.НомерКорСтроки, | ПартииТоваровНаСкладах.ДокументДвижения, | ПартииТоваровНаСкладах.ДокументДвиженияПериод, | ПартииТоваровНаСкладах.НомерСтрокиСписанныхТоваров, | ПартииТоваровНаСкладах.МоментВремени |ИЗ | РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах |ГДЕ | ПартииТоваровНаСкладах.Период МЕЖДУ &Дата1 И &Дата2 | И ПартииТоваровНаСкладах.Номенклатура.ТорговыйБренд = &ТБ "; Запрос.УстановитьПараметр("ТБ",ТорговыйБренд); Запрос.УстановитьПараметр("Дата1", НачалоДня(НачПериода)); Запрос.УстановитьПараметр("Дата2", КонецДня(КонПериода)); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); ТабТЗ=Новый ТабличныйДокумент; ТабТЗ= РезультатЗапроса.Выгрузить(); //ТабТЗ.ВыбратьСтроку(); мНабор = РегистрыНакопления.ПартииТоваровНаСкладахЗакупкаДопРасходы.СоздатьНаборЗаписей(); //Берем количество, стоимость вычисляем по остатку нового регистра Для каждого Стр Из ТабТЗ Цикл мДокумент=Стр.Регистратор.Ссылка; //мНабор.Отбор.Регистратор.Установить(Стр.Регистратор); Если ТипЗнч(Стр.Регистратор)=Тип("ДокументСсылка.ПеремещениеТоваров") Или ТипЗнч(Стр.Регистратор)=Тип("ДокументСсылка.РеализацияТоваровУслуг") Или ТипЗнч(Стр.Регистратор)=Тип("ДокументСсылка.СписаниеТоваров") Или ТипЗнч(Стр.Регистратор)=Тип("ДокументСсылка.РеализацияПоАкционнойПрограмме") Тогда ЦенаТМЦ=ПодборПоследнейЦеныОстаткаТМЦ(Стр.Период, Стр.Номенклатура,Стр.ХарактеристикаНоменклатуры,Стр.Склад,Стр.Качество); Если Не ЦенаТМЦ=Неопределено И ЦенаТМЦ>0 Тогда мНабор.Отбор.Регистратор.Установить(Стр.Регистратор); Если Стр.ВидДвижения=ВидДвиженияНакопления.Приход Тогда ЗапРег = мНабор.ДобавитьПриход(); Иначе ЗапРег = мНабор.ДобавитьРасход(); КонецЕсли; ЗапРег.Активность=Истина; ЗапРег.ВидДвижения=Стр.ВидДвижения; ЗапРег.ДокументДвижения=Стр.ДокументДвижения; ЗапРег.ДокументДвиженияПериод=Стр.ДокументДвиженияПериод; ЗапРег.ДокументОприходования=""; ЗапРег.Заказ=Стр.Заказ; ЗапРег.Качество=Стр.Качество; ЗапРег.КодОперации=Стр.КодОперации; ЗапРег.Номенклатура=Стр.Номенклатура; ЗапРег.НомерКорСтроки=Стр.НомерКорСтроки; ЗапРег.НомерСтрокиСписанныхТоваров=Стр.НомерСтрокиСписанныхТоваров; ЗапРег.Период= Стр.Период; ЗапРег.Регистратор=Стр.Регистратор; ЗапРег.СерияНоменклатуры=Стр.СерияНоменклатуры; ЗапРег.Склад= Стр.Склад; ЗапРег.СписаниеПартий=Стр.СписаниеПартий; ЗапРег.СтатусПартии=Стр.СтатусПартии; ЗапРег.ХарактеристикаНоменклатуры= Стр.ХарактеристикаНоменклатуры; ЗапРег.Количество=Стр.Количество; ЗапРег.Стоимость=ЦенаТМЦ*Стр.Количество; ЦенаДР=ПодборПоследнейЦеныОстаткаДР(Стр.Период, Стр.Номенклатура,Стр.ХарактеристикаНоменклатуры,Стр.Склад,Стр.Качество); Если Не ЦенаДР=Неопределено И ЦенаДР>0 Тогда ЗапРег.СуммаДопРасходов=ЦенаДР*Стр.Количество; ЗапРег.КоличествоДопРасходов=Стр.Количество; Иначе ЗапРег.СуммаДопРасходов=0; ЗапРег.КоличествоДопРасходов=0; КонецЕсли; Иначе Сообщить("Нет в остатке "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); КонецЕсли; ИначеЕсли ТипЗнч(Стр.Регистратор)=Тип("ДокументСсылка.СА_ПриемИКорректировка") Тогда //ищем документ основание Цена=ПодборЦеныПоДокументуОснования(Стр.Регистратор.ДокументОснование, Стр.Номенклатура,Стр.ХарактеристикаНоменклатуры,Стр.Склад,Стр.Качество); Если Не Цена=Неопределено Тогда Если Цена.РасходТМЦ>0 Тогда мНабор.Отбор.Регистратор.Установить(Стр.Регистратор); Если Стр.ВидДвижения=ВидДвиженияНакопления.Приход Тогда ЗапРег = мНабор.ДобавитьПриход(); Иначе ЗапРег = мНабор.ДобавитьРасход(); КонецЕсли; ЗапРег.Активность=Истина; ЗапРег.ВидДвижения=Стр.ВидДвижения; ЗапРег.ДокументДвижения=Стр.ДокументДвижения; ЗапРег.ДокументДвиженияПериод=Стр.ДокументДвиженияПериод; ЗапРег.ДокументОприходования=""; ЗапРег.Заказ=Стр.Заказ; ЗапРег.Качество=Стр.Качество; ЗапРег.КодОперации=Стр.КодОперации; ЗапРег.Номенклатура=Стр.Номенклатура; ЗапРег.НомерКорСтроки=Стр.НомерКорСтроки; ЗапРег.НомерСтрокиСписанныхТоваров=Стр.НомерСтрокиСписанныхТоваров; ЗапРег.Период= Стр.Период; ЗапРег.Регистратор=Стр.Регистратор; ЗапРег.СерияНоменклатуры=Стр.СерияНоменклатуры; ЗапРег.Склад= Стр.Склад; ЗапРег.СписаниеПартий=Стр.СписаниеПартий; ЗапРег.СтатусПартии=Стр.СтатусПартии; ЗапРег.ХарактеристикаНоменклатуры= Стр.ХарактеристикаНоменклатуры; ЗапРег.Количество=Стр.Количество; ЗапРег.Стоимость=Цена.РасходТМЦ*Стр.Количество; Если Цена.РасходДР>0 Тогда ЗапРег.СуммаДопРасходов=Цена.РасходДР*Стр.Количество; ЗапРег.КоличествоДопРасходов=Стр.Количество; Иначе ЗапРег.СуммаДопРасходов=0; ЗапРег.КоличествоДопРасходов=0; КонецЕсли; Иначе Сообщить("Нет цен из документа основания "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); КонецЕсли; Иначе Сообщить("Нет цен из документа основания, поищем на остатке "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); //поищем в остатке ЦенаТМЦ=ПодборПоследнейЦеныОстаткаТМЦ(Стр.Период, Стр.Номенклатура,Стр.ХарактеристикаНоменклатуры,Стр.Склад,Стр.Качество); Если Не ЦенаТМЦ=Неопределено И ЦенаТМЦ>0 Тогда мНабор.Отбор.Регистратор.Установить(Стр.Регистратор); Если Стр.ВидДвижения=ВидДвиженияНакопления.Приход Тогда ЗапРег = мНабор.ДобавитьПриход(); Иначе ЗапРег = мНабор.ДобавитьРасход(); КонецЕсли; ЗапРег.Активность=Истина; ЗапРег.ВидДвижения=Стр.ВидДвижения; ЗапРег.ДокументДвижения=Стр.ДокументДвижения; ЗапРег.ДокументДвиженияПериод=Стр.ДокументДвиженияПериод; ЗапРег.ДокументОприходования=""; ЗапРег.Заказ=Стр.Заказ; ЗапРег.Качество=Стр.Качество; ЗапРег.КодОперации=Стр.КодОперации; ЗапРег.Номенклатура=Стр.Номенклатура; ЗапРег.НомерКорСтроки=Стр.НомерКорСтроки; ЗапРег.НомерСтрокиСписанныхТоваров=Стр.НомерСтрокиСписанныхТоваров; ЗапРег.Период= Стр.Период; ЗапРег.Регистратор=Стр.Регистратор; ЗапРег.СерияНоменклатуры=Стр.СерияНоменклатуры; ЗапРег.Склад= Стр.Склад; ЗапРег.СписаниеПартий=Стр.СписаниеПартий; ЗапРег.СтатусПартии=Стр.СтатусПартии; ЗапРег.ХарактеристикаНоменклатуры= Стр.ХарактеристикаНоменклатуры; ЗапРег.Количество=Стр.Количество; ЗапРег.Стоимость=ЦенаТМЦ*Стр.Количество; ЦенаДР=ПодборПоследнейЦеныОстаткаДР(Стр.Период, Стр.Номенклатура,Стр.ХарактеристикаНоменклатуры,Стр.Склад,Стр.Качество); Если Не ЦенаДР=Неопределено И ЦенаДР>0 Тогда ЗапРег.СуммаДопРасходов=ЦенаДР*Стр.Количество; ЗапРег.КоличествоДопРасходов=Стр.Количество; Иначе ЗапРег.СуммаДопРасходов=0; ЗапРег.КоличествоДопРасходов=0; КонецЕсли; Иначе Сообщить("Нет в остатке "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); КонецЕсли; КонецЕсли; ИначеЕсли ТипЗнч(Стр.Регистратор)=Тип("ДокументСсылка.ОтчетОРозничныхПродажах") Тогда //внутри документа есть возврат нужно понять к какому документу он относится, в новых есть привязка к чеку в ТЧ, а в старых нет..подберем по последней продаже Если Стр.Количество <0 Тогда Цена=ПодборЦеныПоДокументуОснованияЧек(Стр.Регистратор, Стр.Номенклатура,Стр.ХарактеристикаНоменклатуры,Стр.Склад,Стр.Качество); Если Не Цена=Неопределено Тогда Если Цена.РасходТМЦ>0 Тогда мНабор.Отбор.Регистратор.Установить(Стр.Регистратор); Если Стр.ВидДвижения=ВидДвиженияНакопления.Приход Тогда ЗапРег = мНабор.ДобавитьПриход(); Иначе ЗапРег = мНабор.ДобавитьРасход(); КонецЕсли; ЗапРег.Активность=Истина; ЗапРег.ВидДвижения=Стр.ВидДвижения; ЗапРег.ДокументДвижения=Стр.ДокументДвижения; ЗапРег.ДокументДвиженияПериод=Стр.ДокументДвиженияПериод; ЗапРег.ДокументОприходования=""; ЗапРег.Заказ=Стр.Заказ; ЗапРег.Качество=Стр.Качество; ЗапРег.КодОперации=Стр.КодОперации; ЗапРег.Номенклатура=Стр.Номенклатура; ЗапРег.НомерКорСтроки=Стр.НомерКорСтроки; ЗапРег.НомерСтрокиСписанныхТоваров=Стр.НомерСтрокиСписанныхТоваров; ЗапРег.Период= Стр.Период; ЗапРег.Регистратор=Стр.Регистратор; ЗапРег.СерияНоменклатуры=Стр.СерияНоменклатуры; ЗапРег.Склад= Стр.Склад; ЗапРег.СписаниеПартий=Стр.СписаниеПартий; ЗапРег.СтатусПартии=Стр.СтатусПартии; ЗапРег.ХарактеристикаНоменклатуры= Стр.ХарактеристикаНоменклатуры; ЗапРег.Количество=Стр.Количество; ЗапРег.Стоимость=Цена.РасходТМЦ*Стр.Количество; Если Цена.РасходДР>0 Тогда ЗапРег.СуммаДопРасходов=Цена.РасходДР*Стр.Количество; ЗапРег.КоличествоДопРасходов=Стр.Количество; Иначе ЗапРег.СуммаДопРасходов=0; ЗапРег.КоличествоДопРасходов=0; КонецЕсли; Иначе Сообщить("Не найден в продаже "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); КонецЕсли; КонецЕсли; Иначе ЦенаТМЦ=ПодборПоследнейЦеныОстаткаТМЦ(Стр.Период, Стр.Номенклатура,Стр.ХарактеристикаНоменклатуры,Стр.Склад,Стр.Качество); Если Не ЦенаТМЦ=Неопределено И ЦенаТМЦ>0 Тогда мНабор.Отбор.Регистратор.Установить(Стр.Регистратор); Если Стр.ВидДвижения=ВидДвиженияНакопления.Приход Тогда ЗапРег = мНабор.ДобавитьПриход(); Иначе ЗапРег = мНабор.ДобавитьРасход(); КонецЕсли; ЗапРег.Активность=Истина; ЗапРег.ВидДвижения=Стр.ВидДвижения; ЗапРег.ДокументДвижения=Стр.ДокументДвижения; ЗапРег.ДокументДвиженияПериод=Стр.ДокументДвиженияПериод; ЗапРег.ДокументОприходования=""; ЗапРег.Заказ=Стр.Заказ; ЗапРег.Качество=Стр.Качество; ЗапРег.КодОперации=Стр.КодОперации; ЗапРег.Номенклатура=Стр.Номенклатура; ЗапРег.НомерКорСтроки=Стр.НомерКорСтроки; ЗапРег.НомерСтрокиСписанныхТоваров=Стр.НомерСтрокиСписанныхТоваров; ЗапРег.Период= Стр.Период; ЗапРег.Регистратор=Стр.Регистратор; ЗапРег.СерияНоменклатуры=Стр.СерияНоменклатуры; ЗапРег.Склад= Стр.Склад; ЗапРег.СписаниеПартий=Стр.СписаниеПартий; ЗапРег.СтатусПартии=Стр.СтатусПартии; ЗапРег.ХарактеристикаНоменклатуры= Стр.ХарактеристикаНоменклатуры; ЗапРег.Количество=Стр.Количество; ЗапРег.Стоимость=ЦенаТМЦ*Стр.Количество; ЦенаДР=ПодборПоследнейЦеныОстаткаДР(Стр.Период, Стр.Номенклатура,Стр.ХарактеристикаНоменклатуры,Стр.Склад,Стр.Качество); Если Не ЦенаДР=Неопределено И ЦенаДР>0 Тогда ЗапРег.СуммаДопРасходов=ЦенаДР*Стр.Количество; ЗапРег.КоличествоДопРасходов=Стр.Количество; Иначе ЗапРег.СуммаДопРасходов=0; ЗапРег.КоличествоДопРасходов=0; КонецЕсли; Иначе Сообщить("Нет в остатке "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); КонецЕсли; КонецЕсли; Иначе Сообщить("прописать проводки по документу: "+Стр.Регистратор); КонецЕсли; Попытка мНабор.Записать(Истина); // удалим старые записи и запишем вместо них новые Сообщить("Добавлена запись: "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); Исключение Сообщить("___________________: "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); КонецПопытки; КонецЦикла; Сообщить("Конец обработки"); |
|||
1
Pchelinka
03.12.19
✎
19:56
|
я получается беру из записи ПартииТоваровНаСкладах все кроме сумм, суммы я определяю из остатков которые я положила в новый регистр и соответственно вычисляю с учетом последующего движения как бы вел себя документ при нормальном проведении... мне нужно обработкой создать записи в новый регистр за два прошлых года без перепроведения документов.
|
|||
2
Pchelinka
03.12.19
✎
20:00
|
может запрос не нужно выгружать в таблицу, а сразу запрос в цикле перебирать.. или так лучше.. и быстрее?
|
|||
3
Фрэнки
03.12.19
✎
20:02
|
ну вот нафига такая простынь влеплена в нулевой пост?
ведь все равно же одного не хватило для выражения мысли - нулевой более менее лаконичный, а следом простыня с деталями. Ну можно в нулевом пометить, что ниже будут подробности. |
|||
4
Радим1987
03.12.19
✎
20:22
|
(2) А что мешает cделать вот так
Пример Для каждого ДокСсылка Из СтруктураПараметров.СписокДокументов Цикл
|
|||
5
Радим1987
03.12.19
✎
20:28
|
Вот тебе весь код
Для каждого ДокСсылка Из ВсеДокиЗаДваГода Цикл Попытка ДокОбъект = ДокСсылка.ПолучитьОбъект(); НачатьТранзакцию(); ДокОбъект.Записать(РежимЗаписиДокумента.Проведение); ДокОбъект.Движения.ПартииТоваровНаСкладах .Прочитать(); ТЗ = ДокОбъект.Движения.ПартииТоваровНаСкладах .Выгрузить(); Если ТранзакцияАктивна() Тогда ОтменитьТранзакцию(); КонецЕсли; //Обработка тз Для каждого Строка Из ТЗ Цикл Строка.Сумма = бла ьла КонецЦикла; //что тодеалем меняем сумму НаборЗаписей = РегистрыНакопления.ПартииТоваровНаСкладахЗакупкаДопРасходы.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(ДокСсылка); НаборЗаписей.Загрузить(ТЗ); Попытка НаборЗаписей.Записать(); Исключение КонецПопытки; Исключение Если ТранзакцияАктивна() Тогда ОтменитьТранзакцию(); КонецЕсли; КонецПопытки; КонецЦикла; |
|||
6
Pchelinka
03.12.19
✎
20:29
|
О, это чтобы провести документы только по новому регистру без перепроведения...интересно, спасибо
|
|||
7
Радим1987
03.12.19
✎
20:30
|
(6) Ага управляется начать транзакции и отменитьТранз
|
|||
8
Pchelinka
03.12.19
✎
20:32
|
Спасибо, похоже это будет попроще))
|
|||
9
Радим1987
03.12.19
✎
20:34
|
Павел, может вы что нибудь добавите???, я на ваших видеоуроках вырос)))
|
|||
10
Pchelinka
03.12.19
✎
20:37
|
ого...бросьте ссылку пожалуйста на этого гуру, с удовольствием тоже подрасту)))
|
|||
11
Радим1987
03.12.19
✎
20:38
|
||||
12
Фрэнки
03.12.19
✎
20:39
|
(10) там в 11 ник и внутри ника есть ссылка
|
|||
13
Pchelinka
03.12.19
✎
20:41
|
ой, даже когда-то что-то смотрела..., спасибо за ссылку да и вообще, что не прошли мимо с моим большим постом))
|
|||
14
Pchelinka
07.12.19
✎
20:15
|
И снова здрасьте))
напоминаю что надо:беру из записи ПартииТоваровНаСкладах все кроме сумм, суммы я определяю из остатков которые я положила в новый регистр и соответственно вычисляю с учетом последующего движения как бы вел себя документ при нормальном проведении... мне нужно обработкой создать записи в новый регистр за два прошлых года без перепроведения документов. Пока не случился еще хэппи энд( в варианте предложенном Радим1987, ДокОбъект.Движения.ПартииТоваровНаСкладах .Прочитать(); ТЗ = ДокОбъект.Движения.ПартииТоваровНаСкладах .Выгрузить(); а потом в новый регистр загрузить НаборЗаписей.Загрузить(ТЗ); не выходит, тк как насколько я поняла ТЗ не содержит значений а только структуру таблицы значений регистра( Мне бы все таки хотелось довести до ума мой изначальный вариант заполнения нового регистра тк я там уже кучу работы проделала учитывая всевозможные особенности документов с определением стоимости исходя из дока основания основания например и пр.. Может кто видит в моем коде, почему в итоге получается что если по нужной позиции было движение, то в регистр новый попадает вся свора доков за выбранный период по этой позиции, хотя по факту должен быть один док.. попробую сократить код, вверху наверное долго читать его... получаю все записи по ПартииТоваровНаСкладах за выбранный период, далее помещаю в таблицу и перебор строк: ТабТЗ= РезультатЗапроса.Выгрузить(); мНабор = РегистрыНакопления.ПартииТоваровНаСкладахЗакупкаДопРасходы.СоздатьНаборЗаписей(); Для каждого Стр Из ТабТЗ Цикл мДокумент=Стр.Регистратор.Ссылка; //далее в зависимости от типа дока прописываю как заполнять новый регистр Если ТипЗнч(Стр.Регистратор)=Тип("ДокументСсылка.ПеремещениеТоваров") Тогда ЦенаТМЦ=ПодборПоследнейЦеныОстаткаТМЦ(Стр.Период,Стр.Номенклатура,Стр.ХарактеристикаНоменклатуры,Стр.Склад,Стр.Качество); Если Не ЦенаТМЦ=Неопределено И ЦенаТМЦ>0 Тогда мНабор.Отбор.Регистратор.Установить(Стр.Регистратор);//может тут подвох? новый регистр пока чист Если Стр.ВидДвижения=ВидДвиженияНакопления.Приход Тогда ЗапРег = мНабор.ДобавитьПриход(); Иначе ЗапРег = мНабор.ДобавитьРасход(); КонецЕсли; ЗапРег.Активность=Истина; ЗапРег.ВидДвижения=Стр.ВидДвижения; /// итд заполнение нового регистра ИначеЕсли ТипЗнч(Стр.Регистратор)=Тип("ДокументСсылка.СА_ПриемИКорректировка") Тогда ///тоже заполняем строки нового регистра если соответствует тип дока, и так по остальныи типам доков КонецЕсли; Попытка мНабор.Записать(Истина); // удалим старые записи и запишем вместо них новые Сообщить("Добавлена запись: "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); Исключение Сообщить("___________________: "+Стр.Регистратор+" номен: "+Стр.Номенклатура+" "+Стр.ХарактеристикаНоменклатуры); КонецПопытки; КонецЦикла; Сообщить("Конец обработки"); Может я не в той последовательности набор записей записываю...?(( |
|||
15
GROOVY
07.12.19
✎
20:17
|
Удачно забрел :)
|
|||
16
Pchelinka
07.12.19
✎
20:18
|
Да, мне о Вас писали))) может Вы оцените тут обстановку))
|
|||
17
Рэйв
07.12.19
✎
20:22
|
(0)Вот в этом весь женский код:-)
|
|||
18
GROOVY
07.12.19
✎
20:36
|
Если сформулируете вопрос в одном предложении, без кода. То помогу.
А то что я вижу, тут много объяснять надо. |
|||
19
Pchelinka
07.12.19
✎
20:49
|
как же без кода.. у меня же в нем наверное затаилась ошибка?)) Как его мне доработать чтобы новый регистр корректно заполнился? Или это путь в никуда и лучше поработать над вариантом от Радим1987?
Я может последовательность записи нового регистра не корректно делаю? |
|||
20
Сияющий в темноте
08.12.19
✎
00:35
|
для чего был создан новый регистр и что туда нужно записать?
|
|||
21
mmmarat
08.12.19
✎
09:42
|
(9) У Вас основная ошибка, это обработка каждой записи полученной из выборки.
Упорядочите в запросе по регистратору Далее Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.СледующийПоЗначениюПоля("Регистратор") Цикл //Здесь инициализируем набор записей по регистратору Пока Выборка.Следующий() Цикл //Создаем нужные записи КонецЦикла; //Записываем набор записей по регистратору КонецЦикла; И просто совет по оформлению, старайтесь избегать всех этих сокращений ЗапРег, мНабор, не забывайте отступы и пробелы. |
|||
22
mmmarat
08.12.19
✎
09:43
|
в (21) конечно же имел в виду ссылку на нулевой пост.
|
|||
23
Pchelinka
08.12.19
✎
18:44
|
mmmarat Спасибо Вам огромное, у меня есть еще что доработать но самое основное, лишние записи ушли! Вы меня очень выручили! Уже теряла надежду)
А что Вы скажите за МоментВремени? В новой записи у меня не получилось установить МоментВремени() как в регистре ПартииТоваровНаСкладах (дата дока и ссылка док) мне кажется что ее нужно заполнять, чтобы остатки корректно выводились..но как это сделать..или это не важно? Искала в нете не могу найти пример ее заполнения. пробовала так ЗапРег.МоментВремени()= Новый МоментВремени(Стр.Период, Стр.Регистратор); но ругается( пока делала без записи момента..может это не критично..? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |