7.7 заполнение

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Kugelfangg, 30 апр 2008.

  1. TopicStarter Overlay
    Kugelfangg
    Offline

    Kugelfangg Опытный в 1С

    Регистрация:
    13 фев 2008
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, подскажите пожалуйсто почему не заполняется документ и как избавиЦЦо от зацикливания
    Код:
    Процедура ОбработкаПроведения()
    Д=СоздатьОбъект("Документ");
    ВыбратьСтроки();    
    ссз=СоздатьОбъект("Документ.СнятиеЗаявки");
    ср =СоздатьОбъект("Документ.СнятиеРезерва");
    текдок=ТекущийДокумент();
    Пока ПолучитьСтроку()=1 Цикл         
    Если Заявка.датазаявки+Заявка.СрокХраненияРезерва<ТекущаяДата()тогда
    Сообщить("Снятие резерва из заявки"+Заявка.НомерДок+"......"); 
    ссз.Новый();                          
    ссз.заявка=заявка;
    ссз.количество=Количество;
    ВыбратьСтроки();
    Пока получитьСтроку()=1 цикл
    ссз.новаяСтрока();
    ссз.заявка=заявка;
    ссз.количество=Количество;
    ссз.записать();
    конецЦикла;
    /////////////////////////////////
    //ср.Новый();
    //ср.заявка=заявка;
    //ср.количество=Количество;
    //ср.записать();
    Иначе продолжить    
    конецЕсли;
    КонецЦикла;
    КонецПроцедуры        
    
    
  2. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Во-первых, сохранять каждую созданную стоку ненужно, вполне достаточно после заполнения сохранить документ.
    Во-вторых, обрати внимание на
    , т.к. это относится к текущему документу, а используется два раза, причем в цикле.
    В-третьих, первый раз когда пытаешься получить строку, еще не сформирована выборка.

    Дальше продолжать смысла нет (да и сложновато, не имея под рукой ИБ).
  3. TopicStarter Overlay
    Kugelfangg
    Offline

    Kugelfangg Опытный в 1С

    Регистрация:
    13 фев 2008
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура ОбработкаПроведения()
    Д=СоздатьОбъект("Документ");
    ВыбратьСтроки();    
    ссз=СоздатьОбъект("Документ.СнятиеЗаявки");
    ср =СоздатьОбъект("Документ.СнятиеРезерва");
    Пока ПолучитьСтроку()=1 Цикл         
    Если Заявка.датазаявки+Заявка.СрокХраненияРезерва<ТекущаяДата()тогда
    Сообщить("Снятие резерва из заявки"+Заявка.НомерДок+"......"); 
    ссз.Новый();                          
    ссз.заявка=заявка;
    Заявка.ВыбратьСтроки();
    Пока Заявка.получитьСтроку()=1 цикл
    ссз.новаяСтрока();
    ссз.количество=Заявка.зарезервировано;
    ссз.заявка=заявка.номердок;
    ссз.Номенклатура=заявка.Номенклатура;
    ссз.записать();
    конецЦикла;
    Иначе продолжить    
    конецЕсли;
    КонецЦикла;
    КонецПроцедуры
    
    
    все заработало, данные из табличных полей заполняются нормально.
    Вопрос: как заставить заполнятся поля которые должны братся не из тч, а из шапки дока?
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Так же как и к реквизитам ТЧ: через точку пишешь идентификатор

Поделиться этой страницей