1с изменение реквизита документа при проведении

Как при проведении документа изменить реквизит.

Я
   AlexRu2015

11.05.21 — 13:08

Как при проведении документа изменить реквизит? Например, надо заполнить реквизит СебестоимостьСписания. Себестоимость будет известна после формирования движений по регистру. Пытаюсь записать в процедуре ОбработкаПроведения, не записывается. Т.е. в отладчике значение меняется, но не записывается. В толстых формах вроде работало а в УФ как?

Спасибо

  

Партнерская программа EFSOL Oblako

   Kassern

1 — 11.05.21 — 13:09

(0) Конфигурация какая?

   ДенисЧ

2 — 11.05.21 — 13:09

руки оборвать за такое.

А так — записать ещё раз надо.

   PuhUfa

3 — 11.05.21 — 13:10

(0) Это что ж за себестоимость такая и нафига она в этом документе в реквизите?

   dmpl

4 — 11.05.21 — 13:11

(0) А чем регистр сведений не подходит?

   AlexRu2015

5 — 11.05.21 — 13:22

Пользователь хочет видеть себестоимость. Регистр создавать не хотелось все таки конфа типовая хочется поменьше изменений

   ДенисЧ

6 — 11.05.21 — 13:24

(5) Если у тебя типовая — то регистр СС у тебя уже есть

   Kassern

7 — 11.05.21 — 13:24

(5) для этого есть валовая прибыль предприятия, либо себестоимость товаров предприятия

   Kassern

8 — 11.05.21 — 13:25

(5) научите юзверов пользоваться отчетами, а не изобретать велосипеды

   PR

9 — 11.05.21 — 13:26

(5) За такое даже не руки отрывать, просто тихо в лес вывозить и закапывать под елкой

   Lexandr

10 — 11.05.21 — 13:29

(8) Легко сказать). А так для любопытных я просто вывожу в документе список нужного регистра с выбранными полями, пусть глазеют цифиры напрямую, дабы сами не могут ни отчета построить — ни регистры посмотреть.

   AlexRu2015

11 — 11.05.21 — 13:30

(9) А чем это черевато? Что может сломаться?

   ДенисЧ

12 — 11.05.21 — 13:31

(11) Руки. У того, кто это сделал.

   Kassern

13 — 11.05.21 — 13:31

(10) лучше все таки потратить время и научить пользоваться отчетами, в крайнем случае внешней обработкой прикрутить внешний отчет к документу, который будет отображать данные в удобочитаемой форме

   Lexandr

14 — 11.05.21 — 13:35

(11) Будет страшное сообщение, что документ изменен и надо его записать еще раз. Такая ситуация не смущает?

   AlexRu2015

15 — 11.05.21 — 13:35

(13) Мне же не в одном месте выводить. Еще в журнале документов.графа должна быть.

   Kassern

16 — 11.05.21 — 13:36

(11) в типовой конфе есть функционал по расчету себестоимости. Есть понятие предварительного и конечного расчета. Конечный расчет происходит при закрытии месяца, тогда уже заполняется РН СебестоимостьТоваров (для продажи). То  что вы хотите, это снять с замка типовую конфу, добавить в документ реквизит, с себестоимостью. Завтра пришел новый приход товара по другой цене, вам придется перезаписывать документы, чтобы пересчитать ваш реквизит.

   Kassern

17 — 11.05.21 — 13:36

(16) в итоге вместо типового функционала вы хотите собрать свой велосипед с квадратными колесами

   AlexRu2015

18 — 11.05.21 — 13:40

(16) Это я им объяснил они готовы.

(14) Страшного сообщения нет. Уже попробовал

Очень смущает то что никто не может объяснить в чем проблема. Похоже на какое-то религиозное табу.

   hhhh

19 — 11.05.21 — 13:46

(18) ну ты уже давал команду Записать() в обработке проведения? Всё нормально? Основная проблема, что у тебя все обработчики ПередЗаписью и ПриЗаписи выполнятся по 2 раза.

   Lexandr

20 — 11.05.21 — 13:47

(18) Так сообщения нет, поскольку реквизит не меняется.

   PuhUfa

21 — 11.05.21 — 13:47

(18) первая проблема это в непонимании матчасти… и в данном случае даже не 1С. Т.к. вот это «Себестоимость будет известна после формирования движений по регистру» уже само по себе дичь. Мы же говорим про списание? А раз так, то себестоимость списания ты знаешь (ну или можешь узнать) в ПередЗаписью, а следовательно не надо тебе трогать ОбработкуПроведения.

   Kassern

22 — 11.05.21 — 13:50

(18) когда поработаете в конторе, где в день бьют по 500+ заказов и реализуете такой функционал, 1ска колом встанет. У вас есть 2 типовых регистра, откуда вы можете подтянуть себестоимость, но вы делаете свой реквизит, который заставит вас множество раз перезаписывать документ.

   PR

23 — 11.05.21 — 13:54

(11) Различные кости в организме могут сломаться

А если серьезно, то я даже не буду говорить, что технически это решение — абсолютно лютый шлак

Просто ответь, что ты будешь делать, когда у тебя по какой-то причине (абсолютно почхать по какой) документ покажет одни цифры, а в регистрах будут другие?

Будешь обиженно кричать, что это разные объекты в базе и они вполне могут рассинхронизироваться?

   Lexandr

24 — 11.05.21 — 13:55

Я всё жду имя конфигурации.

   AlexRu2015

25 — 11.05.21 — 13:55

(20) Реквизит меняется. Я его на форму вывел. Руками изменил и провел. Реквизит изменился, лишних сообщений нет.

(19) Обработчики не выполняются я прописал ОбменДанными.Загрузка = истина

   Масянька

26 — 11.05.21 — 13:56

(25) Руками себестоимость изменил?

   PR

27 — 11.05.21 — 13:56

(18) Сложно объяснить, в чем проблема, что у тебя в руке граната, а чеки в ней нет, если ты не знаешь, что такое граната, что такое чека и что бывает с гранатой без чеки

   AlexRu2015

28 — 11.05.21 — 13:57

(26) Да руками

   Масянька

29 — 11.05.21 — 13:59

(28) Гений!

(9) Елка, однако, загнется… А в реке, озеро, море, океане — все живое умрет.

   Гений 1С

30 — 11.05.21 — 13:59

(0) ггггг. вызвать Записать

   Гений 1С

31 — 11.05.21 — 14:00

(3) а прикинь в документе возврата от покупателя тоже себестоимость хранится в явном виде в УТ11.

   Масянька

32 — 11.05.21 — 14:00

Встретились 2 одиночества…

   Mikeware

33 — 11.05.21 — 14:02

(26) он — хозяин своей себестоимости!

   Rovan

34 — 11.05.21 — 14:03

(0) а если пользователь попросит хранить остатки товаров в документе тоже будите делать ?

   AlexRu2015

35 — 11.05.21 — 14:04

Да черт с ней с себестоимостью не очень то и хотелось. Может кто-то толково объяснить почему так делать нельзя? Без метафор и угроз членовредительства?

   Жан Пердежон

36 — 11.05.21 — 14:05

(5) (35) а записывать зачем?

просто на форму или куда там тебе надо выводи

   Kassern

37 — 11.05.21 — 14:06

(31) Потому что в возврате есть возможность ручного распределения себестоимости, поэтому и запихнули в ТЧ.

   Масянька

38 — 11.05.21 — 14:06

(35) Почему нельзя через двойной сплошняк?

   Kassern

39 — 11.05.21 — 14:10

(35) потому что у тебя уже есть все, чтобы вывести себестоимость, дополнительно хранить в каком нибудь регистре/документе/справочнике нет смысла. Есть регистр с себестоимостью рассчитанной, бери из него циферку и выводи там где надо.

   Галахад

40 — 11.05.21 — 14:13

(35) Да можно. Просто Данные регистра и документа скорее всего будут отличаться.

   Гений 1С

41 — 11.05.21 — 14:13

(34) я в номенклатуре хранил остатки, было дело

   Kassern

42 — 11.05.21 — 14:16

(41) ну и как оно при каждом приходе/расходе перезаписывать карточки товара?

   ДенисЧ

43 — 11.05.21 — 14:16

(41) Тебе можно.

   Базис

44 — 11.05.21 — 14:23

(35) Попробую.

Это непонимание и игнорирование самой глубинной логики 1С — что есть константы, условно постоянные, справочники, в основном дописываемые, документы, использующие справочники, регистры, заполняемые документами, и отчёты, строящиеся по регистрам.

Если ты делаешь иначе — весь объём кода конфы, насущный и будущий, не учитывает твоих доделок и часто будет причиной расхождений. Одинаково названные показатели будут иметь разные значения, а это уже прямое нарушение принципов учёта и путь к беде.

   Гений 1С

45 — 11.05.21 — 14:25

(42) регламентным заданием. Использовал для печати ценников.

   Гений 1С

46 — 11.05.21 — 14:26

(44) если нельзя, но очень хочется, то можно. а так конечно, лучше в регистр сведений пихать

   Масянька

47 — 11.05.21 — 14:27

(45) А для печати ценников нельзя из регистра получать?

А вообще — гениально… Да…

   PR

48 — 11.05.21 — 14:27

(31) Когда ты говоришь, такое ощущение, что ты бредишь

   Масянька

49 — 11.05.21 — 14:28

(44) Это без метафор. Хотя, если отбросить вековой опыт предков, не-фига-не-понятно.

   fisher

50 — 11.05.21 — 14:35

(35) > Похоже на какое-то религиозное табу.

Когда начинаешь ссать против ветра да так, что это и других зацепить может, то да — это легко превращается в табу.

1. Процесс записи документа записывает уже готовые данные. Если ты их в процессе меняешь — значит они еще не готовы и придется записывать еще раз. В итоге за нарушение концепции тебе придется заплатить неочевидной и нестандартной реализацией, которая в силу своей неочевидности легко может аукнуться при доработках. В общем случае ведь никто не ожидает и не закладывается на вариант, что документ может записываться дважды в разных режимах.

2. Ты хочешь одни и те же данные записывать в разные места. Для этого нужны веские основания. Так как в идеале нужно обеспечивать согласованность этих данных при любых раскладах. В твоем случае оснований явно недостаточно и обеспечить согласованность этих данных при любых раскладах ты тоже не сможешь. То есть это будет еще одна мина преемникам.

   Гений 1С

51 — 11.05.21 — 14:35

(47) можно, если СКД поменять. Но возникает трабла с обновлениями конфы. так надежно, как в калаше.

   Гений 1С

52 — 11.05.21 — 14:35

(50) так надо умело ссать, опыт приходит с мастерством

   Гений 1С

53 — 11.05.21 — 14:36

(50) давай обсудим пример с остатками для ценников.

   Гений 1С

54 — 11.05.21 — 14:36

хотя сейчас, конечно, я бы применил расширение, но тогда их не было, зато были подписки.

   Trimax

55 — 11.05.21 — 14:37

Коллеги. В глубинах России таковое сплошь и рядом. Т.н. «бизнесмен» (чаще всего пузатый мужчинка на ренжровере, в малиновом пиджаке на толстовку, и медной (реже золотой) цепью на шее) привык, что себестоимость — это цена закупки на черкизоне, плюс затраты на проезд и аренду склада. Все остальное он платит из своего кармана (чем постоянно упрекает всех сотрудников). Поэтому «бизнесмен» желает знать сколько себестоимость только что проданной шоколадки и сколько он может изъять из кассы.

   fisher

56 — 11.05.21 — 14:39

(53) Давай. Что такое «остатки для ценников»? Озвучь задачу.

   Kassern

57 — 11.05.21 — 14:40

(56) мне больше интересно, на кой остатки на ценнике

   Trimax

58 — 11.05.21 — 14:41

(56) (57) Для ночной смены в «пятерочке». Остатки на чкладе. Цена остатка +10% распечатать ценники.

   Lexandr

59 — 11.05.21 — 14:41

(55) Еще манагеры просто молятся на цифирку прибыли сразу после реализации.

   Kassern

60 — 11.05.21 — 14:43

(59) а толку то?) Если клиент денюжку не заплатил, то эта циферка ничего не значит)

   fisher

61 — 11.05.21 — 14:44

(58) И какая проблема при этом возникает? Я все еще не улавливаю. Если нужно фиксировать результат, для «разбора полетов» — ну, фиксируй.

   Гений 1С

62 — 11.05.21 — 14:45

(57) молодой ты еще, незрелый. зачем там, не помню, но недавно вот просили остатки в разрезе размеров. Т.е. какие размеры остались (обувь)

   Обработка

63 — 11.05.21 — 14:48

Все не читал. Но Осуждаю именно такой подход как в (0).

Меняй задачу. Менять реквизит надо перез записью и точка!

   Trimax

64 — 11.05.21 — 14:58

(61) Что касается себестоимости. Постановка задачи кривая. Это я озвучил в (55). Т.е. заказчику необходимо видеть себестоимость продукта на данный момент времени. Принципиально, соорудить это можно, но это будет «сферический конь в вакууме». Проблемы возникнут максимум через 3 месяца, когда начнут сдавать отчет по прибыли.

Что касается ценников. Задача впринципе нормальная, особенно на продуктах питания, когда необходимо продать товар с заканчивающимся сроком годности. Т.е. выбрать таковые остатки, создать цены со скидкой и распечатать ценники.

   Масянька

65 — 11.05.21 — 15:01

(55) Бред. Это из глубинки ответ.

   BIP1

66 — 11.05.21 — 15:02

(0) Зачем записывать себестоимость в документ? «Пользователь хочет видеть себестоимость.» — это не ответ. Пользователь хочет видеть, ну так и выведите на форму эти данные, чтобы он их видел. Он их будет видеть. Задача будет решена.

Зачем ЗАПИСЫВАТЬ себестоимость в документ? Чем, какими соображениями, вы руководствуетесь при принятии такого технического решения?

   Новый1сник2

67 — 11.05.21 — 15:03

(66) + 1

   Гений 1С

68 — 11.05.21 — 15:05

(64) вот кстати, когда я делал в последний раз печать размеров имеющихся в наличии, я расширением добавил замену $Размеры в макете на остатки. То бишь расширения это хорошо

   SSSSS_AAAAA

69 — 11.05.21 — 15:06

(66) А может он умеет показывать только то, что в реквизитах?

   Kassern

70 — 11.05.21 — 15:06

(62) Надо быть видимо «очень» зрелым, чтобы пихать в Ценник остатки. Обычно в ценнике указана цена, наименование, упаковка, валюта, но не как не остаток. По поводу размеров обуви, какая проблема в этом? Заводится характеристика на размер и смотрятся остатки в разрезе характеристик, типовые это позволяют

   Kassern

71 — 11.05.21 — 15:08

(69) за 6 лет наверное можно научиться делать запросы к регистрам и выводить результат в реквизит формы.

   Mikeware

72 — 11.05.21 — 15:10

(70) надо перезреть, подпортиться, подгнить, провонять…

   SSSSS_AAAAA

73 — 11.05.21 — 15:15

(71) Это мы так думаем. А мой опыт говорит, что иногда ТАКОЕ бывает…

   BIP1

74 — 11.05.21 — 15:19

(69) Сегодня добавим «Себестоимость» в документ, а завтра пользователь, убедившись в том, что программист толковый, попросит вывести в документ ещё и остатки, чтобы девочкам было удобнее выписывать документы и не открывать каждый раз отчёт по остаткам:)

   Trimax

75 — 11.05.21 — 15:21

(74) Гы :) (с) Фиксин.

Уже лет 10 как пройденный этап у одного «ларечника».

   Kassern

76 — 11.05.21 — 15:26

(75) есть такие умельцы, для которых желание клиента — закон. И они начинают ломать весь типовой функционал, по каждой хотелке оператора. А потом этот зоопарк уже никто поддерживать не хочет

   Новый1сник2

77 — 11.05.21 — 15:28

попадался один клиент у которого в карточке номенклатуры с десяток типов цен и все разными

реквизитами. цена1, цена2 и т.д. но я с ними работать не стал

   hhhh

78 — 11.05.21 — 15:37

тут еще дело в том, что в 1с методичка постоянно меняется. Например, в бух 1.6 в документе требование-накладная был реквизит себестоимость. А  в бух 2.0 просто взяли и выбросили его. Пользователи на местах взвыли. Потому что все уже привыкли к этому. Вот поэтому возникла эта задача, вставить реквизит себестоимость, это не просто так, на пустом месте. Не просто же Гений это придумал.

   benj

79 — 11.05.21 — 15:37

Мне кажется тебе больше подойдет, добавить доп реквизит,  а потом туда данные записывать

к примеру

&НаСервере

Процедура УстановитьДополнительныйРеквизитОбъекта(ДокументОбъект, ИмяРеквизита, ЗначениеРеквизита, ТаблицаСвойств)

    
    

    ЭлПВХ_Ссылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту(«Имя»,ИмяРеквизита);

    Если ЭлПВХ_Ссылка.Пустая() Тогда

        Сообщить(«Не найден доп. реквизит «+ИмяРеквизита+», значение не установлено!»);

        Возврат;

    КонецЕсли;

    
    
    СтрДопРеквизиты = ДокументОбъект.ДополнительныеРеквизиты.Найти(ЭлПВХ_Ссылка, «Свойство»);

    
    
    
    НоваяСтрока = ТаблицаСвойств.Добавить();

    НоваяСтрока.Свойство = ЭлПВХ_Ссылка;

    НоваяСтрока.Значение = ЗначениеРеквизита;    

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

А у себя после Записи с признаком ОбменДанными.Загрузка = Истина, только не забудь если документ самописный везде возврат при ОбменДанными.Загрузка сделать     

                ТаблицаСвойств = Новый ТаблицаЗначений;

        ТаблицаСвойств.Колонки.Добавить(«Свойство»);

        ТаблицаСвойств.Колонки.Добавить(«Значение»);

        
        УстановитьДополнительныйРеквизитОбъекта(ЭтотОбъект,»Себестоимость»,Себестоимость,ТаблицаСвойств);

        
        Этотобъект.Записать();

Это примерно все, но лучше как все говорят, записывай в регистр

   Mikeware

80 — 11.05.21 — 15:52

(74) а потом будет вопрос «за что заплатил, а за что нет»

  

Mikeware

81 — 11.05.21 — 15:53

(78) переходят с одних веществ на другие — вот реквизиты и плывут…

Главная страница » Каталог » Программистам » 1С Предприятие 8 » Как изменить значение реквизита, при проведении документа?

Как изменить значение реквизита, при проведении документа?

Изменить значение реквизита, при проведении документа, можно следующим образом.

В Процедуре ПередЗаписью пишем такой код:

Если РежимЗаписи = РежимЗаписиДокумента.Проведение И Не Проведен Тогда


Вконтакте

Facebook

Twitter

Google+

Одноклассники

Мой мир

E-mail

17 правил для составления оптимального ЗАПРОСа к данным базы 1С 47
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ


1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш


1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей.


Google maps : вывод точек на карту и режим панорамы 8
В отличие от яндекс карт в GMaps можно использовать панорамы — за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора


Google maps, поиск оптимального маршрута 5
В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута:
* Географические координаты объектов, которые хранятся в базе;
* Координаты начальной и коне


