Вход | Регистрация


1С:Предприятие ::

Метки: 

v7: Поменять МОЛ склада в ТиС

Я
   Duke1C
 
10.07.18 - 20:23
Серёга Злопчинский и иже с ними (в смысле гуру) подскажите, плиз.
Если меняем в справочнике складов МОЛа, на регистре ПартииНаличие это как отразиться?
"Себестоимость" останется на пердыдущем МОЛе, и её надобно будет "как-то переместить" на нового, или "НоуПроблем"?
Сдаётся мне, что траблы будут некоторые (некоторые, читай во многих неожиданных местах потом)
 
 
   HawkEye
 
1 - 10.07.18 - 20:32
(0) "Себестоимость" останется на пердыдущем МОЛ
   GreyK
 
2 - 10.07.18 - 20:35
(0) От МОЛа никакие регистры не зависят, этот реквизит только в печатных формах используется.
   GreyK
 
3 - 10.07.18 - 20:37
(1) Злой ты, зачем пишешь ерунду и пугаешь юзверей?
   Злопчинский
 
Ведущий
4 - 10.07.18 - 20:39
(2) МОЛ - измерение в Регистр.ПартииНаличие.
так что если поменять МОЛа в карточке склада, то будет разрыв шаблона. Хотя надо глянуть в код - с какого мола будут списываться стоимости...
   Злопчинский
 
Ведущий
5 - 10.07.18 - 20:40
если у вас формально никакой передачи ТМЦ от МОЛа к Молу не происходило - просто открой карточку МОЛа и перебей в ней Иванова на Петрова (если иванов больше по базе нигде не используется)
   GreyK
 
6 - 10.07.18 - 20:44
(4) Посмотрел регистр ПартииНаличие, да так и есть, извиняюсь.
   HawkEye
 
7 - 10.07.18 - 20:45
(2) не трынди... в ТИС-е всю жизнь МОЛы в партиях сидят....
   Злопчинский
 
Ведущий
8 - 10.07.18 - 20:47
глянул, как и есть:
При списании партий с баланса ставится фильтр на чтение итогов по МОЛу склада, указанного в документе.

Соответственно, остатки будут тянуться по новому МОЛу, на нем ничего нет... при проведении получишь типа "..не распределилось по партиям.."
   GreyK
 
9 - 10.07.18 - 20:48
(7) Не думал что такая ерунда может быть в 7.7, это же конкретная подстава конфигурации ТИС.
   Злопчинский
 
Ведущий
10 - 10.07.18 - 20:49
Если сделать как (2) хотит - то отключить установку фильтра по молу при списании партий и все...
 
  Рекламное место пустует
   Злопчинский
 
Ведущий
11 - 10.07.18 - 20:49
(9) всю жизнь так было, даже по моему в 8-ой редакции
   HawkEye
 
12 - 10.07.18 - 20:52
(9) при чем тут думал... так в ТиС-е всю жизнь было...
   GreyK
 
13 - 10.07.18 - 20:53
(11) "всю жизнь так было" не оправдание дебелизма с привязкой партии к МОЛ.
   GreyK
 
14 - 10.07.18 - 20:53
(12) Зачем это было?
   Злопчинский
 
Ведущий
15 - 10.07.18 - 20:54
(14) кому это не надо - тот МОЛа в справочнике складов не заполняет и все.
   GreyK
 
16 - 10.07.18 - 21:02
(15) А кому надо зачем это надо было :)
Мой совет. Прочистить партии от МОЛов и заремить установку МОЛа в партиях.
   Duke1C
 
17 - 10.07.18 - 21:03
(15) ВОТ!
Я думал, память мне изменяет, но оказывается она пока еще при мне:)))
К тому же еще один вопросик, если ни на одном складе МОЛа не указывать - регистр меньше будет пухнуть? Т.е. тупо измерение МОЛ будет одно, соответственно и записей в него будет меньше, или тут я не прав?
P.S. На ночь глядя, что-то думается сложно, а коллективный разум он жеж всегда в тонусе:)))
   Kigo_Kigo
 
18 - 10.07.18 - 21:05
Очень удобно по молу делать аналитику по складам, так как в партиях складов нет, а вот по молу можно все посметреть
   Kigo_Kigo
 
19 - 10.07.18 - 21:06
+(18) всегда их заполнял но в виде МОЛ Основного склада, МОЛ розничная точка и так далее
   Duke1C
 
20 - 10.07.18 - 21:08
(18) Ну там же МОЛ - справочник ФизЛица, и соответственно у юзера жгучее желание поменять его, с одного на другое
   Злопчинский
 
Ведущий
21 - 10.07.18 - 21:08
(17) да
   Злопчинский
 
Ведущий
22 - 10.07.18 - 21:09
(18) так обычно и делают. в качестве МОЛОв вводят "склады"
   GreyK
 
23 - 10.07.18 - 21:10
(18) Если что, то в партии есть документ оприходования, а в нем есть склад оприходования.
   Duke1C
 
24 - 10.07.18 - 21:11
+20 И он, бедолага, не знает, чем это чревато, не говоря уже о последствиях из (8)
   Kigo_Kigo
 
25 - 10.07.18 - 21:13
(20) Смена МОЛ - по идее стандарная операция, МОЛ может меняться раз в месяц, не может кладовщик вечно работать, по этому проблем быть не должно, тем более все идет по FIFO значит если не сделать передачу по МОЛ-у то спишуться партии по старому МОЛ потом пойдут по новому, по сути это запись в регистре также как и номенклатура
   Duke1C
 
