Имя: Пароль:
1C
1С v8
Создание приходного ордера на товар через обработку
0 Vaicheslav
 
12.04.18
16:48
Добрый день/вечер.

Помогите столкнулся с такой проблемой, есть база Управление торговлей для Беларуси, редакция 3.3. и суть в чем, нужно создать обработку для создание документа "Приходный ордер на товар", но чтобы провести документ "Приходный ордер на товар" необходимо создать документ "Поступление товаров и услуг", создать эти документы через обработку смогу сделать, но как их связать.
Просто первый раз сталкиваюсь с таким, и как это делать даже не знаю подскажите пожалуйста, буду очень благодарен!
1 Джинн
 
12.04.18
16:52
В одном документе где-то есть реквизит, ссылающийся на другой документ. Просто заполните его.
2 Evgenchik
 
12.04.18
16:52
Наверно один для другого будет основанием
3 Vaicheslav
 
12.04.18
16:55
(1) Есть но там нет реквизита который ссылается на "Приходный ордер на товар", он появляется в разделе 1с "склады и доставка" - "Приемка", там висит документ
4 Vaicheslav
 
12.04.18
16:55
(2) Да
5 Buster007
 
12.04.18
16:59
создаешь поступление товаров и услуг, а потом типовым механизмом ввода на основании заполняешь приходный ордер
6 Vaicheslav
 
12.04.18
17:02
(5) А можно чуть по больше насчет механизма заполнения приходного ордера, я просто ни когда этим не занимался и не могу понять как это сделать в обработке
7 tesseract
 
12.04.18
17:05
(6) А посмотреть как срабатывает обработка ввода на основании в документе   КГБ не позволяет?
8 Михаил Козлов
 
12.04.18
17:05
(6) Обычно хватает ПО.Заполнить(ПТиУ);
Посмотрите в модуле объекта ПриходныйОрдер процедуру ОбработкаЗаполнения.
Приходный ордер обычно нужен для ордерного склада.
9 Vaicheslav
 
12.04.18
17:25
(8) я вот только что в "Приходном ордере посмотрел" процедуру обработки заполнения и нашел там проверку по реквизиту но как мне ее использовать в обработке чтобы она сформировала документ на основании "Поступление товаров и услуг".
Вот я создал через обработку документ "Поступление товаров и услуг", заполнен и проведен, дальше что делать создавать новый документ "Приходный ордер на товар" и привязывать или как, я вот этот момент не могу понять
10 Михаил Козлов
 
12.04.18
17:50
(9) Создать (если нужно) ПО = Документы.ПриходныйОрдерНаТовары.СоздатьДокумент();
ПО.Заполнить(ПТиУ);
У ПО заполнить дату и, возможно, номер. Записать.
11 Vaicheslav
 
13.04.18
10:14
(10) Ааа вот оно как, все спасибо теперь понял
12 zelyak
 
13.04.18
10:16
В России сначала делается приходный ордер, а потом ПТиУ. Вы в схеме ничего не путаете ?
13 Vaicheslav
 
13.04.18
12:34
(12) это Беларуская база
14 Vaicheslav
 
18.04.18
15:46
В чем может быть ошибка
{ВнешняяОбработка.ЗагрузкаИзExcel.Форма.ПриходТовара.Форма(82)}: Ошибка при вызове метода контекста (Заполнить)
        ПриходныйОрдерНаТовары.Заполнить(ДокументПоступлениеТоваровУслуг);
по причине:
Ошибка при выполнении обработчика - 'ОбработкаЗаполнения'
по причине:
{Документ.ПриходныйОрдерНаТовары.МодульОбъекта(44)}: Приходный ордер на товары нужно вводить из формы "Приемка".
        ПриходныйОрдерНаТовары.Заполнить(ДокументПоступлениеТоваровУслуг);

по причине:
Ошибка при выполнении обработчика - 'ОбработкаЗаполнения'
по причине:
{Документ.ПриходныйОрдерНаТовары.МодульОбъекта(44)}: Приходный ордер на товары нужно вводить из формы "Приемка".

{Документ.ПриходныйОрдерНаТовары.МодульОбъекта(44)}: Приходный ордер на товары нужно вводить из формы "Приемка".
        ВызватьИсключение ТекстСообщенияОНекорректномСоздании;

Вот то что на строчке 44

ВызватьИсключение ТекстСообщенияОНекорректномСоздании;

И вот что выдает когда ставлю точку остановки

http://joxi.ru/82QBLzET1eEE4A

А вот сам код

ПриходныйОрдерНаТовары = Документы.ПриходныйОрдерНаТовары.СоздатьДокумент();
        ПриходныйОрдерНаТовары.Дата = ТекущаяДата();
        ПриходныйОрдерНаТовары.ДатаВходящегоДокумента = ТекущаяДата();
        ПриходныйОрдерНаТовары.Склад = Справочники.Склады.НайтиПоНаименованию("Основной");
        ПриходныйОрдерНаТовары.Помещение = Справочники.СкладскиеПомещения.НайтиПоНаименованию("ХРАНЕНИЕ");
        ПриходныйОрдерНаТовары.Отправитель = Справочники.Партнеры.НайтиПоНаименованию("Тест");
        ПриходныйОрдерНаТовары.УстановитьНовыйНомер();
        ПриходныйОрдерНаТовары.СкладскаяОперация = Перечисления.СкладскиеОперации.ПриемкаОтПоставщика;
        ПТиУ = НовыйДок;
        ДокументПоступлениеТоваровУслуг = ПТиУ.Ссылка;
        ПриходныйОрдерНаТовары.Заполнить(ДокументПоступлениеТоваровУслуг);
        Попытка
            ПриходныйОрдерНаТовары.Записать(РежимЗаписиДокумента.Проведение);
            Сообщить(ПриходныйОрдерНаТовары.Метаданные().Имя+ПриходныйОрдерНаТовары.Номер);
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.