Имя: Пароль:
1C
1С v8
Добавлен цикл, что он дает? подскажите плз
0 demous
 
03.05.12
15:43
УПП 8.2
Самописный документ который формирует список по заявкам для их оплаты путем формирования платежных поручений
есть две кнопки - Заполнить и Обновить, показывают разные данные...почему?
Код на кнопке Заполнить

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

и код на кнопке - Обновить

Пока Выб.Следующий() Цикл
       Строкии = Платежи.НайтиСтроки(Новый Структура("Заявка, Контрагент", Выб.Заявка, Выб.Контрагент));
       Если Строкии.Количество()>0 Тогда
           Стр = Строкии[0];
       Иначе
           Стр=Платежи.Добавить();
           Стр.Счет = Выб.Заявка.БанковскийСчетКасса;
       КонецЕсли;
       Стр.Заявка=Выб.Заявка;
       Стр.Контрагент=Выб.Контрагент;
       //Добавляю дату расхода и ответственное лицо Марьян Д.А.
       Стр.ДатаРасхода=Выб.Заявка.ДатаРасхода;
       Стр.Ответственный=Выб.Заявка.Ответственный;
       Стр.Комментарий=Выб.Заявка.Комментарий;
         //
       Стр.НомерСчета=""+Выб.Заявка.НомерСчета+" от "+Формат(Выб.Заявка.ДатаСчета,"ДЛФ=Д");
       Стр.ОснованиеПлатежа=Выб.Заявка.Описание;
       Стр.Ответственный=Выб.Заявка.Ответственный;
       Стр.СуммаЗаявки=Выб.Заявка.СуммаДокумента;        
       Стр.Остаток=Выб.СуммаВзаиморасчетов;
       Стр.СтатьяДвиженияДенежныхСтредств = Выб.СтатьяДвиженияДенежныхСредств;
       Стр.ВалютаВзаиморасчетов = Выб.ВалютаВзаиморасчетов;
   КонецЦикла;    
на что влияет это различие?
1 Amra
 
03.05.12
15:46
Мдя... Похоже программирование это не твое... Может ну ее нафиг, эту 1С?
2 andrewks
 
03.05.12
15:46
не совсем понятно, что именно непонятно (уж извините за тавтологию)
3 Шапокляк
 
03.05.12
15:50
Да в принципе понятно, что цикл дает, непонятно, почему ТС считает, что он к чему-то добавлен. Судя по всему, есть документ, в ТЧ которого присутствует список заявок, а в одной из колонок - ссылка на сформированные платежные поручения. Время от времени возникает необходимость именно обновить уже имеющийся документ, чтобы не потерять уже созданные платежные поручения.
4 demous
 
03.05.12
15:50
(1) до диплома сижу, и обратно в веб возвращаюсь) а досидеть полтора месяца осталось)
подскажите пожалуйста)
5 demous
 
03.05.12
15:53
(3) да, есть документ с ТЧ, в нем список заявок формируется по вот этим кнопкам, только не совсем понял присутствие вот этого момента
  Строкии = Платежи.НайтиСтроки(Новый Структура("Заявка, Контрагент", Выб.Заявка, Выб.Контрагент));
       Если Строкии.Количество()>0 Тогда
           Стр = Строкии[0];
       Иначе
           Стр=Платежи.Добавить();
           Стр.Счет = Выб.Заявка.БанковскийСчетКасса;
       КонецЕсли;

просто меняет как наличие значений в некоторых колонках
6 Ненавижу 1С
 
гуру
03.05.12
16:01
по хорошему достаточно одной кнопки
7 hhhh
 
03.05.12
16:28
(5) если десять раз нажать Заполнить, то у тебя будет 10 совершенно одинаковых строчек. А если десять раз нажать Обновить, то получится одна строка. Улавливаешь суть? Одинаковые строки не размножаются.