7.7 Маршрутный лист

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем sashadeo, 24 май 2011.

  1. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Здравтсвуйте!
    У меня есть интересный вопрос!
    Есть обработка которая называется маршрутный лист. Ее назначение автоматическое создание документов Заявка. Где Строки(магазины)- эта каждая новая заявка, а столбыци это табличная часть документа(перечень номенклатуры).
    Обработка маршрутный лист.
    Посмотреть вложение 7319
    Данные вводятся путем двойного нажатия на ячейку


    Я в нее добавил новую колонку Итог…
    Подскажите как сделать что бы после очередного ввода Колонка итог автоматически пересчитывалась и выдавала итог по по строке.

    Вложения:

    • 123.jpg
      123.jpg
      Размер файла:
      131,4 КБ
      Просмотров:
      225
  2. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Сама обработка

    Вложения:

  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    1) Нет проверки на принадлежность колонки продукции при вводе
    (я бы добавил)
    Код:
    Если СтолбецТ>тзПродукции.КоличествоСтрок()+Таблица.ШиринаСекции("ТорговыеТочки") Тогда
    возврат;
    КонецЕслИ;
    
    
    
    2) Код в целом правильный, но и "шелухи" достаточно.
    Например
    Код:
    тзЗаявки.Количество = Число(Значение);
    
    
    
    Когда Значение вводится функцией ВвестиЧисло (что само по себе подразумевает что вернется ЧИСЛО и ничто иное)

    вот еще
    Код:
    Таблица.Область(Адрес).Текст = ПредставлениеКоличества(Значение);
    
    
    
    в таблице тоже идет вызов ПредставлениеКоличества - получается масло-маслянное.


    3) "Золотое" правило: НИКОГДА не называйте переменные зарезервированными словами (Значение)

    4) Получить итог элементарно - суммируйте ТЗ тзЗаявки по текущей строке и выводите значение после обновления текущей ячейки
    Код:
    Таблица.Область(Адрес).Текст = ....
    Таблица.Область(Адрес1).Текст = СумЧТмп;
    
    
    
    СумЧТмп - сумма значений колонок ТЗ текущей строки;
    Адрес1 - вычисляется по аналогии с п.п. 1
  4. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Спасибо!!!
    Буду переваривать ваш ответ!!!
  5. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Не подскажите какая функция используется для обновления???
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
  7. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Вы написали "Получить итог элементарно - суммируйте ТЗ тзЗаявки по текущей строке и выводите значение после обновления текущей ячейки"

    А как обновить текущую ячейку
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Достаточно просто присвоить значение в ячейке (показано в ответе) - обновится автоматически
  9. TopicStarter Overlay
    sashadeo
    Offline

    sashadeo Опытный в 1С

    Регистрация:
    29 дек 2010
    Сообщения:
    379
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Не подскажите как вычислить Адрес1, Адрес берется из процедуры ОбработкаЯчейки... а как указать где брать Адрс1...
    И как посчитать сумму колонок.... извеняюсь если это глупый вопос...
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Я же вам уже написал....все же просто. Нужно знать строку только (берем из адреса), а колонка это

    тзПродукции.КоличествоСтрок()+Таблица.ШиринаСекции("ТорговыеТочки")

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