Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Формирование документов по таблице значений

v7: Формирование документов по таблице значений
Я
   Босечка
 
26.03.18 - 17:30
Дана таблица значений. Надо сформировать по ней документы в каждом из документов должно быть по 40 строк. Как это лучше сделать?
 
 
   Босечка
 
1 - 26.03.18 - 17:31
Это на 1с77. Обработка нужна для перехода на 1с8.
   Базис
 
2 - 26.03.18 - 17:33
Что уже сделала, какие конкретные вопросы остались?
   Босечка
 
3 - 26.03.18 - 17:43
как разбить таблицу на документы, в каждом должно быть 40 строк
   Herby
 
4 - 26.03.18 - 17:49
все зависит от структуры таблицы значений.
   vova1122
 
5 - 26.03.18 - 17:55
если разбивать по 40 строчек, то просто считать кличество строк. Если кол =40 тогда Док.Записать(). Потом Док.Новый(). и снова считать количество строк до 40. После обхода всей таблицы значений Док.Записать().
   Базис
 
6 - 26.03.18 - 18:00
Сделай аккуратную запись в ТЧ одного документа. Потом расскажу, где добавить начала и концы документов.

Но ты точно уверена, что в восьмёрке тебе нужно сделать много маленьких документов?
   Босечка
 
7 - 26.03.18 - 18:09
точно
   Босечка
 
8 - 26.03.18 - 18:09
Док1.Новый();
    Док1.УстановитьНовыйНомер(Константа.ПрефиксБазы);
    Док1.ДатаП        = ТекущаяДата();  
    Док1.Текст        = "Ввод на основании документа Сводная Ревизионная Ведомость№ "+ВыбРевизия.НомерДок;
    Док1.Лицензия= Лиц;
    Док1.ДатаДок=ТекущаяДата();    
    Док1.Клиент=Кл1;
    Док1.АдресПоставки=АдрПост;
    Док1.УТАП=1; 
    Док1.Склад=Скл;
    Док1.Агент=Аг;
    Для к=1 по 200 Цикл
        Т.ПолучитьСтрокуПоНомеру(к);    
        Если (Т.КоличествоПрограмма<>0) и (Т.КоличествоФакт<>0) и (Т.Серия.НаОстаткахЕгаис.Получить(ТекущаяДата()) <>0)  Тогда
            Док1.НоваяСтрока();
            
            Док1.Товар=Т.Товар;
            Док1.КодТовара=Т.Товар.Код;
            КоличествоВЗаказ= Мин(Т.КоличествоПрограмма,Т.КоличествоФакт,Т.Серия.НаОстаткахЕгаис.Получить(ТекущаяДата()));
            Док1.Колич=КоличествоВЗаказ;
            Док1.Партия=Т.Серия;
            УчЦена= Т.Товар.ЦенаПриходнаяСредняя.Получить(Док1.ДатаДок);
            Док1.ЦенаР = УчЦена-УчЦена/100*Проц;
            Док1.СуммР = Док1.ЦенаР * КоличествоВЗаказ;   
        КонецЕсли;
    Конеццикла;
    Док1.Записать();
   vova1122
 
9 - 26.03.18 - 18:16
(8) и где тут разбиение строго по 40 строк?. А если в таблице больше 200 строк?
   Базис
 
10 - 26.03.18 - 18:20
Сделай процедуры НачатьДокумент и ЗавершитьДокумент.

Потом:
Сч = 0
НачатьДокумент
Цикл переборки строк
   Сч++
   Если Сч = 40 Тогда 
      ЗавершитьДокумент
      Сч = 0
      НачатьДокумент
   КонецЕсли
КЦ
Если Сч > 0 Тогда 
   ЗавершитьДокумент
КонецЕсли
 
 Рекламное место пустует
   Босечка
 
11 - 26.03.18 - 19:06
попробую
   Босечка
 
12 - 26.03.18 - 20:13
все получилось вроде. спасибо.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует