| 
    
        
     
     | 
    
  | 
v7: Вывод номера документа и номенклатуры | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        julia_rostov    
     12.09.12 
            ✎
    16:04 
 | 
         
        Всем привет, Есть вопрос, в отчете вывожу № документа, и мне нужно вывести всю номеклатуру по документу, потом следующий № документ и его номеклатуру. Подскажите как в цикле реализовать?     
         | 
|||
| 
    1
    
        Волесвет    
     12.09.12 
            ✎
    16:05 
 | 
         
        может запросом?     
         | 
|||
| 
    2
    
        alex74    
     12.09.12 
            ✎
    16:05 
 | 
         
        (1) нет, в семерке лучше в цикле     
         | 
|||
| 
    3
    
        julia_rostov    
     12.09.12 
            ✎
    16:06 
 | 
         
        Так запросом выводиться но не весь список номеклатуры...
  
        по документу  | 
|||
| 
    4
    
        Guk    
     12.09.12 
            ✎
    16:07 
 | 
         
        лучше ничего не писать, а взять готовый реестр документов с ИТС. потому что если писать, это будет долго и в итоге все равно придется звать программиста...     
         | 
|||
| 
    5
    
        Волесвет    
     12.09.12 
            ✎
    16:07 
 | 
         
        мде
  
        Док = СоздатьОбъект(Документ....); Док.ВыбратьДокументы(ДатаН,ДатаК); Пока Док.ПолучитьДокумент()=1 Цикл Док.ВыбратьСтроки(); Пока Док.ПОлучитьСтроку()=1 Цикл КонецЦикла; КонецЦикла; хз работает или нет, писал по памяти  | 
|||
| 
    6
    
        julia_rostov    
     12.09.12 
            ✎
    16:13 
 | 
         
        Я писала так))) выводит раз 30 послед строку в списке номеклатуры((((     
         | 
|||
| 
    7
    
        alex74    
     12.09.12 
            ✎
    16:13 
 | 
         
        (6) давай сюда свой код, и самую эротичную свою фотку     
         | 
|||
| 
    8
    
        julia_rostov    
     12.09.12 
            ✎
    16:15 
 | 
         
        Фотка не самая эротическая, так как на работе)))     
         | 
|||
| 
    9
    
        Надсмотрщик    
     12.09.12 
            ✎
    16:15 
 | 
         
        (6) За ответ на этот вопрос - только топлес!     
         | 
|||
| 
    10
    
        alex74    
     12.09.12 
            ✎
    16:16 
 | 
         
        (8) если вы так работаете, то как вы отдыхаете...     
         | 
|||
| 
    11
    
        julia_rostov    
     12.09.12 
            ✎
    16:18 
 | 
         
        Прошу не ругаться на ошибки(((
  
        Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Док = СоздатьОбъект("Документ.Списание"); Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода); Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл Таб.ВывестиСекцию("Списание"); Если ВН=1 тогда Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; Пока Док.ПолучитьДокумент()=1 Цикл Док.ВыбратьСтроки(); Пока Док.ПОлучитьСтроку()=1 Цикл КонецЦикла; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры  | 
|||
| 
    12
    
        julia_rostov    
     12.09.12 
            ✎
    16:18 
 | 
         
        Я на фотке как раз таки отдыхаю.     
         | 
|||
| 
    13
    
        julia_rostov    
     12.09.12 
            ✎
    16:19 
 | 
         
        извиняюсь вот это
  
        Док = СоздатьОбъект("Документ.Списание"); Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода); Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл Таб.ВывестиСекцию("Списание"); Если ВН=1 тогда Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры  | 
|||
| 
    14
    
        alex74    
     12.09.12 
            ✎
    16:20 
 | 
         
        Док = СоздатьОбъект("Документ.Списание");
  
        Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода); Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Док.ПолучитьДокумент()=1 Цикл Таб.ВывестиСекцию("Списание"); Док.ВыбратьСтроки(); Пока Док.ПОлучитьСтроку()=1 Цикл Таб.ВывестиСекцию("Строка"); КонецЦикла; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры  | 
|||
| 
    15
    
        GreyAngel    
     12.09.12 
            ✎
    16:20 
 | 
         
        (13) Это что?     
         | 
|||
| 
    16
    
        chief accountant    
     12.09.12 
            ✎
    16:21 
 | 
         
        (13) Docprint.ert и забудь про свой велик     
         | 
|||
| 
    17
    
        vladko    
     12.09.12 
            ✎
    16:21 
 | 
         
        (13) в где сам запрос-то?     
         | 
|||
| 
    18
    
        alex74    
     12.09.12 
            ✎
    16:22 
 | 
         
        + (14) и проверить чтобы в таблице в свойствах ячеек было прописано Док.ТекущийДокумент() и Док.Номенклатура или что там у вас     
         | 
|||
| 
    19
    
        julia_rostov    
     12.09.12 
            ✎
    16:22 
 | 
         
        Запрос = СоздатьОбъект("Запрос");
  
        ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Списание = Документ.Списание.ТекущийДокумент; |ДокПрихода = Документ.Списание.ДокПрихода; |ДокументОснование = Документ.Списание.ДокументОснование; |Клиент = Документ.Списание.Клиент; |Товар = Документ.Списание.Товар; |Сумма = Документ.Списание.Сумма; |Группировка Списание; |Условие(Клиент в ВыбКлиент); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Док = СоздатьОбъект("Документ.Списание"); Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода); Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл Таб.ВывестиСекцию("Списание"); Если ВН=1 тогда Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры  | 
|||
| 
    20
    
        GreyAngel    
     12.09.12 
            ✎
    16:22 
 | 
         
        (14) Вы таки уверены, что это будет работать? А если в полях этой самой строки стоят названия не аналогичные реквизитам документа?     
         | 
|||
| 
    21
    
        palpetrovich    
     12.09.12 
            ✎
    16:23 
 | 
         
        зачем запрос, хватит   и так:
  
        Док = СоздатьОбъект("Документ.Списание"); Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода); Пока Док.ПолучитьДокумент()=1 Цикл Таб.ВывестиСекцию("Списание"); Док.ВыбратьСтроки(); Пока Док.ПОлучитьСтроку()=1 Цикл Таб.ВывестиСекцию("Строка"); КонецЦикла; КонецЦикла;  | 
|||
| 
    22
    
        vladko    
     12.09.12 
            ✎
    16:23 
 | 
         
        (2) в 7ке можно и запросом выводить табл.части документов нормально     
         | 
|||
| 
    23
    
        vladko    
     12.09.12 
            ✎
    16:30 
 | 
         
        (19) правильный ответ в (14), либо можно и чисто на запросе оставить, доработав запрос. Там во-первых нет функций, во-вторых нет группировки по строке документа     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |