Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проведение по регистрам документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
meverikxp
Здравствуйте, мне нужно провести документ по регистрам аналогично как его проводит Расходная накладная конфигурации УТ 2.3. По регистрам Продажи, ВзаиморасчетыСКонтрагентами, ТоварыВРознице, РасчетыСКонтрагентами, РеализованныеТовары я провел. Но по отчетам взаиморасчеты с контрагентами не выводится сумма приход, хоть сам документ в отчете есть. А также нет себестоимости товара в отчете валовой прыбыли, а сумма реализации есть. Подскажите в какий регистрах еще нужно сделать движения что бы исправить ошибки. Спасибо

ЗЫ. Платформа 8.2
meverikxp
Цитата(meverikxp @ 05.07.11, 17:14) необходимо зарегистрироваться для просмотра ссылки
Здравствуйте, мне нужно провести документ по регистрам аналогично как его проводит Расходная накладная конфигурации УТ 2.3. По регистрам Продажи, ВзаиморасчетыСКонтрагентами, ТоварыВРознице, РасчетыСКонтрагентами, РеализованныеТовары я провел. Но по отчетам взаиморасчеты с контрагентами не выводится сумма приход, хоть сам документ в отчете есть. А также нет себестоимости товара в отчете валовой прыбыли, а сумма реализации есть. Подскажите в какий регистрах еще нужно сделать движения что бы исправить ошибки. Спасибо

ЗЫ. Платформа 8.2


Отвечу сам на свой вопрос, нужно еще записать в регистры накоплений ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов и ПродажиСебестоимость,

Но возник другой вопрос, как узнать себестоимость товара по методу ФИФО. Если есть приходы по разным ценам. То по какой цене нужно списать?
logist
Цитата(meverikxp @ 06.07.11, 8:59) необходимо зарегистрироваться для просмотра ссылки
как узнать себестоимость товара по методу ФИФО.

прочитать что такое ФИФО - необходимо зарегистрироваться для просмотра ссылки
meverikxp
Цитата(logist @ 06.07.11, 9:05) необходимо зарегистрироваться для просмотра ссылки
прочитать что такое ФИФО - необходимо зарегистрироваться для просмотра ссылки

а программно в 1С?
logist
Цитата(meverikxp @ 06.07.11, 9:55) необходимо зарегистрироваться для просмотра ссылки
а программно в 1С?

FIFO (First In, First Out) — метод бухгалтерского учёта ТМЦ, в соответствии с которым ТМЦ, поставленные на учёт первыми выбывают с учёта тоже первыми.

Ну вот что тут непонятного? Берете не нулевые остатки партий в нужном кол-ве, которые пришли самыми ранними и считаете по ним.
meverikxp
Цитата(logist @ 06.07.11, 10:12) необходимо зарегистрироваться для просмотра ссылки
FIFO (First In, First Out) — метод бухгалтерского учёта ТМЦ, в соответствии с которым ТМЦ, поставленные на учёт первыми выбывают с учёта тоже первыми.

Ну вот что тут непонятного? Берете не нулевые остатки партий в нужном кол-ве, которые пришли самыми ранними и считаете по ним.

Что такое ФИФО и ЛИФО я знаю, Как реализовать это в УТ?
logist
Цитата(meverikxp @ 06.07.11, 10:40) необходимо зарегистрироваться для просмотра ссылки
Как реализовать это в УТ?

А разве там этого не реализовано?
Мне помнится пол года назад в одном из Ваших вопросов звучало что Вы используете УТ с установленным методом ФИФО.
meverikxp
Цитата(logist @ 06.07.11, 10:53) необходимо зарегистрироваться для просмотра ссылки
А разве там этого не реализовано?
Мне помнится пол года назад в одном из Ваших вопросов звучало что Вы используете УТ с установленным методом ФИФО.

Когда писал пост ожидал подобного ответа. Дело в том что я добавил новый документ и нужно в нем списывать товар
logist
Цитата(meverikxp @ 06.07.11, 11:20) необходимо зарегистрироваться для просмотра ссылки
Дело в том что я добавил новый документ и нужно в нем списывать товар

А посмотреть как это делается в других документах?
meverikxp
Цитата(logist @ 06.07.11, 11:23) необходимо зарегистрироваться для просмотра ссылки
А посмотреть как это делается в других документах?

Да смотрел, как говорят смотрю в книгу вижу .... Подскажите по теории как это сделать или где прочитать.
pablo
Цитата
Подскажите по теории как это сделать или где прочитать.

