Приходование одной фирмой расходование другой (ТиС)

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

  1. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Кто-нибудь такое делал в ТиС?
    У меня получается так:
    Необходимо завести дополнительный справочник с правилами обмена в собственных фирмах
    (ОрганизацияОтКуда, ОрганизацияКуда, СкладОтКуда, СкладКуда, Наценка)
    Далее в документе реализации необходимо дописать проверку на наличее остатков в других фирмах, после которого если нам не хватает товара 1С автоматом должна создать куплю продажу и поступление...
    Еще необходимо указать с какой наценкой продается товар "нашей" фирме от "нашей" - где это (и как) можно реализовать автоматом или прийдется в справочнике правил указывать наценка (а если по списку товару нужно разные???)

    Или у меня опять велосипед опять проектируется?

    Добавлено: Скорее всего туда необходимо добавить бытсрая продажа "Продажа собственной фирме"? (после проверки остатков конечнои выправки сколько необходимо)
     
  2. Pro

    Pro Гость

    велосипед...
    в ТиС есть механизм продажа собственной фирме, посмотри туда....
     
  3. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Значит его необходимо доработать (получается только правила забора товара прикрутить в автоматическом режиме!) в реализации

    Косяк тот что если склады разные оптовый и розничный!!!!!!
     
  4. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    А почему не рассматривается документ "ПеремещениеТМЦ" ?
     
  5. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    а что можно перемещать между "разными" фирмами?
     
  6. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Не понял вопроса :RTFM:
    Любой товар на любой склад по любой цене - разве не твой случай ?
     
  7. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Нет не мой: разные юр. лица! (хоть и собственные)
     
  8. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Делал я когда-то подобную штуку. Порылся - не нашел (5 компьютеров утекло с тех пор :RTFM: ). Идея такова (впрочем, лежит на поверхности) :
    Исследуются остатки, на них (полностью или выборочно) оформляется приход на фирму 1 (с указанной наценкой),
    после чего производится продажа фирме 2 тех же позиций. Помнится, для этого использовался некий фиктивный контрагент,
    выступающий вначале поставщиком, затем покупателем, но это optional.
    Задача, в общем, несложная, повозиться только придется
     
  9. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    вот и сижу ковыряюсь!
     
  10. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    У кого-нибудь есть наработки в этой обасти? :(
     
  11. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Не могу врубится почему-то цены в формируемой реализации по недостоющим позициям ставит не те ведь впринципе прописал везде все:
    Код (Text):
    РеализацияСобственнойФирме=Создатьобъект("Документ.Реализация");
    РеализацияСобственнойФирме.Новый();
    РеализацияСобственнойФирме.ДатаДок = ДатаДок;
    РеализацияСобственнойФирме.АвтоВремяНачалоДня();
    РеализацияСобственнойФирме.Фирма=ОптФирма;
    РеализацияСобственнойФирме.Склад=ОптСклад;
    РеализацияСобственнойФирме.Контрагент=ПравилаПродажФирмам.КонтрагентПосредник;
    Если ПустоеЗначение(ПравилаПродажФирмам.ДоговорПродажи)=1 Тогда
    РеализацияСобственнойФирме.Договор=РеализацияСобственнойФирме.Контрагент.Основно
    йДоговор;
    Иначе
    РеализацияСобственнойФирме.Договор=ПравилаПродажФирмам.ДоговорПродажи;
    КонецЕсли;
    РеализацияСобственнойФирме.ТипЦен=ТипЦенРеализации;
    РеализацияСобственнойФирме.Валюта=ТипЦенРеализации.Валюта;
    РеализацияСобственнойФирме.УчитыватьНП=ТипЦенРеализации.ЦенаВклНП;
    РеализацияСобственнойФирме.УчитыватьНДС=ТипЦенРеализации.ЦенаВклНДС;
    // уникальные реквизиты шапки
    РеализацияСобственнойФирме.КодОперации = глКО.Продажа;
    РеализацияСобственнойФирме.ДатаОплаты  = ДатаДок;
    РеализацияСобственнойФирме.ЗагрузитьТабличнуюЧасть(ТаблицаНедостатков);
    //**************************
    // Цикл по всем товарам в документе
    РеализацияСобственнойФирме.ВыбратьСтроки();
    Пока РеализацияСобственнойФирме.ПолучитьСтроку() = 1 Цикл
    ТекТМЦ = РеализацияСобственнойФирме.Номенклатура;
    // Получаем цену
    ПЦена = 0;
    ПЕдиницаКонт = РеализацияСобственнойФирме.Единица;
    ПЕдиницаЦены = ПЕдиницаКонт;                         
    ПВалютаЦены  = ТипЦенРеализации.Валюта;
    ПЦенаВклНП    = ТипЦенРеализации.ЦенаВклНП;
    ПЦенаВклНДС  = ТипЦенРеализации.ЦенаВклНДС;
    Если глВернутьЦену(ТекТМЦ, РеализацияСобственнойФирме.ТипЦен, РеализацияСобственнойФирме.ДатаДок, ПЦена, ПЕдиницаЦены, ПВалютаЦены) = 1 Тогда
    // Приводим к одной единице (если в документе она есть)
    Если ПЕдиницаЦены.Коэффициент <> РеализацияСобственнойФирме.Коэффициент Тогда
    Если ПЕдиницаЦены.Коэффициент <> 0 Тогда
    ПЦена = (ПЦена * РеализацияСобственнойФирме.Коэффициент) / ПЕдиницаЦены.Коэффициент;
    КонецЕсли;
    КонецЕсли;
    глПересчитатьЦенуВДокументе(РеализацияСобственнойФирме, РеализацияСобственнойФирме.УчитыватьНП, РеализацияСобственнойФирме.УчитыватьНДС, ПЦена, ПВалютаЦены, ПЦенаВклНП, ПЦенаВклНДС);
    Иначе
    РеализацияСобственнойФирме.Цена = 0;
    КонецЕсли;
    КонецЦикла;
    глПересчетТаблЧасти(РеализацияСобственнойФирме,"Цена");
    РеализацияСобственнойФирме.Комментарий = "Продажа собственной фирме";
    РеализацияСобственнойФирме.Записать();
    РеализацияСобственнойФирме.Провести();
    Если РеализацияСобственнойФирме.Проведен() = 0 Тогда
    ОтменитьТранзакцию();
    Возврат;
    КонецЕсли;
     
Загрузка...

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