26 - 10.07.18 - 21:14
+24 А хотя, с точки зрения остатков склада, вроде как ничего не изменилось (по регистру ОстаткиТМЦ, откуда они в форму подбора номенклатуры тащатся, например), но в тоже время себестоимость уплыла в неизвестном направлении, так?
   Duke1C
 
27 - 10.07.18 - 21:17
(25) Стандартная, с точки зрения юзера, я же смотрю со стороны, как оно "там унутре" будет потом происходить.
   Kigo_Kigo
 
28 - 10.07.18 - 21:30
(27)  Посмотрел код  глСписаниеПартийТМЦ
Там сначала идет получение итогов гда МОЛ заходит из регистров, потом если не рапределяеться по партиям то записи идкт как  МОЛ  = Склад.МОЛ, так что все должно работать как надо
   GreyK
 
29 - 10.07.18 - 21:38
Итог часовой дискуссии, от изменения мола ничего не изменится, партии будут списываться по настройкам, а информация о МОЛ в регистре ПартииНаличие побоку.
   spectre1978
 
30 - 10.07.18 - 21:40
(29) Если в неправленной ТиС или комплексной четверке мол заполнялся и возьметесь его менять - получите грабли. Чреватые перепроведением всех доков по складу. Я бы не стал.
   spectre1978
 
31 - 10.07.18 - 21:41
не раз приходилось видеть раздрюченный регистр партий после того как умный бухгалтер сменил уволенного мола в складе
   Kigo_Kigo
 
32 - 10.07.18 - 21:43
(30) Да,перед сменой мола границу последовательности лучше восстановить, то что МОЛ не переодический реквизит -тоже косяк типовой 1с, хотя глобально никаких граблей не будет, потому как встанет другой МОЛ, спишется Другой МОЛ, и что?
   Kigo_Kigo
 
33 - 10.07.18 - 21:45
(31) Если последовательность ввода не нарушена - то раздрюченных партий не должно быть, а вот если нарушена, то сами  себе злобные буратинА...
 
 
   GreyK
 
34 - 10.07.18 - 21:47
(30) Посмотрите модуль проведения документов реализаций и списания в конце концов, хватит пороть чушь, там нет отбора по МОЛ, есть лишь разница в ФИФО, ЛИФО и по среднему.
Хорош уже сову на глобус натягивать.
   Злопчинский
 
Ведущий
35 - 10.07.18 - 21:49
(25) (28) неверно. Мол заходит из регистров на списание, только сначала на регистр ставиться фильтр ПО ТЕКУЩЕМУ МОЛУ.
   Злопчинский
 
Ведущий
36 - 10.07.18 - 21:50
(34) "там нет отбора по МОЛ"
- есть
   spectre1978
 
37 - 10.07.18 - 21:51
(34) Там это не надо даже смотреть. Можно тупо посмотреть движения при проведении поступлений и реализаций. МОЛ - ЗАПОЛНЯЕТСЯ! А раз так, то вполне возможна ситуация, когда партию образовал один МОЛ, а списывать будет другой. С нулевых остатков, скорее всего.
   Duke1C
 
38 - 10.07.18 - 21:52
(33) Ну, как бы, восстановление последовательности в типовой ТиС - есть один из залогов (наиважнейших) её успешной работы, иначе грабли заострёныые и без поролоновой накладки на черенок обеспечены по-любому.
Мне просто было интересно (любопытно, нужно выяснить - сие более правдиво) скажется смена МОЛа на учете себестоимости или нет.
   Kigo_Kigo
 
39 - 10.07.18 - 21:53
(36) нет
   Kigo_Kigo
 
