|   |   | 
| 
 | Табличный документ и формула из колонок | ☑ | ||
|---|---|---|---|---|
| 0
    
        Eugeneer 04.10.22✎ 21:11 | 
        Есть формула. Ну типа на встроенном языке любой код. Но в этом коде обращение к значениям колонок строки Колонка1 - Колонка2 - Колонка3 и так далеее.
 Для чего? Юзеры пишут формулы например Наименование = Колонка1 + " "+ Колонка3; Для простоты. Если у нас исходная таблица - это ТЗ. То ма в коде потом просто можно обработать формулу простым - ТекстАлгоритма = СтрЗаменить(ТекстАлгоритма,"Колонка","СтрокаИмпорт."); И там легко Колонка1 превратится в СтрокаИмпорт.1; - т.е. сразу к названию колонки. А вот что делать если Табличный документ. В нем нужно обращаться к конкретной области ячейки. А значит нужно что то типа Колонка1 превращать в Область(1,2,1,2); Вопрос) Как обработать формулу для табличного документа таким образом чтобы шаблон номера колонки превращался в код обращения к ячейке табличного документа) Задание непростое. Я лично пока не допер. Кто сделает - с меня моментально 1000 рублей на карту. | |||
| 1
    
        Eugeneer 04.10.22✎ 21:13 | 
        Причем надо чтобы это было максимально оптимально. Формула может быть достаточно сложной.
 А перечитываться могут десятки тысяч строк. | |||
| 2
    
        RomanYS 04.10.22✎ 21:18 | 
        Эксель хочешь придумать? Возьми либру)     | |||
| 3
    
        RomanYS 04.10.22✎ 21:20 | 
        (1) Если пересчитывать нужно всю таблицу, то оптимальнее всю таблицу в ТЗ прочитать например построителем. 
 Если нужно как в экселе формула в каждой ячейке, то обрабатывай области. Кстати достаточно Область(нс,нк) | |||
| 4
    
        Ivan_495 naïve 04.10.22✎ 21:21 | 
        Нужно в табличный документ выводить макет и работать с его ячейками     | |||
| 5
    
        Eugeneer 04.10.22✎ 21:45 | 
        Вопрос РЕШИЛ!. триста лет не решал. а тут решил     | |||
| 6
    
        Eugeneer 04.10.22✎ 21:47 | 
        Я просто значения всех ячеек строки (по факту колонок) загнал в структуру. 
 ЗначенияВсехКолонок = Новый Структура(); Для ИндексКолонки = 1 По ТабличныйДокумент.ШиринаТаблицы Цикл ОбластьЗначения = ТабличныйДокумент.Область(НомерСтрокиЧГ,ИндексКолонки,НомерСтрокиЧГ,ИндексКолонки); ЗначениеКолонки = ОбластьЗначения.Текст; ЗначенияВсехКолонок.Вставить("Колонка"+ИндексКолонки,ЗначениеКолонки); КонецЦикла; А формуле!! ТекстАлгоритма = СтрЗаменить(ТекстАлгоритма,"Колонка","ЗначенияВсехКолонок.Колонка"); | |||
| 7
    
        Eugeneer 04.10.22✎ 21:48 | 
        (1) таблицу построителем ок. А табличный документ разве можно в запросы пихать?))     | |||
| 8
    
        Eugeneer 04.10.22✎ 21:48 | 
        кстати а можно ли пихать табличные документы в запрос??????     | |||
| 9
    
        mistеr 04.10.22✎ 21:51 | 
        (5) На карту себе не забыл перевести? :)     | |||
| 10
    
        Eugeneer 04.10.22✎ 21:55 | 
        Новое обьявление))
 Как запихнуть Таб док в запрос. Ну типа хотя бы чтобы из него получить временную таблицу прям в запросе. Это для того чтобы не создавать ТЗ. | |||
| 11
    
        RomanYS 04.10.22✎ 21:56 | 
        (8) Построитель же, посмотри описание источника данных.
 Прочесть ТД в ТЗ построителем несколько строк кода | |||
| 12
    
        Eugeneer 04.10.22✎ 21:57 | 
        (11) не.. не нужно ТЗ вообще. Нужно временная таблица в самом запросе.     | |||
| 13
    
        Eugeneer 04.10.22✎ 21:57 | 
        и чтобы запрос еще можно было усложнить далее. начать работать с этой таблицей     | |||
