![]() |
|
Не сохраняются данные в регистре накопления | ☑ | ||
---|---|---|---|---|
0
Pro-specs
27.09.12
✎
11:29
|
Суть в чем...Создал обработку:
Перем нСтруктураПараметров; // ПРОЦЕДУРЫ И ФУНКЦИИ ОБЩЕГО НАЗНАЧЕНИЯ // Передает внешние параметры в форму в виде структуры // // Параметры: // Объект — ДокументОбъект, СправочникОбъект. От куда был произведен вызов процедуры заполнения внешней обработки. // ИмяТабличнойЧасти — Строка. Имя табличной части, для которой вызвана обработка. // ТабличноеПолеОбъекта — Элемент формы: табличное поле. Табличное поле формы, для которого вызвана обработка. // Процедура ЗапомнитьСтруктуруПараметров(Объект, Товары, ТабличноеПоле) Экспорт // Заполнение параметров на основе внешних параметров поступивших при инициализации обработки нСтруктураПараметров = Новый Структура(); нСтруктураПараметров.Вставить("Объект", Объект); нСтруктураПараметров.Вставить("Товары", Товары); нСтруктураПараметров.Вставить("ТабличноеПоле", ТабличноеПоле); КонецПроцедуры // ЗапомнитьСтруктуруПараметров() Процедура КнопкаВыполнитьНажатие(Кнопка) ДокументОбъект = нСтруктураПараметров.Объект; Если ТЧ.Количество()>0 тогда НаборЗаписейИсполнители = РегистрыНакопления.РаботаИсполнителей1.СоздатьНаборЗаписей(); Для сч=0 по ТЧ.Количество()-1 Цикл НаборЗаписейИсполнители.Отбор.Регистратор.Установить(ДокументОбъект.Ссылка); ЗаписьИсполнитель = НаборЗаписейИсполнители.Добавить(); ЗаписьИсполнитель.Исполнитель3 = ТЧ.Получить(сч).Исполнитель3; ЗаписьИсполнитель.Период = ДокументОбъект.Дата; ЗаписьИсполнитель.Регистратор = ДокументОбъект.Ссылка; ЗаписьИсполнитель.Номенклатура = ТЧ.Получить(сч).Товар; ЗаписьИсполнитель.Цена = ТЧ.Получить(сч).Цена; ЗаписьИсполнитель.Количество = ТЧ.Получить(сч).Количество; ЗаписьИсполнитель.ВидДвижения = ВидДвиженияНакопления.Приход; КонецЦикла; НаборЗаписейИсполнители.Записать(Ложь); КонецЕсли; КонецПроцедуры Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) ДокументОбъект = нСтруктураПараметров.Объект; //проверить есть ли записи для этого регистратора //регистрацияАТ //услуги ТЧТовары = ДокументОбъект.Товары.Выгрузить(); ТЧТовары.Свернуть("Номенклатура,Цена","Количество"); ТЧТовары.Колонки.Добавить("Исполнитель3"); ЗП = Новый Запрос; ЗП.Текст = "ВЫБРАТЬ | РаботаИсполнителей1.Номенклатура, | РаботаИсполнителей1.Исполнитель3 //| РаботаИсполнителей.исполнитель2, |ИЗ | РегистрНакопления.РаботаИсполнителей1 КАК РаботаИсполнителей1 |ГДЕ | РаботаИсполнителей1.регистратор = &Регистратор |"; ЗП.УстановитьПараметр("Регистратор",ДокументОбъект.Ссылка); Таб = ЗП.Выполнить().Выгрузить(); Для Каждого стр из Таб цикл Для Каждого зн из ТЧТовары Цикл Если стр.Номенклатура = зн.Номенклатура тогда зн.Исполнитель3 = стр.Исполнитель3 КонецЕсли; КонецЦикла; КонецЦикла; Если ТЧТовары.Количество() > 0 тогда Для Каждого стр из ТЧТовары Цикл нс = ТЧ.Добавить(); нс.Товар = стр.Номенклатура; нс.Количество = стр.Количество; нс.Цена = стр.Цена; нс.Исполнитель3 = стр.Исполнитель3; //нс.исполнитель4 = стр.исполнитель4; КонецЦикла; КонецЕсли; КонецПроцедуры прицепил её к документу "Заказ покупателя" к табличной части "Товары". При вызове её туда копируются товары, цена, кол-во и выбирается Исполнитель3...После нажатия кнопки выполнить данные сохраняются...Но при проведении документа "Заказ покупателя" данные из регистра стираются...ПОМОГИТЕ!!! |
|||
1
DrShad
27.09.12
✎
11:32
|
все верно они и будут затираться - учи СП в части наборов записей
|
|||
2
Ненавижу 1С
гуру
27.09.12
✎
11:32
|
(0) логично
|
|||
3
Pro-specs
27.09.12
✎
11:36
|
где ошибка((
|
|||
4
DrShad
27.09.12
✎
11:37
|
в ДНК
|
|||
5
trambalda
27.09.12
✎
11:38
|
Ты это, прочитывать набор записей забываешь, он у тебя перезаписывается каждый раз.
И регистратор.установить из цикла вынеси |
|||
6
Buster007
27.09.12
✎
11:38
|
Для Каждого стр из Таб цикл
Для Каждого зн из ТЧТовары Цикл Если стр.Номенклатура = зн.Номенклатура тогда Чтоб тебе одну процедуру в которой 3000+ строк с такими наименования переменных отлаживать. Может тогда ты поймешь, что такой код надо выкидывать. И книжку почитай. |
|||
7
Ненавижу 1С
гуру
27.09.12
✎
11:39
|
документ должен делать движения, а не обработка
|
|||
8
Pro-specs
27.09.12
✎
11:42
|
Спасибо!))
|
|||
9
DrShad
27.09.12
✎
11:43
|
да ничего - приходи еще
|
|||
10
Pro-specs
27.09.12
✎
14:02
|
пришел не помогает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |