Имя: Пароль:
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 совершенно одинаковых строчек. А если десять раз нажать Обновить, то получится одна строка. Улавливаешь суть? Одинаковые строки не размножаются.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn