Имя: Пароль:
1C
1C 7.7
v7: Помогите новичку пожалуйста
0 Danial_Black
 
07.05.12
15:16
Всем привет! Имеется документ наценка\уценка товара, в данном документе нужно создать флаг. Если данный флаг = 1, тогда информация должны вноситься в справочник ПослеНаценкиУценки, если = 0 тогда в справочник ТоварНаСкладе. В модуле этого документа есть процедура записи документа в справочник:
Процедура ЗаписьДокументаВСправочник()
   Перем а[3];
   
   а[1] = 0; // общее количество по документу
   а[2] = 0; // общая сумма до наценки
   а[3] = 0; // общая сумма после наценки  
   
      Спр = СоздатьОбъект("Справочник.ТоварНаСкладе");
   СпрТовар = СоздатьОбъект("Справочник.Номенклатура");
   ТекДок = ТекущийДокумент();
   Если ВидНаценки = Перечисление.ВидНаценки.Наценка Тогда
      пНаценка = Перечисление.ВидПрихода.Наценка;
   Иначе
      пНаценка = Перечисление.ВидПрихода.Уценка;
   КонецЕсли;    
         
   ВыбратьСтроки();    
   Пока ПолучитьСтроку() > 0 Цикл
      ТекШтрих = "";    
      Если ПустоеЗначение(ИдСтроки) = 1 Тогда
           Спр.Новый();
           Спр.Продан = НЕТ;
      Иначе      
         Если Спр.НайтиЭлемент(ИдСтроки) = 1 Тогда
            ТекШтрих = СокрЛП(Спр.ШтрихКод);
         Иначе    
            Спр.Новый();
            Спр.Продан = НЕТ;
         КонецЕсли;
      КонецЕсли;    

      Если ТекШтрих = "" Тогда
         ТекШтрих = глФормироватьШтрихКод(СпрТовар,СпрПоиск);
      КонецЕсли;
         
      Спр.ДатаНакл  = ДатаДок;
      Спр.Накладная = ТекДок;
      Спр.ВидПрихода= пНаценка;
      Спр.НомерПП   = НомерСтроки;
      Спр.Товар     = Товар;  
      Спр.Количество= Количество;
      Спр.ЦенаДо    = ЦенаДоНаценки;
      Спр.Процент   = ПроцентНаценки;  
      Спр.ЦенаПосле = ЦенаСНаценкой;
      Спр.ШтрихКод  = ТекШтрих;
      Спр.ИдПрихода = ИдПрихода;
      Спр.Записать();
     
      а[1] = а[1] + Количество;
      а[2] = а[2] + СуммаДоНаценки;
      а[3] = а[3] + СуммаСНаценкой;
   КонецЦикла;

   ОбКолво = а[1];
   ОбСумДоНаценки = а[2];
   ОбСумСНаценкой = а[3];
КонецПроцедуры    
Помогите пожалуйста!! куда нужно записать цикл выбора и как его оформить?
1 forforumandspam
 
07.05.12
15:17
"Цикл выбора" ? О_О
2 dva1c
 
07.05.12
15:20
(0) Вытащи флаг на форму и анализируй его ПриЗаписи(). Не?
3 Mikeware
 
07.05.12
15:20
Жесть жестяная...
4 Explorer1c
 
07.05.12
15:22
(0)Не ссы,ляпи сбоку-я так сто раз делал)
5 Danial_Black
 
07.05.12
15:22
ляпал, не катит)
6 forforumandspam
 
07.05.12
15:28
(5) Ляпать не надо, а то станешь героем сайта http://govnokod.ru/
7 Эльниньо
 
07.05.12
15:46
Наценки уценки - это просто.
А вот Уценкой наценки будет сложнее.
8 Рэйв
 
07.05.12
15:47
(0)Сделай реквизит документа Флаг(тип число(1,0))
Добавь его на форму в виде флажка.

потом как то так:
Если Флаг=1 Тогда
     Спр = СоздатьОбъект("Справочник.ПослеНаценкиУценки");
Иначе
  Спр = СоздатьОбъект("Справочник.ТоварНаСкладе");
КонецЕсли;
9 Эльниньо
 
07.05.12
15:47
Кстати - что происходит с массивом при таком его изнасиловании?
10 palpetrovich
 
07.05.12
16:40
(0) стесняюсь спросить, это все для работы или так - потренироваться?
...если не создать очередную "нетленку" не самоцель, посмотри как сделано в типовых. Реквизиты в табличной части: Количество,СуммаБезСкидки,Скидка(с минусом - наценка),Сумма тебе помогут. И счиать ничего не нужно, пользуйся встроенными возможностями типа: ОбщееКоличествоПоДокументу = ИТОГ("Количество")
11 Danial_Black
 
08.05.12
13:24
это меня загрузили на практике))