Посмотреть все результаты поиска похожих

  1. В заказе покупателя есть реквизит «А». Он записывается при проведении заказа.
    Как изменить его значение при проведении, скажем приходного ордера на основании? Скажите куда копать?


  2. gosn1ck

    Offline

    gosn1ck
    Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26

    вам надо заполнить реквизит на основании ордера?
    тогда смотрите ОбработкаЗаполнения()


  3. yzek

    Offline

    yzek
    Опытный в 1С

    Регистрация:
    13 окт 2010
    Сообщения:
    713
    Симпатии:
    1
    Баллы:
    26

    Примерно так.
    Док = «ДокументОснование».ПолучитьОбъект();
    Док.»А» = «бла-бла-бла»;
    Док.Записать();


  4. Siddy

    Offline

    Siddy
    Опытный в 1С

    Регистрация:
    18 мар 2009
    Сообщения:
    311
    Симпатии:
    0
    Баллы:
    26

    Вы хотите изменить реквизит заказа покупателя при проведении документа, введенного на его основании? Тогда в обработчике ПриЗаписи (или ПередЗаписью, в зависимости от ситуации) документа, введенного на основании

  5. Да, спасибо! Я разобрался :) Это как раз то, что надо…
    Только пока я разбирался, понял, что задача вообще в другом :)

    Мне нужно как то получить сумму предоплаты по заказу при выводе списка заказов, при этом учесть все приходники, платежки поступившие, возвраты денег клиенту и корректировки заказа…

    Сейчас сделана функция выбора из кучи этих доков по основанию, но это все тормозит жутко. Хотел как то при проведении каждого из доков менять доп. реквизит в заказе покупателя, но не получается, потому, что данные появляются после проведения, а не во время проведения…

    Вобщем надо чето думать…

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


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

&НаСервере
Процедура Изменение_значения_реквизита_объекта(ДокСсылка, Новое_значение_реквизита)// Процедура программно меняет значение реквизита объекта (документа)
    // ДокСсылка — документ в котором необходимо изменить реквизит
    // Новое_значение_реквизита — новое значение реквизита «Реквизит_для_корректировки»

    // или так: ДокументССылка=Документы.ТТН.НайтиПоНомеру(СокрЛП(Ном),Дата(‘2021-05-16’));

Если  Не ДокСсылка.Пустая() ТогдаДокОбъект=ДокСсылка.ПолучитьОбъект();
       
ДокОбъект.Реквизит_для_корректировки = Новое_значение_реквизита;
       
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);

        Попытка

ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
        Исключение
           
Сообщить(ОписаниеОшибки());
        КонецПопытки

    Иначе

Сообщить(Новое_значение_реквизита+» не записано в «+ДокСсылка+«! Документ не определен»);
    КонецЕсли

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


Изменение реквизит справочника при проведении документа в 1С

От:

tiamatinc

 
Дата:  27.05.06 11:08
Оценка:

Подскажите, пожалуйста каким образом можно выполнить данное действие, пытаюсь написать вот так

Процедура ОбработкаПроведения()
    СпрКаталог  = СоздатьОбъект("Справочник.Подмена");
    СпрКаталог.НайтиЭлемент(Тело);
    СпрКаталог.УстановитьАтрибут("Клиент",Клиент);    
КонецПроцедуры

Вроде всё работает, но последняя строка словно не выполняется , типы реквизитов совпадают.


Re: Изменение реквизит справочника при проведении документа

От:

dreamZ

 
Дата:  29.05.06 05:01
Оценка:

Думаю,вы не поставили галочку в реквизите справочника «Изменяется документами»… и еще,в док. существует функция УстановитьРеквизитСправочника(<ЭлементСправочника>,<НазваниеРеквизита>,<Значение>,<ДатаУстановки>,<ИмяТипа>,<Длина>,<Точность>)
может она вам больше поможет


Re: Изменение реквизит справочника при проведении документа

От:

dreamZ

 
Дата:  29.05.06 05:05
Оценка:

Здравствуйте, tiamatinc, Вы писали:

T>Подскажите, пожалуйста каким образом можно выполнить данное действие, пытаюсь написать вот так


T>

T>Процедура ОбработкаПроведения()
T>    СпрКаталог  = СоздатьОбъект("Справочник.Подмена");
T>    СпрКаталог.НайтиЭлемент(Тело);
T>    СпрКаталог.УстановитьАтрибут("Клиент",Клиент);    
T>КонецПроцедуры
T>



T>Вроде всё работает, но последняя строка словно не выполняется , типы реквизитов совпадают.

