8.х Включение функции при вводе через " Подбор "

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

  1. TopicStarter Overlay
    Letos
    Offline

    Letos Опытный в 1С

    Регистрация:
    23 ноя 2009
    Сообщения:
    218
    Симпатии:
    0
    Баллы:
    26
    Есть функция, которая должна включаться, когда пользователь осуществляет ввод позиций в табличную часть "Товар" через подбор. Её включение вставил в тело процедуры "ПриВыводеСтроки". Сама моя функция меняет счета в табличной части "Товар".

    Но теперь, при открытии документа, срабатывает функция, и документ начинает числиться как изменённый, хотя никаких изменения не произошло. В итоге, не возможно распечатать счет фактуры.

    Вопрос. Куда можно засунуть эту функцию что бы она работала адекватно?
  2. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    Разумеется, вы поступили в корне не верно: есть процедуры обработки того самого подбора, которые несложно поймать через конфигуратор.

    Например, в документе "ЗаказПокупателя" в УТ такая называется "ВставитьСтроку". Ищите в форме.
  3. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    какие конфа бух? быть может вы не настроили счета для номенклатуры?
  4. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    У вормы документа есть предопределённое событие "Обработка выбора". Данное событие срабатывет при получении данных от открытой формы, в данном случае при открытом подборе.
    Пример кода:
    Код:
    // Процедура - обработчик события "ОбработкаВыбора" формы.
    //
    Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
    
    Перем Команда;
    
    Если ТипЗнч(ЗначениеВыбора) = Тип("Структура") Тогда
    ЗначениеВыбора.Свойство("Команда", Команда);
    
    Если Команда = "ПодборВТабличнуюЧастьТовары" Тогда
    ОбработкаПодбора(Товары, ЗначениеВыбора);
    
    ИначеЕсли Команда = "ПодборВТабличнуюЧастьВозвратнаяТара" Тогда
    ОбработкаПодбора(ВозвратнаяТара, ЗначениеВыбора);
    
    ИначеЕсли Команда = "ПодборВТабличнуюЧастьУслуги" Тогда
    ОбработкаПодбора(Услуги, ЗначениеВыбора);
    
    КонецЕсли;
    КонецЕсли;
    
    КонецПроцедуры // ОбработкаВыбора()
    
    Ваш вариант будет выглядеть вот так

    Код:
    // Процедура - обработчик события "ОбработкаВыбора" формы.
    //
    Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
    
    Перем Команда;
    
    Если ТипЗнч(ЗначениеВыбора) = Тип("Структура") Тогда
    ЗначениеВыбора.Свойство("Команда", Команда);
    
    Если Команда = "ПодборВТабличнуюЧастьТовары" Тогда
    ОбработкаПодбора(Товары, ЗначениеВыбора);
    МояФункция();
    
    ИначеЕсли Команда = "ПодборВТабличнуюЧастьВозвратнаяТара" Тогда
    ОбработкаПодбора(ВозвратнаяТара, ЗначениеВыбора);
    МояФункция();
    
    ИначеЕсли Команда = "ПодборВТабличнуюЧастьУслуги" Тогда
    ОбработкаПодбора(Услуги, ЗначениеВыбора);
    МояФункция();
    
    КонецЕсли;
    КонецЕсли;
    
    КонецПроцедуры // ОбработкаВыбора()
    
    Более ничего делать не надо.
    Удачи!!!
  5. TopicStarter Overlay
    Letos
    Offline

    Letos Опытный в 1С

    Регистрация:
    23 ноя 2009
    Сообщения:
    218
    Симпатии:
    0
    Баллы:
    26
    Все счета указаны, просто для группы элементов, нужно указать как минимум 2 счета учеты.
  6. TopicStarter Overlay
    Letos
    Offline

    Letos Опытный в 1С

    Регистрация:
    23 ноя 2009
    Сообщения:
    218
    Симпатии:
    0
    Баллы:
    26
  7. Доктор Руфус Бейли
    Offline

    Доктор Руфус Бейли Опытный в 1С

    Регистрация:
    7 апр 2010
    Сообщения:
    277
    Симпатии:
    0
    Баллы:
    26
    Не знаю, как другие, а я книжек по 1С не читал вообще, а всё знаю из-за того, что читаю конфигурацию и синтаксис-помощник, а так же часто экспериментирую.
    Иными словами: практика, практика и ещё раз синтаксис-помощник.

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