|   |   | 
| 
 | Создание документов на основании | ☑ | ||
|---|---|---|---|---|
| 0
    
        example221 28.01.20✎ 12:48 | 
        Добрый день форумчане,помогите выполнить задание,еще слишком зеленый,чтоб понять)
 Альфа-Авто: Автосалон+Автосервис+Автозапчасти. Редакция 4.1 (4.1.01.28) обычный база на серваке ТЗ:Создать кнопку ввод платного ДКП(в документах Заказ на автомобиль,поступление автомобилей),на основании должен вывестись док реалезации товаров с хоз операцией АктОбОказании услуг,в нем 1 номекулатурная позиция(1. Номенклатура ЦБ014366, НДС должно быть 20%.2. Если Акт нельзя создать на основании тех документов, то делай её отдельным документом, но заполнять по тем.3. Дата сч.-фактуры соответствует дате акта),на основание его должны формироваться сет на оплату и счетФактурыВыданный,все в фоне,+ проверка и предупреждение если что то не пошло. формы печати АктВыполненыхРабот(2шт),счетНаОплату(1шт),СчетФактураВыданный(2шт) Не прошу полное решение а навождение на решение. Справился только с созданием кнопок,ахаха,и встал не знаю как начать. https://pastenow.ru/7V4SF | |||
| 1
    
        DrWatson 28.01.20✎ 13:00 | 
        Разберись сначала с пунктом 2. Можно док. реализации делать на основании тех документов или нельзя?     | |||
| 2
    
        example221 28.01.20✎ 13:05 | 
        (1) Как это можно понять?можно или нет.     | |||
| 3
    
        example221 28.01.20✎ 13:05 | ||||
| 4
    
        Масянька 28.01.20✎ 13:09 | 
        (3) Ты не понял.
 Есть некоторые условия, при наличии которых нельзя ввести акт. Вот это и нужно выяснять. По задаче: открой реализацию и посмотри, как и почему она вводится на основании. Ну, и потом с остальными док-ами. В принципе, ничего сложного и заумного. | |||
| 5
    
        example221 28.01.20✎ 13:10 | 
        (4) ааа,угу щас посмотрю,пасиб     | |||
| 6
    
        example221 28.01.20✎ 13:21 | 
        (4) (1) Хмм документ реализация товаров в данный момент не вводится на основании заказа и поступления.я так понимаю,что от меня и хотят чтоб я добавил такую функцию по нажатию на кнопку,
 он в водится щас для https://pastenow.ru/7V58F а кодом так ОбработкаЗаполненияОтказ = НЕ дкОбработкаЗаполнения(ЭтотОбъект, Основание); Если НЕ обЗначениеНеЗаполнено(ПодразделениеКомпании) Тогда Если обПолучитьПраваИНастройкиПользователя(ПодразделениеКомпании,"ЗакрытиеЗаказовПоПодразделению",ЭтотОбъект) Тогда ЗакрытиеЗаказовПоПодразделению=Перечисления.ВариантыОтветов.Да; Иначе ЗакрытиеЗаказовПоПодразделению=Перечисления.ВариантыОтветов.Нет; КонецЕсли; КонецЕсли; Если ОбработкаЗаполненияОтказ Тогда Возврат; КонецЕсли; Если Не Основание = Неопределено Тогда Если ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказВнутренний") ИЛИ ТипЗнч(Основание) = Тип("ДокументСсылка.ПеремещениеТоваров") Тогда Контрагент = Неопределено; ДоговорВзаиморасчетов = Неопределено; ТипЦен = обПраво("ОсновнойТипЦенПродажи",Права,,ЭтотОбъект); КонецЕсли; ХозОперация = Справочники.ХозОперации.РеализацияТоваров; Если Основание.ХозОперация = Справочники.ХозОперации.РасходныйСкладскойОрдер Тогда Если Не обЗначениеНеЗаполнено(Основание.ВладелецТовара) Тогда Если ТипЗнч(Основание.ВладелецТовара) = Тип("СправочникСсылка.Контрагенты") Тогда Контрагент = Основание.ВладелецТовара; ОбработкаРеквизита("Контрагент"); КонецЕсли; КонецЕсли; Для Каждого СтрТовар Из Товары Цикл ОбработкаРеквизита("Товары.Номенклатура", СтрТовар); КонецЦикла; ИначеЕсли Основание.ХозОперация = Справочники.ХозОперации.ПеремещениеТоваров И НЕ обЗначениеНеЗаполнено(Основание.СкладПолучатель) И Основание.СкладПолучатель.Розничный Тогда ТипЦен = Основание.СкладПолучатель.ТипЦенРозничнойТорговли; Для Каждого СтрТовар Из Товары Цикл ОбработкаРеквизита("Товары.Номенклатура", СтрТовар); КонецЦикла; ИначеЕсли ТипЗнч(Основание)=Тип("ДокументСсылка.ПоступлениеТоваров") ИЛИ ТипЗнч(Основание)=Тип("ДокументСсылка.АвансовыйОтчет") Тогда Контрагент = Неопределено; ДоговорВзаиморасчетов = Неопределено; ТипЦен = обПраво("ОсновнойТипЦенПродажи",Права,,ЭтотОбъект); ВалютаДокумента = обВалютаТипаЦены(Неопределено,ТипЦен,Ложь); СтруктураКурса = обКурсДляВалюты(ВалютаДокумента,Дата); КурсДокумента = СтруктураКурса.Курс / ?(СтруктураКурса.Кратность = 0, 1, СтруктураКурса.Кратность); Для Каждого СтрТовар Из Товары Цикл СтрТовар.Цена = обПолучитьЦену(ТипЦен,СтрТовар.Номенклатура,?(Ссылка.Пустая(),Дата,МоментВремени()),,ВалютаДокумента,КурсДокумента, СтрТовар.ХарактеристикаНоменклатуры, СтрТовар.ЕдиницаИзмерения, ПодразделениеКомпании); ОбработкаРеквизита("Товары.Цена",СтрТовар); КонецЦикла; ИначеЕсли ТипЗнч(Основание)=Тип("ДокументСсылка.ЗаказПокупателя") Тогда //Для ввода на основании заказа покупателя будем отгружать товары, //зарезервированные под данный заказ на данном складе Товары.Очистить(); ЗаполнитьРезервамиКонтрагента(Основание); КонецЕсли; КонецЕсли; // если ввели на основании, но при этом не заполнили ставки НДС, то исправимся Для Каждого СтрокаТовар Из Товары Цикл Если НЕ обЗначениеНеЗаполнено(СтрокаТовар.СтавкаНДС) Тогда Продолжить; КонецЕсли; Если обЗначениеНеЗаполнено(СтрокаТовар.Номенклатура) Тогда Продолжить; КонецЕсли; СтрокаТовар.СтавкаНДС=СтрокаТовар.Номенклатура.СтавкаНДС; Если НЕ обЗначениеНеЗаполнено(СтрокаТовар.СтавкаНДС) Тогда ОбработкаРеквизита("Товары.СтавкаНДС",СтрокаТовар); КонецЕсли; КонецЦикла; // если вводили документ на основании перемещения, то подправим склад Попытка СкладКомпании=Основание.СкладПолучатель Исключение КонецПопытки; | |||
| 7
    
        example221 28.01.20✎ 13:24 | 
        Я понимаю что могу глупости спрашивать,но рил еще слабо понимаю,месяц ток работаю)     | |||
| 8
    
        example221 28.01.20✎ 13:27 | 
        И конструктором не воспользоваться,тк я делаю это по кнопке и надо в процедуре нажатия на кнопку     | |||
| 9
    
        DrWatson 28.01.20✎ 15:43 | 
        (6) А документы Заказ на автомобиль и Поступление автомобилей, это какие-то специальные документы? В списке есть Заказ покупателя, Поступление товаров. Это не они?     | |||
| 10
    
        example221 28.01.20✎ 15:45 | 
        (9) Нет не они,это разные     | |||
| 11
    
        DrWatson 28.01.20✎ 16:02 | 
        В обработчике кнопки:
 ДокРеализация = Документы.РеализацияТоваров.СоздатьДокумент(); ДокРеализация.Дата = ТекущаяДата(); ДокРеализация.Заполнить(Ссылка); ДокРеализация.Записать(РежимЗаписиДокумента.Проведение); В док. реализации Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПоступлениеАтомобилей") Тогда // Код заполнения документа КонецЕсли; КонецПроцедуры Со счет-фактурой - посмотреть как она вводится из реализации, сделать так же с поправкой, что документ нужно сразу записывать. Может ещё есть какое-нибудь программное формирование счетов-фактур, например групповое. Тогда взять код оттуда. Как это заработает. Можно уж подумать о фоновом формировании. | |||
| 12
    
        example221 28.01.20✎ 16:10 | 
        (11) спасибо огромное,я вообще не знал как это начать этого думаю хватит,перегуглил не нашел,может как то не правильно вопрос формирую     | |||
| 13
    
        DrWatson 28.01.20✎ 16:15 | 
        (12) Искал по словам "Пример заполнения документа на основании".
 Возможно, нашел пример для управляемых форм. Но эти моменты, вроде, не менялись. Для обычных должно быть так же. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |