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


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

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

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 или кнопку "Обновить" в браузере.
Рекламное место пустует