8.х Разность двух табличных частей

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем malcevm, 30 июн 2015.

  1. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    Друзья помогите! Задача ну уж очень простая. Но я в синтаксисе не шарю. Есть три колонки в форме документа "ЗаказПокупателю" :
    А) Количество (число)
    Б) Выдано (число)
    В) Должны (число)


    Нужно, что бы при изменении "Выдано" происходило вычитание от "Количества" и записывалось в "Должны" (В = А - Б)

    Заранее благодарен.
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    платформа какая?
  3. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Будет что то вроде при событи Изменении ячейки в табл части
    ЭлементыФормы.Товары.ТекущиеДанные.В=ЭлементыФормы.Товары.ТекущиеДанные.А-ЭлементыФормы.Товары.ТекущиеДанные.С;
  5. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    Делал так но нет результата

    Процедура ПриИзмененииВыданоТовары(Элемент)

    СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
    СтрокаТабличнойЧасти.Должны = СтрокаТабличнойЧасти.Количество - СтрокаТабличнойЧасти.Выдано;

    КонецПроцедуры
    --- Объединение сообщений, 30 июн 2015 ---
    Так тоже не работает
    Процедура ПриИзмененииЯчейкиТабличныеЧасти(Элемент)

    СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
    СтрокаТабличнойЧасти.Должны = СтрокаТабличнойЧасти.Количество - СтрокаТабличнойЧасти.Выдано;

    КонецПроцедуры
    Последнее редактирование: 30 июн 2015
  6. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    а пише что нить или нет?
  7. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    Такой вариант дублирует ячейку количество, но про в воде выдано не вычитает
    Процедура ПриИзмененииЯчейкиТабличныеЧасти()

    СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
    СтрокаТабличнойЧасти.Должны = СтрокаТабличнойЧасти.Количество - СтрокаТабличнойЧасти.Выдано;

    КонецПроцедуры
    --- Объединение сообщений, 30 июн 2015 ---
    ошибок нет
  8. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Проверьте имена колонок, может где ошиблись
  9. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    проверил, все норм. Вожу количество, дублируется в ячейку должны, ввожу выдано, ячейка должны не изменяется
  10. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    а у Выдано на ячейку при изменении какая процедура - покажите
  11. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    будете смеяться, но ее нет
    --- Объединение сообщений, 30 июн 2015 ---
    А какая должна быть? =)
  12. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну хотя бы таже что и при изменении количесва
    ПриИзмененииЯчейкиТабличныеЧасти()
  13. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    Если так то результата к сожалению нет

    Процедура ПриИзмененииЯчейкиТабличныеЧастиВыдано()

    СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
    ОбработкаТабличныхЧастей.РассчитатьКоличествоМестТабЧасти(ЭлементыФормы.Товары.ТекущиеДанные, ДокументОбъект);
    ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(ЭлементыФормы.Товары.ТекущиеДанные, ЭтотОбъект);
    ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ЭтотОбъект);


    КонецПроцедуры
    --- Объединение сообщений, 30 июн 2015 ---
    Ха, интересная штука получилась.
    Если записать выдано и менять количество, то ячейка должны меняется, а как сделать на оборот, что бы я менял выдано
    --- Объединение сообщений, 30 июн 2015 ---
    Сейчас это выглядит так
    Процедура ПриИзмененииЯчейкиТабличныеЧасти()

    СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
    СтрокаТабличнойЧасти.Должны = СтрокаТабличнойЧасти.Количество - СтрокаТабличнойЧасти.Выдано;

    КонецПроцедуры

    Процедура ПриИзмененииТабличныеЧастиВыдано()

    СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
    СтрокаТабличнойЧасти.Должны = СтрокаТабличнойЧасти.Количество - СтрокаТабличнойЧасти.Выдано;

    КонецПроцедуры
    Последнее редактирование: 30 июн 2015
  14. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    где то, что то не так. Если вбить сначала выдано а потом количество то считает, но если вбить количество а потом выдано не считает
  15. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    Нет идей что, нет так?
  16. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Смотрите по коду, почему так у вас получается, может обработчик лишний сделали, или, наоборот, не до делали. Все в ваших руках :)
  17. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    Друзья, большими знаниями не обладаю, по этому собственно прошу вышей помощи
  18. TopicStarter Overlay
    malcevm
    Offline

    malcevm

    Регистрация:
    28 янв 2015
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    Всем спасибо все получилось. Особая благодарность товарищу Draco.
    --- Объединение сообщений, 30 июн 2015 ---
    Процедура ПриИзмененииВыданоТовары(Элемент)

    СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
    СтрокаТабличнойЧасти.Должны = СтрокаТабличнойЧасти.Количество - СтрокаТабличнойЧасти.Выдано;

    КонецПроцедуры

    Все оказалось на много проще, нужно было добавить событие в ячейку Выдано "ПриИзмененииВыданоТовары"
  19. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну я вам это еще в 12 посте написал

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