Думаю, у вас не стоит галочка в реквизите справочника «изменяеться документами»… так же есть фун. в док. УстановитьРеквизитСправочника(<ЭлементСправочника>,<НазваниеРеквизита>,<Значение>,<ДатаУстановки>,<ИмяТипа>,<Длина>,<Точность>)
может она вам поможет…


Re: Изменение реквизит справочника при проведении документа

От:

OLEGus1

Россия

 
Дата:  29.05.06 05:49
Оценка:

Здравствуйте, tiamatinc, Вы писали:

T>Подскажите, пожалуйста каким образом можно выполнить данное действие, пытаюсь написать вот так


T>

T>Процедура ОбработкаПроведения()
T>    СпрКаталог  = СоздатьОбъект("Справочник.Подмена");
T>    СпрКаталог.НайтиЭлемент(Тело);
T>    СпрКаталог.УстановитьАтрибут("Клиент",Клиент);    
T>КонецПроцедуры
T>



T>Вроде всё работает, но последняя строка словно не выполняется , типы реквизитов совпадают.

А что за переменная «Клиент»?

Crescite, nos qui vivimus, multiplicamini


Re: Изменение реквизит справочника при проведении документа

От:

Red Bird

Россия

 
Дата:  29.05.06 06:35
Оценка:

Здравствуйте, tiamatinc, Вы писали:
[skip]
T>Вроде всё работает, но последняя строка словно не выполняется , типы реквизитов совпадают.

Все проще!
1. Если реквизит «Клиент» непериодический, то нужно применить метод Записать:

Процедура ОбработкаПроведения()
    СпрКаталог  = СоздатьОбъект("Справочник.Подмена");
    СпрКаталог.НайтиЭлемент(Тело);
    СпрКаталог.УстановитьАтрибут("Клиент",Клиент);    
    СпрКаталог.Записать();
КонецПроцедуры

2. Если реквизит периодический, то тогда:

Процедура ОбработкаПроведения()
    УстановитьРеквизитСправочника(Тело,"Клиент",Клиент, ДатаДок);
КонецПроцедуры

P.S. 1-й вариант очень плохое решение, т.к. не рекомендуется изменять реквизит справочника при проведении документа
(возможно появление больших проблем /у пользователя/ при эексплуатации конфингурации).


Re[2]: Изменение реквизит справочника при проведении докумен

От:

tiamatinc

 
Дата:  29.05.06 11:27
Оценка:

Здравствуйте, Red Bird, Вы писали:

RB>P.S. 1-й вариант очень плохое решение, т.к. не рекомендуется изменять реквизит справочника при проведении документа

RB> (возможно появление больших проблем /у пользователя/ при эексплуатации конфингурации).

Большое спасибо, помогло . А по поводу плохого решения, то оно так и было задумано


Re[3]: Изменение реквизит справочника при проведении докумен

От:

Red Bird

Россия

 
Дата:  29.05.06 12:07
Оценка:

Здравствуйте, tiamatinc, Вы писали:

T>Здравствуйте, Red Bird, Вы писали:


RB>>P.S. 1-й вариант очень плохое решение, т.к. не рекомендуется изменять реквизит справочника при проведении документа

RB>> (возможно появление больших проблем /у пользователя/ при эексплуатации конфингурации).

T>Большое спасибо, помогло . А по поводу плохого решения, то оно так и было задумано

Тогда вы должны продумать, что будет когда пользователь сделает отмену проведения:

Процедура ОбработкаУдаленияПроведения()
    //Вернуть ИБ в состояние до проведния документа    
КонецПроцедуры

Подождите ...

Wait...

  • Переместить
  • Удалить
  • Выделить ветку

Пока на собственное сообщение не было ответов, его можно удалить.

Понравилась статья? Поделить с друзьями:
  • Абсолют банк воронцовское отделение часы работы
  • Акции китайских компаний автомобильных компаний
  • Автомагазины в первоуральске адреса часы работы
  • 1с как в запросе проверить заполнение реквизита
  • Абсолют банк долгопрудный часы работы отделений