1. Выбираете остатки, отсортированные по дате партии.
2. Перебираем остатки, сравнивая количество единиц по партии с количеством для списания.

Пример. У вас на складе есть 4 яблока. 2 пришло 1 января по цене 20 грн/шт, а 2 - 2 января по 21грн/шт. Сколько будут стоить 3 яблока для списания со склада?
По ФИФО - 61 грн, по ЛИФО - 62грн
meverikxp
Цитата(pablo @ 06.07.11, 12:04) необходимо зарегистрироваться для просмотра ссылки
1. Выбираете остатки, отсортированные по дате партии.
2. Перебираем остатки, сравнивая количество единиц по партии с количеством для списания.

Пример. У вас на складе есть 4 яблока. 2 пришло 1 января по цене 20 грн/шт, а 2 - 2 января по 21грн/шт. Сколько будут стоить 3 яблока для списания со склада?
По ФИФО - 61 грн, по ЛИФО - 62грн


Нашел регистр накопления ПартииТоваровНаСкладе в нем есть информация по остаткам и цена партий, если следовать вашему примеру, то с регистра я получаю две записи: 1) остаток 2 яблока, остаток сумма 40грн, 2)Остаток 2 яблока Сума остаток 42 грн. Теперь как мне в выборке отобрать первых два и еще одно яблоко с другой партии?
logist
Цитата(meverikxp @ 06.07.11, 12:32) необходимо зарегистрироваться для просмотра ссылки
Теперь как мне в выборке отобрать первых два и еще одно яблоко с другой партии?

Посмотреть как это делается в других документах. Политика списания (ФИФО) уже привязана к механизму из настроек учета, используйте "общие" процедуры.
pablo
Цитата
Теперь как мне в выборке отобрать первых два и еще одно яблоко с другой партии?

Смотря что вы потом с яблоками делать будете? Если списывать, то нужно делать движения по этому регистру на уменьшение остатка. Чтобы я Вам не писал весь код за Вас, напишите свой вариант кода, а тут его уже поправим.
meverikxp
Цитата(logist @ 06.07.11, 12:39) необходимо зарегистрироваться для просмотра ссылки
Посмотреть как это делается в других документах. Политика списания (ФИФО) уже привязана к механизму из настроек учета, используйте "общие" процедуры.


Нашел стандартную функцию
Функция ИтогПлановаяСебестоимость(ДокументОбъект) Экспорт

    Перем СуммаПлановойСебестоимости;

    Если Не ДокументОбъект.ИспользоватьПлановуюСебестоимость Тогда
        // Не выполняем никаких действий, если плановая себестоимость в документе не учитывается
        Возврат Неопределено;
    КонецЕсли;

    ИтогПлановаяСебестоимость = 0;

    // Суммируем значения плановой себестоимости по каждой строке табличной части
    Для каждого СтрокаТабличнойЧасти ИЗ ДокументОбъект.Товары Цикл

        ОбработкаТабличныхЧастей.ПолучитьСуммуИОтклонениеОтПлановойСебестоимостиТаб
Части(СтрокаТабличнойЧасти, ДокументОбъект, СуммаПлановойСебестоимости);

        // Если хотя бы в одной строке плановая себестоимость будет неопределенной,
        // то считаем, что и итоговая плановая себестоимость по документу
        // также будет неопределенной.
        Если СуммаПлановойСебестоимости = Неопределено Тогда
            Продолжить;
        КонецЕсли;

        ИтогПлановаяСебестоимость = ИтогПлановаяСебестоимость + СуммаПлановойСебестоимости;

    КонецЦикла;

    Возврат ИтогПлановаяСебестоимость;

КонецФункции

теперь как ее использовать
pablo
Что-то Вы совсем не ФИФО нашли.
meverikxp
Цитата(pablo @ 06.07.11, 13:09) необходимо зарегистрироваться для просмотра ссылки
Что-то Вы совсем не ФИФО нашли.

Да уже смотрю что что-то не то
meverikxp
Так что жду Ваших предложений. Спасибо
mister-x
Цитата
Так что жду Ваших предложений. Спасибо
подивитись як це показано в методичці Введение в конфигурирование в системе "1С:Предприятие 8" Решение оперативных задач.
meverikxp
Цитата(mister-x @ 06.07.11, 14:24) необходимо зарегистрироваться для просмотра ссылки
подивитись як це показано в методичці Введение в конфигурирование в системе "1С:Предприятие 8" Решение оперативных задач.

