Имя: Пароль:
1C
1C 7.7
v7: ТиС не типовой УдалитьВсеПартии()
0 perkos
 
28.11.12
08:42
получаются такие ситуации что партии номенклатуры с остатками оказываются помеченными на удаление, искал где может это происходить и нашел что во многих документах поступления происходит пометка удаления партий, механизма для чего это нужно я не понял но из за этого автоподбор партий не происходит например в перемещениях.

дайте совет..
1 dk
 
28.11.12
08:47
сосредоточься и задай вопрос
2 perkos
 
28.11.12
08:56
(= зачем удаляются все партии в документе?

Процедура ПоКнопкеЗаполнить()
   Перем ВариантЗап;
   
   Если глТерминалВключен() = 1 Тогда
       СписВариантов = СоздатьОбъект("СписокЗначений");
       СписВариантов.ДобавитьЗначение(1, "Заполнить по остаткам");
       СписВариантов.ДобавитьЗначение(2, "Заполнить из терминала");
       
       Если СписВариантов.ВыбратьЗначение(ВариантЗап, , , 60, 1) <> 1 Тогда
           Возврат;
       КонецЕсли;
   Иначе
       // терминал не включен. Заполняем всегда по остаткам
       ВариантЗап = 1;
   КонецЕсли;
   
   Если ВариантЗап = 1 Тогда
       Если КоличествоСтрок() <> 0 Тогда
           ТекстВопроса = "Перед заполнением табличная часть будет очищена. Заполнить?";
           Если Вопрос(ТекстВопроса, "Да+Нет", 60) <> "Да" Тогда
               Возврат;
           КонецЕсли;
       КонецЕсли;    
       
       // перед удалением строк надо удалить все партии
       УдалитьВсеПартии();
       УдалитьСтроки();
...

Процедура ПриЗакрытии()
   
   // Если документ новый и в нем были выбраны партии,
   // то они не нужны и их надо пометить на удаление
   Если Выбран() = 0 Тогда        
       УдалитьВсеПартии();
   КонецЕсли;
3 dk
 
28.11.12
09:05
Вроде вполне доходчиво написано
чтобы не плодить записи в спр. партий