8.х Скидка в документе "Поступление товара и услуг"

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Alla, 26 авг 2009.

  1. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! У меня УТ 8.1 10.3.7.9
    Мне дали такую задачу - чтоб в заказах поставщику была добавлена колонка "Скидка", как в заказах покупателя. Колонку я добавила (ручную скидку), сумма итоговая меняется. Вроде все ок! Все тоже самое я сделала и в документе "Поступление товаров и услуг". Но когда я делаю поступление на основании заказа, то скидка у меня автоматически не проставляется. Помогите, пожалуйста! Что нужно сделать, чтобы скидка проставлялась автоматичеки - на основании заказа?
  2. spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    Изменить процедуру ввода на основании
  3. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Ну я это понимаю, только не знаю как это делать и что там надо менять. Если бы знала, помощи не просила бы!
  4. spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    в модуле документа есть процедура обработка заполнения, в ней изменяй
  5. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Спасибо за совет! У меня только просьба, если вы знаете, подскажите где там надо менять или добавлять. Я в процедурах не разбираюсь. Заранее спасибо!
  6. spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    Примерно следующее: После строки
    Код:
    Если ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПоставщику") Тогда 
    
    Нужно написать примерно следующее Скидка = Основание.Скидка
  7. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Я вставила в модуль последнюю строчку
    Код:
    Если ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПоставщику")
    ИЛИ ТипЗнч(Основание) = Тип("ДокументСсылка.СчетНаОплатуПоставщика") Тогда
    
    ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад;
    СкладОрдер     = Основание.Склад;
    ПроцентСкидкиНаценки = Основание.ПроцентСкидкиНаценки;
    
    У меня при попытке сделать на основании заказа поставщику поступление выдает ошибку:

    Ошибка при выполнении обработчика - '{Документ.ПоступлениеТоваровУслуг(4790)}: Поле объекта не обнаружено (ПроцентСкидкиНаценки)'
    по причине:
    {Документ.ПоступлениеТоваровУслуг(4790)}: Поле объекта не обнаружено (ПроцентСкидкиНаценки)

    Подскажите, пожалуйста! Чтоб уже закончить с этим. Целый день с этим ковыряюсь. :unsure:
  8. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Вы пытаетесь записать значение реквизита в реквизиты документа, а надо в строки табличной части. Найдите где заполняется номенклатура, количество и т.д.
  9. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Я в конфигураторе в документе "Поступление товаров и услуг" зашла на закладку "Ввод на основании", зашла в конструктор ввода на основании и нажала кнопку "заполнить выражения". У меня скидка проставляется автоматически - на основании заказа. :smile: Но.. Теперь другая проблема - склад в табличной части не проставляется - красненьким помечен. У меня и заказ тоже не проставлялся. Я сама дописала, где Поле "Сделка" - Основание. А вот склад чо то не пойму где надо дописать. Помогите, пожалуйста! :unsure:
    [/code]Процедура ОбработкаЗаполнения(Основание)
    //{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Если ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПоставщику") Тогда
    // Заполнение шапки
    Сделка = Основание;
    ВалютаДокумента = Основание.ВалютаДокумента;
    ДоговорКонтрагента = Основание.ДоговорКонтрагента;
    Комментарий = Основание.Комментарий;
    Контрагент = Основание.Контрагент;
    КратностьВзаиморасчетов = Основание.КратностьВзаиморасчетов;
    КурсВзаиморасчетов = Основание.КурсВзаиморасчетов;
    Организация = Основание.Организация;
    Ответственный = Основание.Ответственный;
    Подразделение = Основание.Подразделение;
    СуммаВключаетНДС = Основание.СуммаВключаетНДС;
    СуммаДокумента = Основание.СуммаДокумента;
    ТипЦен = Основание.ТипЦен;
    УсловиеПродаж = Основание.УсловиеПродаж;
    УчитыватьНДС = Основание.УчитыватьНДС;
    Для Каждого ТекСтрокаВозвратнаяТара Из Основание.ВозвратнаяТара Цикл
    НоваяСтрока = ВозвратнаяТара.Добавить();
    НоваяСтрока.Заказ = ТекСтрокаВозвратнаяТара.Заказ;
    НоваяСтрока.Количество = ТекСтрокаВозвратнаяТара.Количество;
    НоваяСтрока.Номенклатура = ТекСтрокаВозвратнаяТара.Номенклатура;
    НоваяСтрока.Сумма = ТекСтрокаВозвратнаяТара.Сумма;
    НоваяСтрока.Цена = ТекСтрокаВозвратнаяТара.Цена;
    КонецЦикла;
    Для Каждого ТекСтрокаТовары Из Основание.Товары Цикл
    НоваяСтрока = Товары.Добавить();
    НоваяСтрока.ЕдиницаИзмерения = ТекСтрокаТовары.ЕдиницаИзмерения;
    НоваяСтрока.ЕдиницаИзмеренияМест = ТекСтрокаТовары.ЕдиницаИзмеренияМест;
    НоваяСтрока.Заказ = ТекСтрокаТовары.Заказ;
    НоваяСтрока.Количество = ТекСтрокаТовары.Количество;
    НоваяСтрока.КоличествоМест = ТекСтрокаТовары.КоличествоМест;
    НоваяСтрока.Коэффициент = ТекСтрокаТовары.Коэффициент;
    НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
    НоваяСтрока.ПроцентСкидкиНаценки = ТекСтрокаТовары.ПроцентСкидкиНаценки;
    НоваяСтрока.СтавкаНДС = ТекСтрокаТовары.СтавкаНДС;
    НоваяСтрока.Сумма = ТекСтрокаТовары.Сумма;
    НоваяСтрока.СуммаНДС = ТекСтрокаТовары.СуммаНДС;
    НоваяСтрока.ХарактеристикаНоменклатуры = ТекСтрокаТовары.ХарактеристикаНоменклатуры;
    НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
    КонецЦикла;
    Для Каждого ТекСтрокаУслуги Из Основание.Услуги Цикл
    НоваяСтрока = Услуги.Добавить();
    НоваяСтрока.Количество = ТекСтрокаУслуги.Количество;
    НоваяСтрока.Номенклатура = ТекСтрокаУслуги.Номенклатура;
    НоваяСтрока.Содержание = ТекСтрокаУслуги.Содержание;
    НоваяСтрока.СтавкаНДС = ТекСтрокаУслуги.СтавкаНДС;
    НоваяСтрока.Сумма = ТекСтрокаУслуги.Сумма;
    НоваяСтрока.СуммаНДС = ТекСтрокаУслуги.СуммаНДС;
    НоваяСтрока.Цена = ТекСтрокаУслуги.Цена;
    КонецЦикла;
    ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ПриходныйОрдерНаТовары") Тогда
    // Заполнение шапки
    ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
    // Заполнение шапки
    ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.СчетНаОплатуПоставщика") Тогда
    // Заполнение шапки
    КонецЕсли;
    //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
    КонецПроцедуры // ОбработкаЗаполнения()
  10. spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    Ты молодец, конструктором сломала типовую процедуру) В цикле по строкам табличной части по товарам Нужно
    Код:
     новаяСтрока.Склад = ТекСтрокаТовары.Склад;
    
  11. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Я уже пробовала. При попытке сделать поступление на основании заказа, выдает ошибку:

    Ошибка при выполнении обработчика - '{Документ.ПоступлениеТоваровУслуг(4785)}: Поле объекта не обнаружено (Склад)'
    по причине:
    {Документ.ПоступлениеТоваровУслуг(4785)}: Поле объекта не обнаружено (Склад)
  12. spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    новаяСтрока.Склад = Основание.Склад;
  13. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Спасибо! Получилось!!! :unsure:
  14. spiteful41
    Offline

    spiteful41 Опытный в 1С

    Регистрация:
    24 июл 2008
    Сообщения:
    98
    Симпатии:
    0
    Баллы:
    26
    теперь на основании других документов поступление не вводится
  15. TopicStarter Overlay
    Alla
    Offline

    Alla Опытный в 1С

    Регистрация:
    28 дек 2007
    Сообщения:
    150
    Симпатии:
    0
    Баллы:
    26
    Так я то же самое сделала и с остальными - с помощью этого конструктора ввода.. Вроде все работает. Только вот сижу и думаю - это ни на что в дальнейшем не повлияет? И вроде бы все хорошо, но не совсем.. ))) Когда перезаполняешь по заказу, то скидка не перевыставляется. Может надо еще какую- то обработочку? :unsure:
Похожие темы
  1. Asintelekt
    Ответов:
    1
    Просмотров:
    882
  2. Sunbear
    Ответов:
    1
    Просмотров:
    863
  3. georg1371
    Ответов:
    2
    Просмотров:
    1.881
  4. solanos
    Ответов:
    0
    Просмотров:
    618
  5. Azi
    Ответов:
    1
    Просмотров:
    1.294
Загрузка...

Поделиться этой страницей