Этих методичек есть несколько какую именно мне сейчас нужно?
Vofka
Ой не хотим книги читать... Ну как так, вам сказали что посмотреть, а вы спрашиваете какую из 3? Все просмотреть впадло?

mister-x, а вы в самом деле, сами взяли бы методички, выбрали что надо и выложили, чё напрягаете человека, ай-ай-ай?
mister-x
Цитата
Этих методичек есть несколько какую именно мне сейчас нужно?
так вказав же
Цитата
mister-x, а вы в самом деле, сами взяли бы методички, выбрали что надо и выложили, чё напрягаете человека, ай-ай-ай?
smile.gif
meverikxp
Цитата(mister-x @ 06.07.11, 16:26) необходимо зарегистрироваться для просмотра ссылки
так вказав же
smile.gif


Нашел. если кому будет нужно страница 54.
Подскажите что означает предложение:
Остаток = ?(Выборка.КолОст = NULL, 0, Выборка.КолОст);


Не судите строго, может это и просто, но не знаю я. sad.gif

Или это тоже самое что в запросе ISNULL(КолОст, 0) -?

Цитата(Vofka @ 06.07.11, 15:44) необходимо зарегистрироваться для просмотра ссылки
Ой не хотим книги читать... Ну как так, вам сказали что посмотреть, а вы спрашиваете какую из 3? Все просмотреть впадло?

mister-x, а вы в самом деле, сами взяли бы методички, выбрали что надо и выложили, чё напрягаете человека, ай-ай-ай?


Да у меня уже мозг вскипел. Если узнаешь одно, то надо узнать еще больше. Когда это кончится? 64000000.gif
logist
Цитата(meverikxp @ 06.07.11, 17:31) необходимо зарегистрироваться для просмотра ссылки
Подскажите что означает предложение:
Остаток = ?(Выборка.КолОст = NULL, 0, Выборка.КолОст);

Так понятно:
Если Выборка.КолОст = NULL Тогда Остаток =0;
Иначе Остаток = Выборка.КолОст;

Цитата(meverikxp @ 06.07.11, 17:31) необходимо зарегистрироваться для просмотра ссылки
может это и просто, но не знаю я. sad.gif

Ну так учитесь чему-то самостоятельно, а не бегайте на форум по каждому чиху.

Цитата(meverikxp @ 06.07.11, 17:31) необходимо зарегистрироваться для просмотра ссылки
Когда это кончится? 64000000.gif

Никогда. Получение знаний это бесконечный процесс.
meverikxp
Цитата(logist @ 06.07.11, 17:40) необходимо зарегистрироваться для просмотра ссылки
Так понятно:
Если Выборка.КолОст = NULL Тогда Остаток =0;
Иначе Остаток = Выборка.КолОст;


Ну в принципе я так и думал. Спасибо за терпение
mister-x
Цитата
Да у меня уже мозг вскипел. Если узнаешь одно, то надо узнать еще больше. Когда это кончится?
а тут все і одразу не вийде - тільки поступово
meverikxp
вот навалял такой код:

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


Ну что-то не так работает, как нужно, в регистре начинают появляться минусы, подскажите что я там не так сделал. Спасибо
meverikxp
Немножко разобрался, дело в том что Выборка партии не обнуляется, нужно делать выборку запроса, дважды, но как это сделать?
logist
Цитата(meverikxp @ 08.07.11, 10:52) необходимо зарегистрироваться для просмотра ссылки
нужно делать выборку запроса, дважды, но как это сделать?

Зачем.... Учитесь работать с полученной таблицей.
meverikxp
Цитата(logist @ 08.07.11, 11:36) необходимо зарегистрироваться для просмотра ссылки
Зачем.... Учитесь работать с полученной таблицей.

Ну вроде получилось, но не уверен что всегда будет списывать по ФИФО, подскажите как явно указать группировку выбранных остатков. Спасибо
Vofka
Блин! Тема имеет название одно, а вопросы вы в ней задаёте все, которые не лень. Мусорка получилась. Закрываю.
logist
Цитата(meverikxp @ 08.07.11, 15:00) необходимо зарегистрироваться для просмотра ссылки
Ну вроде получилось, но не уверен что всегда будет списывать по ФИФО, подскажите как явно указать группировку выбранных остатков. Спасибо

Правильнее ее получать из Учетной политики.
Если уж сильно хочется - Перечисление.СпособыОценки (как-то так)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.