Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

как обратиться из модуля объекта документа к процедуре формы этого же дока

как обратиться из модуля объекта документа к процедуре формы этого же дока
Я
   npkerz
 
20.04.18 - 07:25
предыстория
на форме дока есть кнопка которая показывает колонку
в доку делаю движения по регистру сведений и мне нужно написать условие мол если эта кнопка активна то движения записываются в этот регистр
или если эта колонка заполнена
факт в том что я когда пробую обратиться из формы объекта - он не видит процедуру
делала ее на сервера - все равно
 
 
   VladZ
 
1 - 20.04.18 - 07:27
(0) "как обратиться из модуля объекта документа к процедуре формы этого же дока" - не нужно этого делать.
   youalex
 
2 - 20.04.18 - 07:27
сделай реквизит
   фросия
 
3 - 20.04.18 - 07:28
сделай что бы кнопка на форме меняла ревизиты документа, и условия в проведении дока проверяй по реквизитам. потому как движения можно вызвать не открывая форуму дока.
   МимохожийОднако
 
4 - 20.04.18 - 07:28
(0) Расшифруй "если эта кнопка активна"
   VladZ
 
5 - 20.04.18 - 07:30
Странная какая-то задача: если не активна кнопка - не писать в регистр.

Ну, ладно... Допустим.

Добавь реквизит "ЗаписыватьДвижения". И по значению этого реквизита определяй необходимость записи в регистр
   npkerz
 
6 - 20.04.18 - 07:32
у меня есть реквизит -который в процедуре
получается при нажатии кнопки - он показывает колонку(колонка тип реквизит показатьсериимедикаментов)
и вот в поступлении тмз мне нужно как то поставить условие
мол если либо заполнена колонка либо активна кнопка - точно не знаю как это реализовать
просто у медикаменты движение по одному регистру сведений
а картошке на фиг он не сдался
поэтому так пытаюсь сделать
   npkerz
 
7 - 20.04.18 - 07:33
просто он не дает теперь записать обычное списание - пишет что не указан сертификат
   МимохожийОднако
 
8 - 20.04.18 - 07:34
(6) В документе добавь реквизит...см (5)
(7) кто он? ))
здесь телепаты не все
   фросия
 
9 - 20.04.18 - 07:34
пиши: если тип значения= медикамент и значение заполнено(серия медикамента) тогда сделать движение по РС
   фросия
 
10 - 20.04.18 - 07:35
>> делала ее на сервера 
 пол в карточке- мужской

думаю в этом дело
 
 Рекламное место пустует
   npkerz
 
11 - 20.04.18 - 07:36
он - регистр учета медикаментов))
   фросия
 
12 - 20.04.18 - 07:42
давайте код натыкаю носом
   npkerz
 
13 - 20.04.18 - 07:54
тэкс
ну вот код команды кнопки в модуле формы
&НаСервере
Процедура показатьсерии(Команда)
    Элементы.ТоварыПоказатьСерииМедикаментов.Пометка = НЕ Элементы.ТоварыПоказатьСерииМедикаментов.Пометка;    
    Если Элементы.ТоварыПоказатьСерииМедикаментов.Пометка Тогда    
         Элементы.ТоварыСерияМедикамента.Видимость = Истина;
         ПоказатьСерии = Истина;
    Иначе     
         Элементы.ТоварыСерияМедикамента.Видимость = Ложь;
         ПоказатьСерии = Ложь;
    КонецЕсли; 
    
КонецПроцедуры

ПоказатьСерии - это реквизит

вот процедура проведения движений в модуле объекта
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    Если  Объект.Товары.СерияМедикамента    
        
         // регистр УчетМедикаментов Приход

    Движения.УчетМедикаментов.Записывать = Истина;
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        Движение = Движения.УчетМедикаментов.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
        Движение.Период = Дата;
        Движение.Организация = Организация;
        Движение.ИсточникФинансирования = ИсточникФинансирования;
        Движение.Медикамент = ТекСтрокаТовары.Номенклатура;
        Движение.СерияМедикаментов = ТекСтрокаТовары.СерияМедикамента;
        Движение.Количество = ТекСтрокаТовары.Количество;
        Движение.Сумма = ТекСтрокаТовары.Сумма;
    КонецЦикла;
    Иначе Движения.УчетМедикаментов.Записывать = Ложь;

КонецЕсли;

и где начинается - Если  Объект.Товары.СерияМедикамента
тут нужно что то придумать со связкой показатьсерии или типа того
   фросия
 
14 - 20.04.18 - 08:00
воткните в обработку проведения перед Движение = Движения.УчетМедикаментов.Добавить(); проверку на заполненность серии в текстроке
   фросия
 
15 - 20.04.18 - 08:01
ЕСли значениезаполнено(ТекстрокаТОвары.СерияМедикамента) ТОгда 
 Движение = Движения.УчетМедикаментов.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
...
...
конецесли;
конеццикла;
   npkerz
 
16 - 20.04.18 - 08:12
Спасибо
только ругается типа концовок нет - процедуры и если
ну это найду добавлю
   npkerz
 
17 - 20.04.18 - 09:56
не а
не пашет
пишет не найдена переменная (ТекстрокаТОвары.СерияМедикамента)
   фросия
 
18 - 20.04.18 - 10:07
(17)а в реквизитах дока есть?
   npkerz
 
19 - 20.04.18 - 10:26
(18) да есть - СерияМедикаменты реквизит
в табл части Товаров
   npkerz
 
20 - 20.04.18 - 10:26
вот я хоть к какому элементу формы через модуль объекта обращаюсь - он не видит тупо их
   hhhh
 
21 - 20.04.18 - 10:49
(20) а ты к реквизитам документа обращайся
   npkerz
 
22 - 20.04.18 - 12:13
сделала через
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        Если не ПустаяСтрока(ТекСтрокаТовары.СерияМедикамента) тогда
            Движение = Движения.УчетМедикаментов.Добавить();


спасибо


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует