8.х ПоступлениеТоваровИУслуг ОбработкаПроведение

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

  1. TopicStarter Overlay
    MevMix
    Offline

    MevMix Опытный в 1С

    Регистрация:
    21 фев 2011
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Добрый день!!!
    1с 8.1 не типовая
    У номенклатуры есть вид ном- УСЛУГА или НОМЕНКЛАТУРА
    Если в виде номенкл выбрать УСЛУГА и провести, то соответтвенно на склад и ляжет то количество УСЛУГ что в поступлении
    Код:
    Если не Отказ Тогда
    Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
    // регистр ОстаткиТоваров Приход
    Движение = Движения.ОстаткиТоваров.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.Номенклатура = ТекСтрокаМатериалы.Номенклатура;
    Движение.Склад = Склад;
    Движение.Количество = ТекСтрокаМатериалы.Количество;
    // регистр Продажи Приход
    Движение = Движения.Продажи.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.Склад = Склад;
    Движение.Клиент = Клиент;
    Движение.Номенклатура = ТекСтрокаМатериалы.Номенклатура;
    Движение.Количество = ТекСтрокаМатериалы.Количество;
    КонецЦикла;
    КонецЕсли;
    
    
    
    Дописываю в обработку проверку на то что услуга это или номенклатура, после чего вообще на складе ничего нет
    Код:
    Если не Отказ Тогда
    Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
    Если ТекСтрокаМатериалы = Перечисления.ВидыНоменклатуры.Номенклатура Тогда
    // регистр ОстаткиТоваров Приход
    Движение = Движения.ОстаткиТоваров.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.Номенклатура = ТекСтрокаМатериалы.Номенклатура;
    Движение.Склад = Склад;
    Движение.Количество = ТекСтрокаМатериалы.Количество;
    // регистр Продажи Приход
    Движение = Движения.Продажи.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.Склад = Склад;
    Движение.Клиент = Клиент;
    Движение.Номенклатура = ТекСтрокаМатериалы.Номенклатура;
    Движение.Количество = ТекСтрокаМатериалы.Количество;
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
    
    
    
    В чем проблема или все таки для проверки номенклатура это или нет надо делать Запрос???
  2. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    условие выполняется ?





    Если ТекСтрокаМатериалы.Номенклатура.Вид=еречисления.ВидыНоменклатуры.Номенклатура Тогда

    вместо вид...напиши тот реквизит справочника Номенклатура..в котором и хранится Усла это или Номенклатура
  3. TopicStarter Overlay
    MevMix
    Offline

    MevMix Опытный в 1С

    Регистрация:
    21 фев 2011
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Изменение на
    Код:
    Если ТекСтрокаМатериалы.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Номенклатура Тогда  
    
    помагло
    Спасибо
  4. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Вы написали что конфигурация не типовая, но не написали на базе какой конфигурации пишите, вот я накидал в новой конфе, все работает

    Код:
    Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    // регистр Продажи Приход
    Движения.Продажи.Записывать = Истина;
    Для Каждого ТекСтрокаТовары Из Товары Цикл
    Если ТекСтрокаТовары.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Услуга Тогда
    Продолжить;
    КонецЕсли;
    Движение = Движения.Продажи.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
    Движение.Количество = ТекСтрокаТовары.Количество;
    Движение.Стоимость = ТекСтрокаТовары.Сумма;
    КонецЦикла;
    
    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    КонецПроцедуры
    
    
    Долго значит писал :angry:
  5. TopicStarter Overlay
    MevMix
    Offline

    MevMix Опытный в 1С

    Регистрация:
    21 фев 2011
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Да при таком расскладе тоже работает, но без
    Код:
    Движения.Продажи.Записывать = Истина;
    
    ругается на ЗАПИСЫВАТЬ почему???

    {Документ.ПоступлениеТоваровИУслуг(25)}: Поле объекта не обнаружено (Записывать)
    Движения.Продажи.Записывать = истина;

    И по поводу НЕ Типовая - всегда думал, что конфиги УпрТорговлей, ЗиК - это типовыеа то что сам пишешь не типовые
    или не прав??

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