Имя: Пароль:
1C
1С v8
Записать значения реквизитов в документ
,
0 AngelDiva
 
18.06.12
05:16
Есть документы ТребованиеНакладная, нужно чтобы в журнале этих документов были добавлены поля сумма документа и сумма ндс, я добавила их (сделала реквизиты документа) и сделала так чтобы они заполнялись при проведении,теперь мне нужно заполнить эти реквизиты во всех документах требованиеНакладная за весь период. Я запускала универсальную обработку, которая проводит все документы но это не дало результатов. Заполняются реквизиты только если открыть документ и нажать кнопку ОК. Как можно еще заполнить эти реквизиты у всех документов?
1 razlagator
 
18.06.12
05:23
без фото, не взлетит (с)
2 razlagator
 
18.06.12
05:28
дай угадаю, заполняются эти реквизиты в модуле формы, в какой нить процедуре типа ПриЗаписи?
3 AngelDiva
 
18.06.12
05:32
в модуле документа в обработке проведения
4 AngelDiva
 
18.06.12
05:35
Это создаю процедуру для заполнения реквизитов, а потом ее вызываю в обработке проведения
Процедура СуммаМатериалов()
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
   Запрос.УстановитьПараметр("ТекущийТипЦен", Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Закупочная"));
   Запрос.Текст =
    "ВЫБРАТЬ
    |    ТребованиеНакладнаяМатериалы.Номенклатура,
    |    ТребованиеНакладнаяМатериалы.Количество,
    |    ЦеныНоменклатурыСрезПоследних.Цена,
    |    ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен,
    |    ТребованиеНакладнаяМатериалы.Номенклатура.СтавкаНДС КАК СтавкаНДС
    |ИЗ
    |    Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    |        ПО ТребованиеНакладнаяМатериалы.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |ГДЕ
    |    ТребованиеНакладнаяМатериалы.Ссылка = &ТекущийДокумент
    |    И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТекущийТипЦен"     ;
СуммаДокумента = 0;
   Рез = Запрос.Выполнить().Выбрать();
   Пока Рез.Следующий() цикл
           СуммаДокумента = СуммаДокумента+Рез.Цена*Рез.Количество;
   КонецЦикла;
Если ЯвляетсяЧислом(Лев(Рез.СтавкаНДС,2))=Истина тогда    
    СуммаНДС = СуммаДокумента*ЛЕВ(Рез.СтавкаНДС,2)/(100+ЛЕВ(Рез.СтавкаНДС,2));
КонецЕсли;
КонецПроцедуры
5 AngelDiva
 
18.06.12
05:37
я думаю может дело в том что параметр текущий документ использую, но как переделать, чтоб в будущем уже во вновь созданных документах при проведении заполнялись эти реквизиты.
6 Oleg_Kag
 
18.06.12
05:43
А напиши внешнюю обработку, которая будет перебирать документы, заполнять реквизиты и проводить...
7 Cube
 
18.06.12
05:46
(0) Для начала, нужно фотку в профиль вставить...
8 AngelDiva
 
18.06.12
05:48
Вот часть которая обрабатывает объекты
// Выполняет обработку объектов.
//
// Параметры:
//  Объект                 - обрабатываемый объект.
//  ПорядковыйНомерОбъекта - порядковый номер обрабатываемого объекта.
//
Процедура вОбработатьОбъект(Объект, ПорядковыйНомерОбъекта)

   Если Объект.ПометкаУдаления Тогда
       Объект.ПометкаУдаления = Ложь;
   КонецЕсли;

   Если Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
       Объект.Записать(РежимЗаписиДокумента.Проведение);
   КонецЕсли;

КонецПроцедуры // ОбработатьОбъект()

// Выполняет обработку объектов.
//
// Параметры:
//  Нет.
//
Функция вВыполнитьОбработку() Экспорт

   НачатьТранзакцию();

   Для Индекс = 0 По НайденныеОбъекты.Количество() - 1 Цикл
       ОбработкаПрерыванияПользователя();
       Строка = НайденныеОбъекты.Получить(Индекс);
       Если НЕ Строка.Пометка Тогда
           Продолжить;
       КонецЕсли;
       Объект = Строка.Объект.ПолучитьОбъект();
       вОбработатьОбъект(Объект, Индекс);
   КонецЦикла;

   ЗафиксироватьТранзакцию();

   Возврат Индекс;

КонецФункции // вВыполнитьОбработку()
9 Cube
 
18.06.12
05:49
С прошлой темы:

Случайный прохожий: И фотку в профиль поставить :)

1Сергей: лучше в анфас

Скользящий: Лучше топплесс.

Случайный прохожий: Фотка топплесс - это +60 к скорости ответа по теме, +30 к правильности ответов и +100 к флуду XD

AngelDiva: Обойдемся без фотки все таки))

Злопчинский: ну и будем сидеть - мы без фотки, вы - без решения
10 AngelDiva
 
18.06.12
05:52
нету фоток, я на работе все таки
11 Cube
 
18.06.12
05:57
(10) Да ладно. Фотка из контакта или одноклассников нас вполне устроит :)
12 AngelDiva
 
18.06.12
05:59
(11) Что сложно подсказать, если знаешь.
13 AngelDiva
 
18.06.12
06:00
(6) я документы просто обработкой провожу, я так поняла при этом должна обработка проведения документа вызываться, в которой уже идет заполнение реквизитов
14 Cube
 
18.06.12
06:02
(12) В чужой монастырь со своим уставом не ходят. Тут традиция такая - девушки, прежде чем спросить, должны вставить свое фото в профиль :)