Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 07:34

Обработка:Ввод документа на основании проведённого

Автор Glikeria, 23 авг 2010, 10:54

0 Пользователей и 1 гость просматривают эту тему.

Glikeria

Здравствуйте!Мне надо создать обработку,которая на основании проведённого документа(ОтпускаОрганизаций) будет вводить документ(ВозвратНаРаботуОрганизаций).Не знаю с чего начать.Подскажите,пожалуйста.


Glikeria

Скажите,пожалуйста,а можно сделать следующим образом:создать запрос,в котором будут выбираться проведённые документы ОтпускаОрганизаций,далее создать выборку из этих документов и потом для этой выборки сделать цикл,в котором будет вводиться на основании нужный документ?

Slin

можно
но нужно определиться, как часто ты будешь запускать эту обработку
и сделать соотвующий интерфейс

Glikeria

Спасибо.То есть можно создать процедуру ОбработкаЗполнения(Основание) и вставить её в цикл?


Glikeria

А можно процедуру ОбработкаЗаполнения(Основание) взять из конструктора ввода на основании для моей обработки?извините,что задаю такие вопросы,просто я только-только начала этим заниматься.

Slin

Процедура ОбработкаЗаполнения(Основание) находится в модуле объекта подлежащего заполнению при вводе на основании. Она является обработчиком события. Основание представляет собой ссылку на объект, на основаннии которого производится заполнение текущего объекта.
Чтобы ее вызвать из другого места, необходимо вызвать процедуру Заполнить() для объекта. Например.
ДокОбъект.Заполнить(ДокОснованиеСсылка);
Не забыть записать потом:
ДокОбъект.Записать();

Glikeria

Спасибо!А как можно назначить ДокументОснование.Мне выдаётся ошибка,что переменная не определена:
   // Вставить содержимое обработчика.
   Запрос=Новый Запрос ("Выбрать ОтпускаОрганизаций.Ссылка
   |ИЗ  Документ.ОтпускаОрганизаций КАК ОтпускаОрганизаций
   |ГДЕ  ОтпускаОрганизаций.Проведён=Истина");
       Результат=Запрос.Выполнить();
Выборка=Результат.Выбрать();

Пока Выборка.Следующий() Цикл
   ДокументОбъект=Документы.ВозвратНаРаботуОрганизаций.СоздатьДокумент();
   ДокументОбъект.Заполнить(ОтпускаОрганизаций.Ссылка);
   ДокументОбъект.Записать();
   ДокументОбъект.ПолучитьФорму().Открыть();

   
   КонецЦикла;


Klyacksa

Пока Выборка.Следующий() Цикл
   ДокументОбъект=Документы.ВозвратНаРаботуОрганизаций.СоздатьДокумент();
   ДокументОбъект.Заполнить(Выборка.Ссылка);
   ДокументОбъект.Записать();
   ДокументОбъект.ПолучитьФорму().Открыть();
КонецЦикла;
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Glikeria

Помогло,спасибо)А как можно исправить следующую ошибку:Поле не найдено "ОтпускаОрганизаций.Проведён" ГДЕ ОтпускаОрганизаций <<?>> Проведён=Истина?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск