|   |   | 
| 
 | v7: Выгрузить таблицу значений в таблицу | ☑ | ||
|---|---|---|---|---|
| 0
    
        MixanM 19.01.12✎ 13:37 | 
        Собственно из названия , все понятно нуэно выгрузить ТЗ в обычную таблицу, сделал так:
  Процедура Сформировать() Спр = СоздатьОбъект("Справочник.Номенклатура"); Спр2 = СоздатьОбъект("Справочник.Номенклатура"); ТЗ = СоздатьОбъект("ТаблицаЗначений"); Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Спр.ВыбратьЭлементы(); Тз.НоваяКолонка("Код"); ТЗ.НоваяКолонка("Номенклатура"); Таб.ВывестиСекцию("Заголовок"); Счетчик = 0; Пока Спр.ПолучитьЭлемент() = 1 Цикл Счетчик=Счетчик+1; КодСпр = Спр.ТекущийЭлемент().Код; ИмяСпр = Спр.ТекущийЭлемент().Наименование; спр2.ВыбратьЭлементы(); Если Спр2.НайтиПоНаименованию(ИмяСпр) = 1 Тогда КодСпр2 = Спр2.ТекущийЭлемент().Код; Если (КодСпр<>Спр2) Тогда ТЗ.НоваяСтрока(); ТЗ.Код = КодСпр; ТЗ.Номенклатура = ИмяСпр; Состояние("Обработано элементов " +Счетчик ); КонецЕсли; КонецЕсли; КонецЦикла; тз.ВыбратьСтроки(); Пока тз.ПолучитьСТроку() = 1 Цикл Таб.ВывестиСекцию("Код"); КонецЦикла; Таб.Опции(0,0,0,0 ); Таб.ПараметрыСтраницы(1,100,,20,5,5,5,,,1); Таб.ТолькоПросмотр(1); Таб.Показать("Бубли"); Сообщить("Всего бублей : "+Счетчик); КонецПроцедуры Но вывводит пустую таблицу с нужным мне количеством строк т.е. по условию работает норм, 200 строк вываливает, но пустые =( | |||
| 1
    
        1Сергей 19.01.12✎ 13:38 | 
        В макете что?     | |||
| 2
    
        Джинн 19.01.12✎ 13:39 | 
        См. секцию Код макета     | |||
| 3
    
        Попытка1С 19.01.12✎ 13:40 | 
        Нахрена тут вообще ТЗ. Выводи секцию при переборе справочника.     | |||
| 4
    
        1Сергей 19.01.12✎ 13:40 | 
        а вообще весь код в топку. Нафига эти игры с кодами? Задача какая?     | |||
| 5
    
        1Сергей 19.01.12✎ 13:41 | 
        Вот это ваще шедевр:
  КодСпр2 = Спр2.ТекущийЭлемент().Код; Если (КодСпр<>Спр2) Тогда | |||
| 6
    
        MixanM 19.01.12✎ 13:41 | 
        найти будли товара с разными кодами     | |||
| 7
    
        MixanM 19.01.12✎ 13:42 | 
        (5) Пацаны - ваще ребята =D     | |||
| 8
    
        Mikeware 19.01.12✎ 13:43 | 
        У автора, похоже, классическая проблема с соотношением радиусов...     | |||
| 9
    
        155153144627 19.01.12✎ 13:43 | 
        :-)
  В ячейках секции "код", есть выражения ТЗ.Код и ТЗ.Номенклатура? Пока Спр.ПолучитьЭлемент() = 1 Цикл ТЗ.НоваяСтрока(); ТЗ.Код = Спр.Код; ТЗ.Номенклатура = Спр.Наименование; Счетчик = Счетчик + 1; КонецЦикла; | |||
| 10
    
        Mikeware 19.01.12✎ 13:44 | 
        Процедура глПечатьТЗ(Результат,ВыбЗаголовок="") Экспорт
  Если Результат.КоличествоСтрок() = 0 Тогда Возврат; КонецЕсли; ПечВыбЗаголовокДополнительный = ВыбЗаголовок; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("ПечатьТЗ"); Таб.ВывестиСекцию("Шапка|Номер"); спРазмеры = СоздатьОбъект("СписокЗначений"); Для Индекс1 = 1 По Результат.КоличествоКолонок() Цикл Графа = Результат.ПолучитьПараметрыКолонки(Индекс1); //Графа = "";//глИдентификаторВСтроку(Графа); Таб.ПрисоединитьСекцию("Шапка|Колонка"); ТекРазмер = СтрДлина(Графа); Для Индекс2 = 1 По Результат.КоличествоСтрок() Цикл ТекРазмер = Макс(ТекРазмер, СтрДлина(Результат.ПолучитьЗначение(Индекс2, Индекс1))); КонецЦикла; спРазмеры.ДобавитьЗначение(Мин(80, ТекРазмер + 3)); КонецЦикла; Таб.ПовторятьПриПечатиСтроки(1, Таб.ВысотаТаблицы()); Таб.Опции(0,0,Таб.ВысотаТаблицы(),1); ТекРазмер = 0; вВсегоСтрок = Результат.КоличествоСтрок(); Для Индекс1 = 1 По Результат.КоличествоСтрок() Цикл вПриставка = ?((Индекс1%2)=1,"2",""); Таб.ВывестиСекцию("Строка"+вПриставка+"|Номер"); Для Индекс2 = 1 По Результат.КоличествоКолонок() Цикл Графа = Результат.ПолучитьЗначение(Индекс1, Индекс2); Секция = Таб.ПолучитьСекцию("Строка"+вПриставка+"|Колонка"); Секция.Область().ШиринаСтолбца(спРазмеры.ПолучитьЗначение(Индекс2)); Если ТипЗначения(Графа) >= 10 Тогда Секция.Область().Расшифровка(Графа); КонецЕсли; Если (ТипЗначенияСтр(Графа) = "Число") Или (ТипЗначенияСтр(Графа) = "Дата") Тогда Секция.Область().ГоризонтальноеПоложение(2); Иначе Секция.Область().ГоризонтальноеПоложение(1); КонецЕсли; Таб.ПрисоединитьСекцию(Секция); КонецЦикла; Состояние(глПрогрессор(вВсегоСтрок,Индекс1)); КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать(); КонецПроцедуры // глПечатьТЗ | |||
| 11
    
        MixanM 19.01.12✎ 13:45 | 
        (9) Да     | |||
| 12
    
        Попытка1С 19.01.12✎ 13:48 | 
        (10) Ну давай ему еще макет нарисуй тогда уж...     | |||
| 13
    
        155153144627 19.01.12✎ 13:49 | 
        Я так понимаю у тебя в справочнике номенклатуры дубли имеются?     | |||
| 14
    
        Mikeware 19.01.12✎ 13:50 | 
        (12) да куле там рисовать...     | |||
| 15
    
        Попытка1С 19.01.12✎ 13:51 | 
        (13) У него там бубли не видишь...
  (14) Сдается мне автора это может ввести в ступор.. | |||
| 16
    
        MixanM 19.01.12✎ 13:51 | 
        (13) да завелись убли оператором, надо найти их, с "помощью " стороней обработки в базе изменилось название у некоторых номенклатур - задублировалось, но код остался прежний, счас выгрузил в таблицу код - наименование дублей и в ручную правим     | |||
| 17
    
        155153144627 19.01.12✎ 13:52 | 
        Если (КодСпр<>Спр2) Тогда - ошибка.
  Если (КодСпр<>КодСпр2) Тогда ! | |||
| 18
    
        Попытка1С 19.01.12✎ 13:52 | 
        (0) Автор юзай свернуть не мучайся. А код свой выкини.     | |||
| 19
    
        MixanM 19.01.12✎ 13:52 | 
        (15) та кули, пусть будут бубли, ллишь бы их найти всех     | |||
| 20
    
        MixanM 19.01.12✎ 13:53 | 
        (17) да это я  в запарке наваял, сейчас уже все исправил, заработалро вроде     | |||
| 21
    
        AlexNecro 19.01.12✎ 13:55 | ||||
| 22
    
        MixanM 19.01.12✎ 14:03 | 
        Спасибо, ребята всем, поехало     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |