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


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
сделала через
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        Если не ПустаяСтрока(ТекСтрокаТовары.СерияМедикамента) тогда
            Движение = Движения.УчетМедикаментов.Добавить();


спасибо


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