Имя: Пароль:
1C
1С v8
создание документа на управляемой форме
0 zarcom
 
28.03.13
18:11
Я создал документ програмно, заполнил его, провел. Открываю данных нет. Вытащил с этого документа дынные консолью отчетов. Показывает что данные есть. В чем дело? Почему данные не отображаются?
1 SherifSP
 
28.03.13
18:16
(0) Не бреши мені!
2 zarcom
 
28.03.13
18:18
&НаСервере
функция ИнициализироватьОбработку(ДанныеФормы)
   
       
   ДанныеФормы.Дата = ТекущаяДата();
   
   Для Каждого Реквизит из ТЦОбъект.СсылкаНаДОкумент.Метаданные().Реквизиты Цикл
       ДанныеФормы[Реквизит.Имя]= ТЦОбъект.СсылкаНаДОкумент[Реквизит.Имя];
   КонецЦикла;
   
   ТекстЗапроса ="ВЫБРАТЬ ПЕРВЫЕ "+Строка(ТЦОбъект.КоличествоСтрокДокумента)+"
       |    Номенклатура.Ссылка КАК Номенклатура
       |ИЗ
       |    Справочник.Номенклатура КАК Номенклатура
       |ГДЕ
       |    (НЕ Номенклатура.ЭтоГруппа)
       |    И (НЕ Номенклатура.ПометкаУдаления)";    
   
   Запрос = Новый Запрос(ТекстЗапроса);
   
   Выборка = Запрос.Выполнить().Выбрать();
   
   ДанныеФормы.Товары.Очистить();
   
   Пока Выборка.Следующий() Цикл
       НоваяСтрока = ДанныеФормы.Товары.Добавить();
       НоваяСтрока.Номенклатура        =Выборка.Номенклатура;
       НоваяСтрока.ЕдиницаИзмерения    =Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт.");
       НоваяСтрока.Количество            =1;
       НоваяСтрока.Склад                =ТЦОбъект.СсылкаНаДОкумент.Склад;
       НоваяСтрока.Цена                =1;
       НоваяСтрока.Сумма                =1;
   КонецЦикла;
   
   НоваяСтрока = ДанныеФормы.Оплата.Добавить();
   НоваяСтрока.ВидОплаты    =Справочники.ВидыОплатЧекаККМ.Наличные;
   НоваяСтрока.Сумма        =ДанныеФормы.Товары.Итог("Сумма");
   
   ////АдресДанных =
   //
   //ПараметрыПередач=Новый СписокЗначений;
   //ПараметрыПередач.Добавить(ДокументИсточникКопирования);
   //Возврат ПоместитьВоВременноеХранилище(Параметры);
   
   Возврат 1;
Конецфункции
&НаКлиенте
// Выполнение действия.
// В этой функции содержится основной код действия, необходимый для выполнения
// сценария.
//
// Возвращаемое значение:
//  ПеречислениеСсылка.ТЦРезультатВыполнения.
//   Успешно - если при инициализации ошибок не возникло
//   Предупреждение - если возникшие ошибки позволяют продолжить выполнение
//   Ошибка - если возникли ошибки, которые не позволяют продолжить выполнение
//
Функция ТЦВыполнить() Экспорт
   
   #Если ТолстыйКлиентОбычноеПриложение Тогда
   #Иначе
       //СоздатьПоступление();
       Инструменты =  КипВнешнийКомпонент.ПолучитьИнструменты();
       
       
       гсч=новый ГенераторСлучайныхЧисел;
       топерации    =2880/ТЦОбъект.КоличествоДокументовВЧасе*ТЦОбъект.КоличествоПользователей;//40
       дельта        =0.25*топерации;
       
       
       Тд=новый текстовыйдокумент;        
       
       Для Сч=1 по ТЦОбъект.ЧислоИтерация Цикл
           пауза=топерации + дельта - гсч.СлучайноеЧисло(0,дельта*2);
           
           глТекущийПользователь=получитьсерверныйвызов();
           //
           тд.ДобавитьСтроку(Строка(пауза) +" номер создаваемого документа "+Строка(Сч));
           тд.Записать("\\SRV-BASE\1C8_Obmen\temp\log\ЧекККМ"+" "+Строка(глТекущийПользователь));            
           
           Если ТЦОбъект.Пауза Тогда
               КипВнешнийКомпонент.Пауза(Инструменты,Окр(пауза,0,РежимОкругления.Окр15как20)*1000);
           КонецЕсли;
           
           Попытка
               
               Форма = ПолучитьФорму("Документ.ЧекККМ.Форма.ФормаДокументаУпр");
               ДанныеФормы = Форма.Объект;
               
               КопироватьДанныеФормы(ДокументИсточникКопирования, Форма.Объект);
               
               Форма.Открыть();
               
               
               //КипВнешнийКомпонент.Пауза(Инструменты,ТЦОбъект.Пауза*1000);
               
               Начало = КипВнешнийКомпонент.ЗначениеТаймера(Инструменты);
               
               Форма.Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
               Форма.Закрыть();


               Конец = КипВнешнийКомпонент.ЗначениеТаймера(Инструменты);
               
               ТЦЗаписатьПоказатель("ВремяПроведенияЧекККМ",(Конец-Начало ) / 1000);
               
               
           Исключение
               ТЦОбщий.ЗаписатьВЖурнал("Ошибка создания докмента"+ОписаниеОшибки());
           КонецПопытки;

           КонецЦикла;
   #КонецЕсли
   
   // ТЦЗаписатьПоказатель("ВремяВыполнения", ВремяВыполнения);
   
   Возврат ТЦРезультатВыполненияУспешно();
   
КонецФункции
Ошибка? Это не ошибка, это системная функция.