Имя: Пароль:
1C
1С v8
Не сохраняются данные в регистре накопления
0 Pro-specs
 
28.09.12
05:06
Помогите! где ошибка?
Перем нСтруктураПараметров;
// Передает внешние параметры в форму в виде структуры
//
// Параметры:
// Объект — ДокументОбъект, СправочникОбъект. От куда был произведен вызов процедуры заполнения внешней обработки.
// ИмяТабличнойЧасти — Строка. Имя табличной части, для которой вызвана обработка.
// ТабличноеПолеОбъекта — Элемент формы: табличное поле. Табличное поле формы, для которого вызвана обработка.
//
Процедура ЗапомнитьСтруктуруПараметров(Объект, Товары, ТабличноеПоле) Экспорт
   
   // Заполнение параметров на основе внешних параметров поступивших при инициализации обработки
   нСтруктураПараметров = Новый Структура();
   нСтруктураПараметров.Вставить("Объект", Объект);
   нСтруктураПараметров.Вставить("Товары", Товары);
   нСтруктураПараметров.Вставить("ТабличноеПоле", ТабличноеПоле);
   
КонецПроцедуры // ЗапомнитьСтруктуруПараметров()

Процедура КнопкаВыполнитьНажатие(Кнопка)
   ДокументОбъект = нСтруктураПараметров.Объект;
       НаборЗаписейИсполнители = РегистрыНакопления.РаботаИсполнителей1.СоздатьНаборЗаписей();
       НаборЗаписейИсполнители.Отбор.Регистратор.Установить(ДокументОбъект.Ссылка);
       
       Для сч=0 по ТЧ.Количество()-1 Цикл
           ЗаписьИсполнитель = НаборЗаписейИсполнители.Добавить();
           ЗаписьИсполнитель.Исполнитель3  = ТЧ.Получить(сч).Исполнитель3;
           ЗаписьИсполнитель.Период = ДокументОбъект.Дата;
           ЗаписьИсполнитель.Регистратор  = ДокументОбъект.Ссылка;
           ЗаписьИсполнитель.Номенклатура = ТЧ.Получить(сч).Товар;
           ЗаписьИсполнитель.Цена = ТЧ.Получить(сч).Цена;
           ЗаписьИсполнитель.Количество = ТЧ.Получить(сч).Количество;
           
        НаборЗаписейИсполнители.Записать(Ложь);
       
       КонецЦикла;
           ЗаписьИсполнитель.ВидДвижения = ВидДвиженияНакопления.Приход;

      НаборЗаписейИсполнители.Прочитать();
         
КонецПроцедуры
                             
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
   ДокументОбъект = нСтруктураПараметров.Объект;
   //проверить есть ли записи для этого регистратора
   //регистрацияАТ
   //услуги
   ТЧТовары = ДокументОбъект.Товары.Выгрузить();
   ТЧТовары.Свернуть("Номенклатура,Цена","Количество");
   ТЧТовары.Колонки.Добавить("Исполнитель3");
   ЗП = Новый Запрос;
   ЗП.Текст = "ВЫБРАТЬ
   |    РаботаИсполнителей1.Номенклатура,
   |    РаботаИсполнителей1.Исполнитель3
   //|    РаботаИсполнителей.исполнитель4,
   
   |ИЗ
   |     РегистрНакопления.РаботаИсполнителей1 КАК РаботаИсполнителей1
   |ГДЕ
   |    РаботаИсполнителей1.регистратор  = &Регистратор
   |";

   ЗП.УстановитьПараметр("Регистратор",ДокументОбъект.Ссылка);
   Таб = ЗП.Выполнить().Выгрузить();
       
   Если ТЧТовары.Количество() > 0 тогда
       Для Каждого стр из ТЧТовары Цикл
           нс = ТЧ.Добавить();
           нс.Товар = стр.Номенклатура;
           нс.Количество = стр.Количество;
           нс.Цена = стр.Цена;
           нс.Исполнитель3 = стр.Исполнитель3;
           //нс.исполнитель4 = стр.исполнитель4;
       КонецЦикла;
   
   КонецЕсли;
       
КонецПроцедуры
1 zladenuw
 
28.09.12
05:15
а где запись то.
2 Pro-specs
 
28.09.12
05:16
НаборЗаписейИсполнители.Записать(Ложь);
3 zladenuw
 
28.09.12
05:20
4 zladenuw
 
28.09.12
05:21
ЗаписьРегистра.Активность = Истина;
5 zladenuw
 
28.09.12
05:21
все руки. тут проблема"
6 Pro-specs
 
28.09.12
05:38
спасибо!!!
7 zladenuw
 
28.09.12
05:50
(6) за что ?
8 zladenuw
 
28.09.12
05:50
за руки (5)