8.х Вывод в конкретную ячейку макета

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем НаташаЧернецкая, 23 июл 2014.

  1. TopicStarter Overlay
    НаташаЧернецкая
    Offline

    НаташаЧернецкая

    Регистрация:
    23 июл 2014
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Давайте рассмотрим такой пример. Допустим мы учитываем походы в магазин. Они хранятся в справочнике "походы в магазин", в котором указан номер похода в магазин и посещенные магазины. Нам нужно вывести в макет потраченную в каждом магазине сумму, итоговую сумму затрат и число посещенных магазинов. То есть, как видно из таблицы, в первый день мы посетили 2 магазина, во второй - один. Итого мы посетили три магазина.
    [​IMG]
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Не понимаю, что мешает обработать сначала все данные. Получить нужное число и вывести макет.
  3. TopicStarter Overlay
    НаташаЧернецкая
    Offline

    НаташаЧернецкая

    Регистрация:
    23 июл 2014
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    А где я все это время буду хранить данные о числе приобретенных товаров, номере похода в магазин, затратах на проезд, на покупки, затраты по магазинам? Их ведь тоже нужно запомнить, каждую строчку.
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Блин, а коллекции для чего придуманы? Таблица значений, структура, массив и т.д.
  5. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну так создавайте свою таблицу значений через запрос и вперед. Мне кажется вы немного запутались
  6. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Мягко говоря :D
  7. TopicStarter Overlay
    НаташаЧернецкая
    Offline

    НаташаЧернецкая

    Регистрация:
    23 июл 2014
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Вот я про это и говорила. То есть придется все это распихивать по структурам да массивам, судя по всему? И это вместо простого построчного вывода и обращения к необходимой ячейке. Если бы 1с работало в сфере медицины, они бы небось и гланды удаляли через одно место :(
  8. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Если честно, то я не понимаю Вашу иронию сейчас. Макеты в 1С прекрасно организованы. Есть мелочи, но это реально мелочи, которые решаются.
  9. TopicStarter Overlay
    НаташаЧернецкая
    Offline

    НаташаЧернецкая

    Регистрация:
    23 июл 2014
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    То есть вы серьезно считаете, что это правильно сначала хранить, возможно, огромные объемы информации, а потом их выводить, вместо того, чтобы в любой момент обращаться к нужной ячейке и работать с ней, выводить все в цикле и тут же забывать, не нагружая память и не морочась с созданием структур, массивов и т.п.?
  10. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    В корне неверная реализация, ибо лучше всего делать через оборотный регистр накопления
    --- Объединение сообщений, 23 июл 2014 ---
    Наташа, суть любой БД - хранить данные!!!!!!!!!!!!!!!!!!
  11. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Вы основываетесь на своей простейшей печатной форме. Это все придумано не просто так. Я Вам еще раз говорю, можно сделать пост обработкой, как Вы хотите, думая, что Вы будете загромождать память. Переменные нужно очищать. Есть свои методы оптимизации. И вообще, пошла бесполезная переписка. Я ответил на Ваш вопрос.
  12. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    вполне логично сначала получить все данные и произвести расчеты, а потом выдать их пользователю. Если вы с каждым чихом будете лезть в базу - то вы куда больше памяти "засорите" - раз уж о том речь. Каждое ваще обращение к базе - это время и память. А тут получили данные и работаем с ними в каком угодно порядке и потом выводим. Если уж вы так заботитесь о памяти и производительности поизучайте структуру памяти, как туда заносятся данные, как строятся индексы и т.д. Не все так просто
  13. TopicStarter Overlay
    НаташаЧернецкая
    Offline

    НаташаЧернецкая

    Регистрация:
    23 июл 2014
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    А если мне досталась такая база, в которой все реализовано вот так? Тут не от меня все зависит.

    Но разве во время выполнения обработки данные будут распологаться в бд, а не крутиться в оперативной памяти того компьютера, на котором лежит база?
  14. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Да че мы ей объясняем, забанить ее надо, и всего делов :D
    --- Объединение сообщений, 23 июл 2014 ---
    Юмор у меня такой...
    --- Объединение сообщений, 23 июл 2014 ---
    Не обижайтесь.
  15. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    да данные в памяти, но если вы все скопом достали - то и лежать они будут худо бедно рядом в этой памяти, а если поштучно лазать в базу, то сильная фрагментация памяти будет... подумайте сами...
    Костя, ты сегодня слишком категоричный
  16. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Короче говоря, чем меньше запросов к самой базе, тем лучше. Это помните. А то, что у Вас в памяти хранится таблица значений с 10000 строк, это нормально.
  17. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    Вы заморачиваетесь темой которую не знаете. НЕЛЬЗЯ лазить в базу по 100500 раз для решения элементарной задачи. Каждое обращение к БД должно быть обосновано. Далее... ОС работает в "миллион" раз быстрее с данными которые лежат в оперативной памяти, так что гораздо лучше туда их положить сначала и обработать за 0,001 сек, а если этого не делать то на печать одного документа (особенно если в нем 10000 сотрудников как Вы писали) уйдет минут 10 о_О
  18. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    ну вот я примерно о том же и говорю.... нафига при каждом чихе лопатить базу
  19. TopicStarter Overlay
    НаташаЧернецкая
    Offline

    НаташаЧернецкая

    Регистрация:
    23 июл 2014
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Ну подскажите тогда, как лучше поступить с вот этой задачей с магазинами. Что лучше создать, структуру, многомерный массив, несколько массивов?
  20. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    таблицузначений под основные данные и потом скопом в цикле выводить

Поделиться этой страницей