| 14
    
        RomanYS 04.10.22✎ 22:01 | 
        (12) глупость. Есть инструмент, он работает. А твое желание не забивать гвозди молотком не чем не обоснованно. 
 Тут Геню надо, ему тоже надо чтобы через ж. было | |||
| 15
    
        Guk 04.10.22✎ 22:02 | 
        Женя жжот ;)..     | |||
| 16
    
        mistеr 04.10.22✎ 22:05 | 
        Да чего мелочиться, пихай сразу в СКД. Там язык намного богаче запросов.     | |||
| 17
    
        Guk 04.10.22✎ 22:05 | 
        Женя, учи матчасть. что может быть источником данных в запросе...
 https://its.1c.ru/db/metod8dev/content/2591/hdoc | |||
| 18
    
        Злопчинский 04.10.22✎ 22:05 | ||||
| 19
    
        mistеr 04.10.22✎ 22:17 | 
        (18) В любое другое время я бы сказал, что копировать Эксель в 1С тупиковый путь. Но в текущих условиях "все не так однозначно"...     | |||
| 20
    
        Eugeneer 04.10.22✎ 22:24 | 
        (14) мы с тобой выясняли уже вопрос о том сколько жрут ТЧ и ТЧ памяти....
 Я решил пойти на таб доки. Одну из значимых частей я уже сделал. А теперь нужно результат решить. А результат - это если вообще отказаться целиком от ТЗ и ТЧ. причем и у клиента и на сервере. Речь идет об огромных данных. в десятки, сотни тысяч строк. | |||
| 21
    
        Злопчинский 04.10.22✎ 22:26 | 
        (19) главное чтобы сам 1С не был тупиковым     | |||
| 22
    
        RomanYS 04.10.22✎ 22:28 | 
        (20) жрут как раз ТД и коллекции формы. С ТЗ и ТЧ никаких проблем     | |||
| 23
    
        Eugeneer 04.10.22✎ 22:28 | 
        (17) там вода. причем в том материале даже нет и слова о том что в запросы можно передавать ТЗ.
 У меня конкретный вопрос про Таб доки. Причем не нужно мне чтобы таб док в ТЗ превращался. Нужно чтобы он попал как источник. таб док имеет понятную структуру, даже известно что есть что. вот нужно чтобы можно было загнать его в запрос. и там соединить со всяким разным. чтобы на выходу получить новый таб док. с дополненными данными. | |||
| 24
    
        RomanYS 04.10.22✎ 22:29 | 
        +(22) ну и очевидно временные таблицы жрут столько же. Экономия на спичках могла бы получиться... но нет такого решения))     | |||
| 25
    
        Eugeneer 04.10.22✎ 22:30 | 
        (22) да да. расскажи)) сказку как дед насрал в коляску))
 У меня тут документ есть на 500к строк. Его что не загрузишь так 5 гигов оперативки нет. | |||
| 26
    
        Eugeneer 04.10.22✎ 22:31 | 
        (24) ок жрут.
 Но если ТД превращать в ТЗ чтобы ТЗ снова передать в запрос.... то это как бы .... | |||
| 27
    
        RomanYS 04.10.22✎ 22:41 | 
        (25) Что значит "загрузишь"? Если ты форму открываешь, то может и 5 гиг. А так 10кБ на строку многовато     | |||
| 28
    
        RomanYS 04.10.22✎ 22:42 | 
        (26) Это как бы нормально, так и было задумано. В запрос можно засунуть данные только через базу или через ТЗ, других вариантов нет     | |||
| 29
    
        mistеr 04.10.22✎ 22:44 | 
        (25) При таких объемах я бы рассматривал ВИД     | |||
| 30
    
        Eugeneer 04.10.22✎ 23:13 | 
        (28) для начала пусть в ТЗ уберут лимиты строк. и до ума доведут) ТЗ 1С памяти жрут как вне себя.     | |||
| 31
    
        Eugeneer 04.10.22✎ 23:13 | 
        эксели с кучей форматов, разукрашек, картинок, гиперссылок не так жрут как в 1С таблицы значений.     | |||
| 32
    
        RomanYS 04.10.22✎ 23:16 | 
        (30) ну жди тогда. И ветку подними с замерами, нет там проблем с памятью под ТЗ     | |||
| 33
    
        RomanYS 04.10.22✎ 23:31 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |