Списание себестоимости по партиям

Тема в разделе "1C и всё что с ней связано", создана пользователем NocturnalMortum, 25 фев 2011.

  1. NocturnalMortum

    NocturnalMortum Гость

    Доброго времени суток, снова я к вам за помощью уважаемые специалисты. В общем взялся я решать задачки по подготовке к экзамену 1С специалист, и залип на задании по списанию себестоимости. Если честно я с трудом представляю себе решение этой задачи. В общем создал в регистре "ОстатокТоваров" измерение "Партии", повязал все это с расходной и приходной накладной. Дальше залип, прошу дать ссылочку на возможную литературу или помочь разобраться.
     
  2. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    А в чем проблема? при приходе заполняешь измерение партии при расходе отбираешь остатки с партией ,если по нулям - запрет проведения, и всё.
     
  3. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
  4. NocturnalMortum

    NocturnalMortum Гость

    В общем пораскинул я своим скудным умишком, и вот что у меня получилось:
    Запрос=Новый Запрос;
    Запрос.Текст=
    "ВЫБРАТЬ
    | ПартииТовара.Номенклатура КАК Номенклатура,
    | ЕСТЬNULL(ПартииТовара.Количество,0) КАК КолПарт,
    | ПартииТовара.Цена,
    | Накладная.Номенклатура КАК ТоварНакл,
    | ЕСТЬNULL(Накладная.Количество,0) КАК КоличествоВДокументе,
    | Накладная.Цена КАК ЦенаНакл,
    | Накладная.Партии
    |ИЗ
    | РегистрНакопления.ПартииТовара КАК ПартииТовара
    | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    | РасходнаяНакладнаяМатериалы.Номенклатура КАК Номенклатура,
    | РасходнаяНакладнаяМатериалы.Количество КАК Количество,
    | РасходнаяНакладнаяМатериалы.Цена КАК Цена,
    | РасходнаяНакладнаяМатериалы.Партии КАК Партии,
    | РасходнаяНакладнаяМатериалы.Ссылка КАК Ссылка
    | ИЗ
    | Документ.РасходнаяНакладная.Материалы КАК РасходнаяНакладнаяМатериалы) КАК Накладная
    | ПО ПартииТовара.Номенклатура = Накладная.Номенклатура
    |ГДЕ
    | Накладная.Ссылка = &Ссылка
    |
    |ДЛЯ ИЗМЕНЕНИЯ
    | РегистрНакопления.ПартииТовара
    |ИТОГИ ПО
    | Номенклатура,
    | ТоварНакл";
    Запрос.УстановитьПараметр("Ссылка",ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() цикл
    СписатьКол=Выборка.КоличествоВДокументе;
    КоличествоПартии=Выборка.КолПарт;
    Сообщить(строка(Выборка.КоличествоВДокументе)+" "+строка(Выборка.КолПарт));
    Пока Число(СписатьКол)>0 и Выборка.Следующий() цикл
    КолСпис=МИН(СписатьКол, Выборка.КолПарт);
    Если КоличествоПартии>СписатьКол тогда
    Движение = Движения.ПартииТовара.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
    Движение.Период = Дата;
    Движение.Номенклатура = Выборка.Номенклатура;
    Движение.Количество = КолСпис;
    Движение.Цена = ТекСтрокаМатериалы.Цена;
    СписатьКол=СписатьКол-КолСпис;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    КонецПроцедуры

    Но выдает ошибку на строке "Пока Число(СписатьКол)>0 и Выборка.Следующий() цикл", пишет что типы для сравнения разные, но если я преобразовываю в число, то пишет что преобразование не возможно. Прошу помочь, и по возможности посмотреть что еще поправить можно.
     
  5. NocturnalMortum

    NocturnalMortum Гость

    Разобрался, спасибо.
     
Загрузка...

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