40 - 10.07.18 - 21:55
(36) покажешь где?
Процедура глСписаниеПартийТМЦ(Конт,ТаблНоменклатуры,СписокПараметров,ВремПартии,ТаблСписПартий="",ТаблСписПартийКом="") Экспорт
    
    Перем ТаблИтогов;// ТЗ, в которую выгружаем итоги       

    Перем ОстПогКоличество, ОстПогСумма, ОстПогСуммаПродУпр, ОстПогСуммаПродРуб, ОстПогСуммаНДС, ОстПогСуммаНП;
    
    ТаблСписПартий=СоздатьОбъект("ТаблицаЗначений");
    ТаблСписПартий.НоваяКолонка("Фирма");
    ТаблСписПартий.НоваяКолонка("МОЛ");
    ТаблСписПартий.НоваяКолонка("Номенклатура");
    ТаблСписПартий.НоваяКолонка("СтатусПартии");
    ТаблСписПартий.НоваяКолонка("Партия");
    ТаблСписПартий.НоваяКолонка("ДатаПартии");
    ТаблСписПартий.НоваяКолонка("ЦенаПрод");
    ТаблСписПартий.НоваяКолонка("Количество");
    ТаблСписПартий.НоваяКолонка("СуммаУпр");
    ТаблСписПартий.НоваяКолонка("СуммаРуб");
    ТаблСписПартий.НоваяКолонка("СуммаБезНДС");
    ТаблСписПартий.НоваяКолонка("СтавкаНДС");
    ТаблСписПартий.НоваяКолонка("СтавкаНП");
    ТаблСписПартий.НоваяКолонка("СуммаПрод");
    ТаблСписПартий.НоваяКолонка("СуммаПродРуб");
    ТаблСписПартий.НоваяКолонка("СуммаПродУпр");
    ТаблСписПартий.НоваяКолонка("СуммаДокРуб");
    ТаблСписПартий.НоваяКолонка("НДСПрод");
    ТаблСписПартий.НоваяКолонка("НППрод");
    ТаблСписПартий.НоваяКолонка("ДоговорКомитента");
    ТаблСписПартий.НоваяКолонка("НомерСтрокиДокумента");
    ТаблСписПартий.НоваяКолонка("СкидкаРуб");
    
    ТаблСписПартийКом=СоздатьОбъект("ТаблицаЗначений");
    ТаблСписПартийКом.Загрузить(ТаблСписПартий);// копируем структуру

    
    РегистрУчета = ВремПартии.Вид();      
    
    Если РегистрУчета="ПартииНаличие" Тогда
        РегПартии    = Конт.Регистр.ПартииНаличие;
    Иначе    
        РегПартии    = Конт.Регистр.ПартииОтданные;
    КонецЕсли;
    
    Фирма            = СписокПараметров.Получить("Фирма");
    Склад            = СписокПараметров.Получить("Склад");
    Договор            = СписокПараметров.Получить("Договор");
    КодОперации        = СписокПараметров.Получить("КодОперации"); 
    
    Если РегистрУчета="ПартииНаличие" Тогда
        МОЛ            = Склад.МОЛ;
    КонецЕсли;
              
    МетодРасчетаСебестоимости = Фирма.ЮрЛицо.МетодРасчетаСебестоимости.Получить(Конт.ДатаДок);
    Если ПустоеЗначение(МетодРасчетаСебестоимости)=1 Тогда
        глНеПроводить(Конт,"Не определен метод расчета себестоимости для юр. лица """+Фирма.ЮрЛицо.Наименование+"""");
        Возврат;
    КонецЕсли;
    
    Если МетодРасчетаСебестоимости = Перечисление.МетодыРасчетаСебестоимости.FIFO Тогда
        ЗнакСортировки="+";
    Иначе     
        ЗнакСортировки="-";
    КонецЕсли;
    
    ТаблНоменклатуры.ВыбратьСтроки();
    Пока ТаблНоменклатуры.ПолучитьСтроку()=1 Цикл
                      
        Номенклатура=ТаблНоменклатуры.Номенклатура;
        Если (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга)
         или (Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа) Тогда
            Продолжить;
        КонецЕсли;
        
        ОстПогКоличество    = ТаблНоменклатуры.Количество;
        ОстПогСуммаПрод        = ТаблНоменклатуры.Сумма;
        ОстПогСуммаПродУпр    = ТаблНоменклатуры.СуммаУпр;
        ОстПогСуммаПродРуб    = ТаблНоменклатуры.ПродСтоимость;   
        ОстПогСуммаДокРуб    = ТаблНоменклатуры.СуммаРуб;
        ОстПогСкидкаРуб        = ТаблНоменклатуры.СкидкаРуб;   
        ОстПогНДСПрод        = ТаблНоменклатуры.СуммаНДС;
        ОстПогНППрод        = ТаблНоменклатуры.СуммаНП;
        
        ВремПартии.УстановитьЗначениеФильтра("Номенклатура",Номенклатура,1);
        Если ТаблНоменклатуры.Партия.Выбран()=1 Тогда
            // выбрана конкретная партия

            ВремПартии.УстановитьЗначениеФильтра("Партия",ТаблНоменклатуры.Партия,1);
        Иначе// снимем фильтр по партии

            ВремПартии.УстановитьЗначениеФильтра("Партия",,0);
        КонецЕсли;                  

        Если РегистрУчета = "ПартииНаличие" Тогда
            Цена = ТаблНоменклатуры.ЦенаПрод;
            ВремПартии.УстановитьЗначениеФильтра("ЦенаПрод", Цена);
        КонецЕсли;     
        
        ВремПартии.ВыгрузитьИтоги(ТаблИтогов,1,1);  
        
        ТаблИтогов.НоваяКолонка("ДокПартии", "Документ");
        ТаблИтогов.ВыбратьСтроки();
        Пока ТаблИтогов.ПолучитьСтроку() = 1  Цикл
            ТаблИтогов.ДокПартии = ТаблИтогов.Партия.ПриходныйДокумент;
        КонецЦикла;
        
        // Подготовим таблицу итогов взависимости от настройки контроля остатков

        ПодготовитьТаблИтогов(ТаблИтогов, Фирма);
        
        Если РегистрУчета = "ПартииНаличие" Тогда
            ТаблИтогов.Сортировать("-Фирма,"+ЗнакСортировки+"ДатаПартии,"+ЗнакСортировки+"ДокПартии,"+ЗнакСортировки+"Партия",1);
        Иначе
            ТаблИтогов.Сортировать("-Фирма,"+ЗнакСортировки+"ДокументПередачи,"+ЗнакСортировки+"Партия",1);
        КонецЕсли;
        
        ТаблИтогов.ВыбратьСтроки();
        Пока (ТаблИтогов.ПолучитьСтроку()=1) и (ОстПогКоличество>0) Цикл
            
            Если ТаблИтогов.Количество<=0 Тогда
                Продолжить;
            КонецЕсли;                                    
            
            Если КодОперации = глКО.ВозвратКомитенту Тогда

                // возвращаем товары комитенту - только его товары!

                Если ТаблИтогов.Партия.ДоговорПоставщика<>Договор Тогда
                    Продолжить;
                КонецЕсли;

            КонецЕсли;              
            
            Если ТаблИтогов.Количество>=ОстПогКоличество Тогда 

                // остаток партии больше, чем нам надо списать

                КоэффСписания=ОстПогКоличество/ТаблИтогов.Количество;

            Иначе
                КоэффСписания=1;
            КонецЕсли;
            
            //измерения

            РегПартии.Фирма                = Фирма;
            
            РегПартии.Номенклатура        = ТаблИтогов.Номенклатура;
            РегПартии.СтатусПартии        = ТаблИтогов.СтатусПартии;
            РегПартии.Партия            = ТаблИтогов.Партия;
            Если РегистрУчета="ПартииНаличие" Тогда
                РегПартии.ДатаПартии        = ТаблИтогов.ДатаПартии;
                РегПартии.МОЛ                = ТаблИтогов.МОЛ;       
                РегПартии.ЦенаПрод            = ТаблИтогов.ЦенаПрод;
            Иначе
                РегПартии.Договор            = ТаблИтогов.Договор;
                РегПартии.ДокументПередачи    = ТаблИтогов.ДокументПередачи;
            КонецЕсли;     
            
            //ресурсы

            РегПартии.Количество        = Окр(ТаблИтогов.Количество    *КоэффСписания,5,1);
            РегПартии.СуммаУпр            = Окр(ТаблИтогов.СуммаУпр    *КоэффСписания,2,1);
            РегПартии.СуммаРуб            = Окр(ТаблИтогов.СуммаРуб    *КоэффСписания,2,1);
            РегПартии.СуммаПлат            = Окр(ТаблИтогов.СуммаПлат    *КоэффСписания,2,1);
            РегПартии.СуммаБезНДС        = Окр(ТаблИтогов.СуммаБезНДС*КоэффСписания,2,1);
            Если РегистрУчета="ПартииОтданные" Тогда 
                РегПартии.ПродСтоимость    = Окр(ТаблИтогов.ПродСтоимость*КоэффСписания,2,1);    
            КонецЕсли;
            
            //реквизиты

            РегПартии.КодОперации         = КодОперации;
                                                                   
            КоэффПогашения = РегПартии.Количество/ОстПогКоличество;
            
            // корректировка остатка продажной стоимости к списанию

            ОстПогКоличество=ОстПогКоличество-РегПартии.Количество;
            
            СписСуммаПрод    = Окр(ОстПогСуммаПрод    *КоэффПогашения,2,1);
            СписСуммаПродУпр= Окр(ОстПогСуммаПродУпр*КоэффПогашения,2,1);
            СписСуммаПродРуб= Окр(ОстПогСуммаПродРуб*КоэффПогашения,2,1);
            СписСуммаДокРуб    = Окр(ОстПогСуммаДокРуб *КоэффПогашения,2,1);
            СписСкидкаРуб    = Окр(ОстПогСкидкаРуб     *КоэффПогашения,2,1);
            СписНДСПрод        = Окр(ОстПогНДСПрод        *КоэффПогашения,2,1);
            СписНППрод         = Окр(ОстПогНППрод        *КоэффПогашения,2,1);
            
            ОстПогСуммаПрод        = ОстПогСуммаПрод    - СписСуммаПрод;
            ОстПогСуммаПродУпр     = ОстПогСуммаПродУпр- СписСуммаПродУпр;
            ОстПогСуммаПродРуб     = ОстПогСуммаПродРуб- СписСуммаПродРуб;
            ОстПогСуммаДокРуб     = ОстПогСуммаДокРуб    - СписСуммаДокРуб;
            ОстПогСкидкаРуб     = ОстПогСкидкаРуб    - СписСкидкаРуб;
            ОстПогНДСПрод        = ОстПогНДСПрод     - СписНДСПрод;
            ОстПогНППрод        = ОстПогНППрод         - СписНППрод;
            
            СтавкаНДС        = ТаблНоменклатуры.СтавкаНДС;
            СтавкаНП        = ТаблНоменклатуры.СтавкаНП;
                                                           
            Если РегистрУчета = "ПартииНаличие" Тогда   
                РегПартии.ПродСтоимость    = СписСуммаПродРуб;    
            КонецЕсли;
            
            Если (КодОперации <> глКО.Перемещение) и (КодОперации <> глКО.ПередачаВРозницу) и (КодОперации <> глКО.ВозвратИзРозницы)
               и (КодОперации <> глКО.ВозвратПоставщикуИзРозницы) Тогда
                РегПартии.Выручка    = Окр(СписСуммаПродРуб - СписНДСПрод - СписНППрод, 2, 1);
            
            ИначеЕсли КодОперации = глКО.ВозвратПоставщикуИзРозницы Тогда
                РегПартии.Выручка    = Окр(СписСуммаДокРуб - СписНДСПрод - СписНППрод, 2, 1);
                
            Иначе
                РегПартии.Выручка    = 0;
            КонецЕсли;

            ЗапомнитьСписаннуюПартию(РегПартии,ТаблСписПартий,СписСуммаПрод,СписСуммаПродУпр,СписСуммаПродРуб,СписНДСПрод,СписНППрод,СтавкаНДС,СтавкаНП, ТаблНоменклатуры.НомерСтрокиДокумента, СписСкидкаРуб, СписСуммаДокРуб);
            Если РегПартии.СтатусПартии=глСП.Т_Принятый Тогда
                ЗапомнитьСписаннуюПартию(РегПартии,ТаблСписПартийКом,СписСуммаПрод,СписСуммаПродУпр,СписСуммаПродРуб,СписНДСПрод,СписНППрод,СтавкаНДС,СтавкаНП, ТаблНоменклатуры.НомерСтрокиДокумента, СписСкидкаРуб, СписСуммаДокРуб);
            КонецЕсли;
            
            РегПартии.ПривязыватьСтроку(ТаблНоменклатуры.НомерСтрокиДокумента);
            
            РегПартии.ДвижениеРасходВыполнить();
        КонецЦикла;// по строкам ТаблИтогов

            
        
        Если ОстПогКоличество>0 Тогда
            // значит мы расходуем Номенклатуру

            // а Партии, которые надо погашать исчерпаны,

            // значит надо выдать сообщение об этом инциденте

            // и записать текущий документ как Партию с отриц. знаком

            Если ПустоеЗначение(ТаблНоменклатуры.Партия)=1 Тогда
                глСообщениеПроведения ("При проведении партий ТМЦ по "+Конт.ТекущийДокумент()+" от "+Конт.ДатаДок+" по ТМЦ "
                +СокрЛП(Номенклатура)+" не распределилось по партиям "+ОстПогКоличество+" "+Номенклатура.БазоваяЕдиница, Конт.ТекущийДокумент(),,,1);
            Иначе 
                глСообщениеПроведения("По указанной к списанию партии ТМЦ """ + ТаблНоменклатуры.Партия.ПриходныйДокумент +
                """ по ТМЦ " +СокрЛП(Номенклатура) + 
                ?(ПустоеЗначение(ТаблНоменклатуры.Партия.Свойство) = 1,"", 
                  ", (" +  
                  СокрЛП(ТаблНоменклатуры.Партия.Свойство.Владелец) +  ": "  +
                  СокрЛП(ТаблНоменклатуры.Партия.Свойство) +")"
                  ) +  
                " не распределилось  "+ОстПогКоличество+" "+Номенклатура.БазоваяЕдиница, Конт.ТекущийДокумент(),,,1);
            КонецЕсли;
            
            //измерения

            РегПартии.Фирма                = Фирма;
            РегПартии.Номенклатура        = Номенклатура;
            РегПартии.СтатусПартии        = глПолучитьСтатусПартииПрихода(Перечисление.ВидыТМЦ.Товар,Номенклатура,КодОперации, Склад);
            РегПартии.Партия            = ПолучитьПустоеЗначение("Справочник.Партии");
            Если РегистрУчета="ПартииНаличие" Тогда
                РегПартии.ДатаПартии    = "";
                РегПартии.МОЛ            = МОЛ;                    
                РегПартии.ЦенаПрод        = ТаблНоменклатуры.ЦенаПрод;
                РегПартии.ПродСтоимость = ОстПогСуммаПродРуб;
                Если (КодОперации <> глКО.Перемещение) и (КодОперации <> глКО.ПередачаВРозницу) и (КодОперации <> глКО.ВозвратИзРозницы)
                   и (КодОперации <> глКО.ВозвратПоставщикуИзРозницы) Тогда
                    РегПартии.Выручка    = Окр(ОстПогСуммаПродРуб - ОстПогНДСПрод - ОстПогНППрод, 2, 1);
                
                ИначеЕсли КодОперации = глКО.ВозвратПоставщикуИзРозницы Тогда
                    РегПартии.Выручка    = Окр(ОстПогСуммаДокРуб - ОстПогНДСПрод - ОстПогНППрод, 2, 1);
                    
                Иначе
                    РегПартии.Выручка    = 0;
                КонецЕсли;
            Иначе
                РегПартии.Выручка           = Окр(ОстПогСуммаПродРуб - ОстПогНДСПрод - ОстПогНППрод, 2, 1);
                РегПартии.Договор           = Договор;
                РегПартии.ДокументПередачи = "";
            КонецЕсли;
            
            //ресурсы

            РегПартии.Количество        = ОстПогКоличество;
            РегПартии.СуммаУпр            = 0;
            РегПартии.СуммаРуб            = 0;
            РегПартии.СуммаПлат            = 0;
            РегПартии.СуммаБезНДС        = 0;
            Если РегистрУчета="ПартииОтданные" Тогда
                РегПартии.ПродСтоимость    = ОстПогСуммаПрод;
            КонецЕсли;
            
            //реквизиты   

            РегПартии.КодОперации         = КодОперации;
            
            СтавкаНДС        = ТаблНоменклатуры.СтавкаНДС;
            СтавкаНП        = ТаблНоменклатуры.СтавкаНП;
            
            ЗапомнитьСписаннуюПартию       (РегПартии,ТаблСписПартий,ОстПогСуммаПрод,ОстПогСуммаПродУпр,ОстПогСуммаПродРуб,ОстПогНДСПрод,ОстПогНППрод,СтавкаНДС,СтавкаНП, ТаблНоменклатуры.НомерСтрокиДокумента, ОстПогСкидкаРуб, ОстПогСуммаДокРуб);
            Если РегПартии.СтатусПартии=глСП.Т_Принятый Тогда
                ЗапомнитьСписаннуюПартию(РегПартии,ТаблСписПартийКом,ОстПогСуммаПрод,ОстПогСуммаПродУпр,ОстПогСуммаПродРуб,ОстПогНДСПрод,ОстПогНППрод,СтавкаНДС,СтавкаНП, ТаблНоменклатуры.НомерСтрокиДокумента, ОстПогСкидкаРуб, ОстПогСуммаДокРуб);
            КонецЕсли;          
            
            // все, погасили всю строку документа

            ОстПогКоличество= 0;
            ОстПогСуммаПрод    = 0;         
            ОстПогСуммаПродУпр    = 0;         
            ОстПогСуммаПродРуб    = 0;         
            ОстПогСкидкаРуб    = 0;         
            ОстПогНДСПрод    = 0;
            ОстПогНППрод    = 0;
            
            РегПартии.ПривязыватьСтроку(ТаблНоменклатуры.НомерСтрокиДокумента);
            
            РегПартии.ДвижениеРасходВыполнить();
        КонецЕсли;
    
    КонецЦикла;// по строкам ТаблНоменклатуры

    
КонецПроцедуры// глСписаниеПартийТМЦ()                                                     


//******************************************************************************
   GreyK
 
41 - 10.07.18 - 21:55
(36) Запусти поиск по конфигурации "ПартииНаличие.МОЛ", а потом говори.
   Злопчинский
 
Ведущий
42 - 10.07.18 - 21:56
Могу ошибаться, но так:
.
Реализация.МодульПроведения
..
глФильтрПартийТМЦ(Контекст, ТаблицаТМЦ, СписокПараметров,     ВремПартииНаличие);
глСписаниеПартийТМЦ(Контекст,ТаблицаТМЦ,СписокПараметров,ВремПартииНаличие,ТаблСписПартий,ТаблСписПартийКом);
.    
в глФильтрПартийТМЦ:
..
Если РегистрУчета="ПартииНаличие" Тогда МОЛ=Склад.МОЛ; КонецЕсли;
..
ИначеЕсли РегистрУчета="ПартииНаличие" Тогда 
   ВремПартии.УстановитьЗначениеФильтра("МОЛ",МОЛ,1);
КонецЕсли;                        
.
В глСписаниеОстатковТМЦ:
..
ВремПартии.ВыгрузитьИтоги(ТаблИтогов,1,1);  
..далее перебор ТаблИтогов на списание остатков
   spectre1978
 
43 - 10.07.18 - 21:58
(36)(39) Мне нафиг не уперлось спорить. Когда мне было надо, я проверял. Смена МОЛа поверх живых необнуленных партий приведет к тому что списания с них станут раком.
   Kigo_Kigo
 
44 - 10.07.18 - 21:58
Строка 
Если РегистрУчета="ПартииНаличие" Тогда МОЛ=Склад.МОЛ; КонецЕсли; 
используется когда
    Если ОстПогКоличество>0 Тогда
            // значит мы расходуем Номенклатуру

            // а Партии, которые надо погашать исчерпаны,

            // значит надо выдать сообщение об этом инциденте

            // и записать текущий документ как Партию с отриц. знаком

            Если ПустоеЗначение(ТаблНоменклатуры.Партия)=1 Тогда
                глСообщениеПроведения ("При проведении партий ТМЦ по "+Конт.ТекущийДокумент()+" от "+Конт.ДатаДок+" по ТМЦ "
                +СокрЛП(Номенклатура)+" не распределилось по партиям "+ОстПогКоличество+" "+Номенклатура.БазоваяЕдиница, Конт.ТекущийДокумент(),,,1);
            Иначе 
                глСообщениеПроведения("По указанной к списанию партии ТМЦ """ + ТаблНоменклатуры.Партия.ПриходныйДокумент +
                """ по ТМЦ " +СокрЛП(Номенклатура) + 
                ?(ПустоеЗначение(ТаблНоменклатуры.Партия.Свойство) = 1,"", 
                  ", (" +  
                  СокрЛП(ТаблНоменклатуры.Партия.Свойство.Владелец) +  ": "  +
                  СокрЛП(ТаблНоменклатуры.Партия.Свойство) +")"
                  ) +  
                " не распределилось  "+ОстПогКоличество+" "+Номенклатура.БазоваяЕдиница, Конт.ТекущийДокумент(),,,1);
            КонецЕсли;
   Злопчинский
 
Ведущий
45 - 10.07.18 - 21:58
..наступило время охренительных историй
https://otvet.imgsmail.ru/download/213628657_71408c9d3a97a0a9a72b48d527cafda0_800.png
   GreyK
 
46 - 10.07.18 - 21:58
(42) В 7.70.997 такого нет.
   Злопчинский
 
Ведущий
47 - 10.07.18 - 22:00
(46) да ты шо..? точно? у меня под рукой 974 только.
я СИЛЬНО СОМНЕВАЮСЬ что поменяли, должно быть в 997 примерно как в 974
   GreyK
 
48 - 10.07.18 - 22:02
(47) Давай текст модуля откуда ты это выдернул, название процедуры и номер строки.
   Duke1C
 
49 - 10.07.18 - 22:03
Вопчем, сдается мне, нужно как-то опробовать это дело на "полуживой" базе (то бишь копии живой), но как обычно, пока нет времени и денег (денег зачеркнуто)
 
  Рекламное место пустует
   Злопчинский
 
Ведущий
50 - 10.07.18 - 22:03
(44) ТВОЯ строка
Если РегистрУчета="ПартииНаличие" Тогда МОЛ=Склад.МОЛ; КонецЕсли; 

к ОПРЕДЕЛЕНИЮ партий, которые будут списываться, никаким боком
   Duke1C
 
51 - 10.07.18 - 22:04
+49 ну либо вечно живой коллективный разум, таки выдаст на гора неоспоримое заключение
   Злопчинский
 
Ведущий
52 - 10.07.18 - 22:04
Определение партий, которые будут читаться из итогов делается в процедуре налоджения фильтра на регистр партий:

Если РегистрУчета="ПартииНаличие" Тогда МОЛ=Склад.МОЛ; КонецЕсли; //моя строка - правильная
..
ИначеЕсли РегистрУчета="ПартииНаличие" Тогда 
   ВремПартии.УстановитьЗначениеФильтра("МОЛ",МОЛ,1);//здесь порылось

КонецЕсли;
   HawkEye
 
53 - 10.07.18 - 22:04
не трындтите...

Серега правильно пишет, если МОЛ-а поменять, то будет сообщение: "не распределилось по партиям" в итоге в регистре не закроется запись со старым МОЛ-ом и появиться отрицательная с новым....

опять теоретические гадания на кофейной гущи, при чем, все кто гадает ТиС в глаза не видели или видели 100 лет назад...
   Злопчинский
 
Ведущий
54 - 10.07.18 - 22:04
(48) глФильтрПартийТМЦ смотри
   Kigo_Kigo
 
55 - 10.07.18 - 22:05
у меня под ругой 936, модуль списания не менялся, построчно сравнивать не буду
   Злопчинский
 
Ведущий
56 - 10.07.18 - 22:05
   Злопчинский
 
Ведущий
57 - 10.07.18 - 22:06
(53) именно.
   Злопчинский
 
Ведущий
58 - 10.07.18 - 22:07
я эти партионки подробно раскурочивал в районе 2003-2004 года когда на фармации сидел. там вся ценовая политика по пртоколам согласования цен (НПА) на себестоимость партий была завязана. и с тех пор переписывал у разных клиентов с разными извывертами.
   HawkEye
 
59 - 10.07.18 - 22:08
(55) 936, 937 и все остальные ТиС-ы введет себя точно так как написано в (8).. все твои (и не только твои) гадания по коду - не верны.
   Злопчинский
 
Ведущий
60 - 10.07.18 - 22:11
(55) у меня боевая база то ли на 932 то ли на 934 - там все точно так же..
   Kigo_Kigo
 
61 - 10.07.18 - 22:11
(59) пишешь, докажи
функции глФильтрПартийТМЦ при списании я не увидел,и я не гадаю,Ю я читаю код, где таблИтогов заходят все МОЛ-ы по фильтру, и списываются отдельными строками
   Злопчинский
 
Ведущий
62 - 10.07.18 - 22:12
   GreyK
 
63 - 10.07.18 - 22:12
(54) Посмотрел, да есть такое.
   Злопчинский
 
Ведущий
64 - 10.07.18 - 22:13
(61) смотри четче.
   Kigo_Kigo
 
65 - 10.07.18 - 22:14
(64) Я тебе привел ко из типовой, покажи четче
   Злопчинский
 
Ведущий
66 - 10.07.18 - 22:15
здесь вам не тут, а там вам покажут.
слава богу, это 77, а не мутная вдребезги 8-ка где занимаются гаданиями на кофейной гуще в большинстве случаев
   HawkEye
 
67 - 10.07.18 - 22:17
(61) кому, тебе? ))) я тему твою соседнюю читал, у меня нет сертификатов )))
смотри код внимательно, если смотреть не можешь - поменяй МОЛА в складе и проведи реализацию, времени займет намного меньше, чем набивать тут глупые посты)))
   Злопчинский
 
Ведущий
68 - 10.07.18 - 22:17
(65) хз какая у тебя типовая и сколько ты черники не ел...
https://www.screencast.com/t/SwLdCEJ3U
   Kigo_Kigo
 
69 - 10.07.18 - 22:22
(68) Вот это аргументировано
(67) Я тебя тоже читал, и что? тебя кунать?, мне это нахер не надо, ты если пишешь, покажи докажи, и мне более делать нехер в частности тебе что то доказивать и перепроводить сидеть доки...
   Duke1C
 
70 - 10.07.18 - 22:25
(65) глСписаниеПартийТМЦ вызывается из модуля документов, вызывается с параметрами
... пока писал - Серёга в (68) уже опередил
поэтому и тему завел, ибо нехоцца по модулям в коде бегать, хотя и (66)
Но видимо придется, для успокоения всё-таки (49) :)
   HawkEye
 
71 - 10.07.18 - 22:28
(69) если тебе ничего тут не надо, чего тогда слюной брызжешь ? )))
   Kigo_Kigo
 
72 - 10.07.18 - 22:28
(70) для успокоения всё-таки (49) , я бы сделал в обязательном порядке, но это уже твоя головная боль извини :)
   Kigo_Kigo
 
73 - 10.07.18 - 22:32
(71) Если ты ничего доказывать не собрался и говорить по делу, зачем тогда в ветку зашел? так увидел знакомый ник, "спецом" попрекнуть? молодец, но как всегда никокай конкретики, так бла, бла, бла, от тебя, и спец ты похоже такой же
   HawkEye
 
74 - 10.07.18 - 22:45
(73) в ветку я зашел, потому что, в отличии от тебя, знаю как это работает, т.к. сталкивался с этим в своей работе (лет 10 назад, а на память пока не жалуюсь), а не пытаюсь угадать по коду как ты, ну а по поводу кто спец, то тебе конечно виднее, особенно когда смотря в код ты не понимаешь как он работает )))
   Duke1C
 
75 - 10.07.18 - 22:50
А вообще, для разрежения обстановки, типа "Огласите весь список, пожалуйста" (с) - сообщу уважаемому сообществу (и не надейтесь на тафтологию, её, таки не будет:)) )

Есть клиент, база ТиС, работают в ней давно, всё устраивает, типовая в доску, обновлялась регулярно (983 релиз на данный момент, я думаю, 10 лет назад был совсем другой актуален) возникла необходимость подключения онлайн касс (с этим тоже проблем нет, во всяком случае у меня). 6 тоговых точек в разных городах (работают в терминале), соответственно разные склады, но вот МОЛы (в программе) на нескольких точках одинаковые (точнее 3,2,1) в реале естественно разные.
Просто и база чутка "подраспухла", да и с июля меняют ЮрЛицо. Вот и подумал - убрать у складов МОЛов, все равно толку от них никакого
   Kigo_Kigo
 
76 - 10.07.18 - 22:53
(75) толк я вам в 18 подсказал, меня почему то часто этот вопрос поднимается, я даже проекты везде заполняю, потом когда очередной ОРЗ у руководства эти 2 параметра сильно выручают от ненужной работы, равно как от написания разовых отчетов
   Duke1C
 
77 - 10.07.18 - 22:54
Даже, если совсем честно, то база будет новая, т.е. копия старой со всеми справочниками, но без единого дока. Вот и хотел спросить - стоит МОЛов заводить в принципе, или лучше пустыми оставить (в части распухания регистра Партий)
   Злопчинский
 
Ведущий
78 - 10.07.18 - 22:59
(69) ну так я этот аргумент на пару десятков постов выше привел...
   Злопчинский
 
Ведущий
79 - 10.07.18 - 23:00
(77) оставляй пустыми
   Duke1C
 
80 - 10.07.18 - 23:01
(76) Ну если только в плане себестоимости по складу посмотреть, то да. Это я и сам представляю, как бы.
Интересовал еще и попутный вопрос - чревато это менять их по ходу пьесы? (точнее даже память освежить, как сказать, ибо помнится мне, что лучше их вообще никогда не менять), ибо клиент вопрос задал
   HawkEye
 
81 - 10.07.18 - 23:01
(75) если тебе не нужны партии в разрезе складов - можешь оставить пустыми, если нужны, тогда надо в МОЛ запихать название склада, выше советовали....
   Duke1C
 
82 - 10.07.18 - 23:04
(79) Я и сказал, что лучше вообще пустыми (точнее не пустыми, а обезличенными) сделать и не трогать никогда!, но ничтоже сумняшеся, всё-таки решил тут уточнить:)
   HawkEye
 
83 - 10.07.18 - 23:04
(80) после замены МОЛ-а в справочнике склад, надо весь регистр партий перегнать со старого МОЛ-а на нового... у меня для этого есть служебный документ... типовыми вещами этого не сделать....

либо, как советовал Серега - просто переименовать МОЛ-а, но надо смотреть используется ли он где-то еще, как сотрудник...
   Duke1C
 
84 - 10.07.18 - 23:12
(83) ну вот и лаконичный ответ на мой вопрос. :)
Это ничуть не умаляет всю вышесказанную полемику, как говорится - в споре рождается истина, и всем спасибо за дискуссию:)
   HawkEye
 
85 - 10.07.18 - 23:21
(84) так тебе это в первых 5 ответах написали )))))
и тут не было никаких споров, в которых рождается ))
   Duke1C
 
86 - 10.07.18 - 23:24
(85) Ну в первых 5 ответах, таки было несколько мнений, а потом попёрло, что не оторваться:)))
   kofeinik
 
87 - 10.07.18 - 23:49
(83) Типовыми средствами можно списать, поменять мола на нового, и оприходовать. Но перепроводить все это потом нельзя, как и предыдущие доки.
   Злопчинский
 
Ведущий
88 - 11.07.18 - 00:33
(86) тошнит уже... как Геракл в Авгиевых конюшнях.. копаешься во всем этом. Вычистишь - так нет, срут-с...
   spectre1978
 
89 - 11.07.18 - 06:24
(77) если мола оставлять пустым, то потеряется привязка партий к складу, а бывает такое, что она нужна. Я бы завел служебные синтетические элементы справочника (не реальных людей) и использовал бы их в качестве молов.
   HawkEye
 
90 - 11.07.18 - 08:23
(86) правильных - было одно: "остатки останутся на старом моле", оно как бы еще и логичное.... ))
(87) с такими извращениями - не ко мне....
   spectre1978
 
91 - 11.07.18 - 08:28
(90) более идеологически правильно создать такой же новый склад с новым МОЛом. Затем на старом складе сделать инвентаризацию, на основании нее сделать списание и списать все в ноль, ибо МОЛ, будучи уволенным, перестает нести мат. ответственность. А на новом - на основании той же инвентаризации сделать оприходование. По-моему, так. В этом случае не пропадает возможность беспроблемно перепроводить документы.
   Масянька
 
92 - 11.07.18 - 08:31
(0) МОЛ в партиях это аналог (ну, типа того) склада.
Склада в партиях нет, а есть МОЛ. Это и есть признак склада.
   spectre1978
 
93 - 11.07.18 - 08:32
(92) обычно да. Но есть существенное отличие: один МОЛ может быть поставлен в соответствие нескольким складам.
   vcv
 
94 - 11.07.18 - 08:44
(0) "6 тоговых точек в разных городах"
Я бы всё же порекомендовал, прежде чем применять совет "оставляй пустыми" (79) понять, какую себестоимость бизнес хочет. Если у вас точки в разных городах, наверное стоит разделить с/с по этим городам. И указывать МОЛ по городу, а не складу или кладовщику. Удобней будет.
   vcv
 
95 - 11.07.18 - 08:52
(77) "стоит МОЛов заводить в принципе, или лучше пустыми оставить"
Это политика учёта себестоимости. И МОЛ лучше воспринимать не как "лицо", а как некий разрез аналитики. Который из каких-то не всегда понятных соображений назван МОЛ.

Если у вас жесткий партионный учёт (выбирается конкретная партия в документе), то МОЛ особо не нужен. Разве что для удобства отчётности.

Если жесткого партионного учёта нет, всё гораздо интересней.
- Себестоимость может считаться по всем компании и МОЛ тогда не нужен.
- Себестоимость может считаться по каждому складу и тогда МОЛ у каждого склада уникален.
- Себестоимость может считаться по группе складов. Это могут быть отдельные точки/филиалы/подразделения. Или склады, разбитые на зоны, каждая из которых для удобства заведена как "склад" в 1С.
   HawkEye
 
96 - 11.07.18 - 09:06
(91) да, такой вариант более правильный...



Список тем форума
  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует