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

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
все получилось вроде. спасибо.

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