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

Добрый день. В документе ПоступлениеКниги, при проведении, нужно прописать кусок кода который будет менять реквизит справочника Книга (реквизит Состояние).

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

Автор Gendelf, 18 ноя 2013, 17:27

0 Пользователей и 1 гость просматривают эту тему.

Добрый день. В документе ПоступлениеКниги, при проведении, нужно прописать кусок кода который будет менять реквизит  справочника Книга (реквизит Состояние). Проблеммы с сылкой к реквизиту справочника… как до него добраться, я не знаю.
Вот что получилось, конечно же не работает.
PS ТЧКнига — табчасть документа, в ней реквизит Книга с ссылкой к справочнику Книга.

//Смена состояния книги

        Для каждого СтрокаТЧ Из ТЧКнига Цикл

                ТЧКнига.Книга.Состояние = Перечисления.СостояниеКниги.ВНаличии;

            КонецЦикла;

Логика приведёт вас от А к В. Воображение доставит вас куда угодно.
Сайт про аквариум, аквариумные рыбки и аквариумные растения http://myaquainfo.ru/


  СтрокаТЧ.Книга.Состояние = Перечисления.СостояниеКниги.ВНаличии;


Логика приведёт вас от А к В. Воображение доставит вас куда угодно.
Сайт про аквариум, аквариумные рыбки и аквариумные растения http://myaquainfo.ru/


//Смена состояния книги

        Для каждого СтрокаТЧ Из ТЧКнига Цикл

                Если ЗначениеЗаполнено(ТЧКнига.Книга)
        СпрОбъект = ТЧКнига.Книга.ПолучитьОбъект();
        СпрОбъект.Состояние = Перечисления.СостояниеКниги.ВНаличии;
        СпрОбъект.Записать();

            КонецЦикла;


При

Для каждого СтрокаТЧ Из ТЧКнига Цикл

                Если ЗначениеЗаполнено(ТЧКнига.Книга) Тогда
        СпрОбъект = ТЧКнига.Книга.ПолучитьОбъект();
        СпрОбъект.Состояние = Перечисления.СостояниеКниги.ВНаличии;
        СпрОбъект.Записать();
    КонецЕсли;
    КонецЦикла;

Поле объекта не обнаружено (Книга)
ругается на Если….

Логика приведёт вас от А к В. Воображение доставит вас куда угодно.
Сайт про аквариум, аквариумные рыбки и аквариумные растения http://myaquainfo.ru/


Найди его в справочнике и сделай следующее


//Начало твоего цикла
//то, что ты написал
ТекущаяКнига = ТЧКнига.Книга.Ссылка; //получил ссылку на объект
ТекущаяКнига.Состояние = Перечисления.СостояниеКниги.ВНаличии;// присвоил значение реквизиту
ТекущаяКнига.Записать(); // записал элемент
//конецтвоего цикла

Добавлено: 18 ноя 2013, 17:38


Цитата: Gendelf от 18 ноя 2013, 17:34
При
Для каждого СтрокаТЧ Из ТЧКнига Цикл

                Если ЗначениеЗаполнено(ТЧКнига.Книга) Тогда
        СпрОбъект = ТЧКнига.Книга.ПолучитьОбъект();
        СпрОбъект.Состояние = Перечисления.СостояниеКниги.ВНаличии;
        СпрОбъект.Записать();
    КонецЕсли;
    КонецЦикла;

Поле объекта не обнаружено (Книга)
ругается на Если….

А с чего ты или точнее как ты собираешь ТЧКнигу?

Правильно ведите учет или пишите программы и вам воздастся!…

(Кстати — кнопочку Сказать Спасибо — никто не отменял)


Прошу прощения ступил

//Смена состояния книги

        Для каждого СтрокаТЧ Из ТЧКнига Цикл

                Если ЗначениеЗаполнено(СтрокаТЧ.Книга) Тогда
            СпрОбъект = СтрокаТЧ.Книга.ПолучитьОбъект();
            СпрОбъект.Состояние = Перечисления.СостояниеКниги.ВНаличии;
            СпрОбъект.Записать();
        КонецЕсли;

    КонецЦикла;


//Начало твоего цикла
//то, что ты написал
ТекущаяКнига = СтрокаТЧ.Книга.Ссылка; //получил ссылку на объект // и я ступил — понедельник день тяжелый!!
ТекущаяКнига.Состояние = Перечисления.СостояниеКниги.ВНаличии;// присвоил значение реквизиту
ТекущаяКнига.Записать(); // записал элемент
//конецтвоего цикла

Правильно ведите учет или пишите программы и вам воздастся!…

(Кстати — кнопочку Сказать Спасибо — никто не отменял)


ребят, вы меня запутали… как должен выглядить код?

Добавлено: 18 ноя 2013, 18:12


Для каждого СтрокаТЧ Из ТЧКнига Цикл
    Если ЗначениеЗаполнено(ТЧКнига.Книга) Тогда
    ТекущаяКнига = СтрокаТЧ.Книга.Ссылка; //получил ссылку на объект // и я ступил - понедельник день тяжелый!!
    ТекущаяКнига.Состояние = Перечисления.СостояниеКниги.ВНаличии;// присвоил значение реквизиту
    ТекущаяКнига.Записать(); // записал элемент
    КонецЕсли;
КонецЦикла;

так вроде?

Добавлено: 18 ноя 2013, 18:15


Поле объекта не обнаружено (Книга)
на 2 строке…
ужас, как сложно то.

Логика приведёт вас от А к В. Воображение доставит вас куда угодно.
Сайт про аквариум, аквариумные рыбки и аквариумные растения http://myaquainfo.ru/



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

Я
   AlexRu2015

11.05.21 — 13:08

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

Спасибо

   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) переходят с одних веществ на другие — вот реквизиты и плывут…

0 / 0 / 0

Регистрация: 13.11.2016

Сообщений: 23

1

1C 8.x (тонкий)

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

15.11.2016, 18:48. Показов 4885. Ответов 2


Доброго времени суток! Прошу помочь, нужно изменить реквизиты элементов справочника «ОбъектыПроката» при проведении документа «ОприходываниеОбъектаПроката». Знаю что такой подход не приветствуется, но все же. У меня уже есть объекты проката в справочнике созданные в документе «ПоступлениеОбъектаПроката», а в документе «ОприходываниеОбъектаПроката» нужно дать каждому объекту инвентарный номер и другие характеристики. Вот задание:
На предприятии выполняются следующие бизнес процессы по учету объектов проката:
1. Поступление объекта проката на склад (точку проката) предприятия. Указывается номер документа поступления, дата документа поступления, контрагент – поставщик, договор контрагента – поставщика, склад (точка проката), перечень объектов проката, носитель, количество, цена, сумма. Документ должен выполнять движения с видом «приход» по регистрам накопления «ОстаткиОбъектовПрокатаПредприятия», «ВзаиморасчетыСКонтрагентами».
2. Оприходование объекта проката. На данной операции поступившему объекту проката присваивается инвентарный номер, определяется начальное качество объекта проката, задаются характеристики объекта проката (жанр, страна изготовитель, год изготовления, возрастные ограничения, предельно допустимое количество передач объекта в прокат). Документ должен записать значения в соответствующие реквизиты указанных в документе объектов проката.

пробовал так:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
Процедура ОбработкаПроведения(Отказ, Режим)
    
    Для Каждого ТекСтрокаХарактиристикиОбъекта Из ХарактиристикиОбъекта Цикл
        Оприходывание = Справочники.ОбъектПроката.ПолучитьОбъект(); 
        Оприходывание.ИнвентарныйНомер = ТекСтрокаХарактиристикиОбъекта.ИнвентарныйНомер;
                Оприходывание.Фильм = ТекСтрокаХарактиристикиОбъекта.Фильм;
        Оприходывание.Качество = ТекСтрокаХарактиристикиОбъекта.Качество;
        Оприходывание.ЦенаЗаСутки =ТекСтрокаХарактиристикиОбъекта.Цена;
        Оприходывание.КоличествоПередачВПрокат = ТекСтрокаХарактиристикиОбъекта.КоличествоПередачВПрокат;
                Оприходывание.Записать();
        КонецЦикла;
 
КонецПроцедуры

Но выдает ошибку, метод ПолучитьОбъект() не обнаружен

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0




Изменение реквизит справочника при проведении документа в 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...

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

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

Понравилась статья? Поделить с друзьями:
  • Как при помощи мыслей изменить жизнь
  • Как при помощи макияжа исправить нос
  • Как при печатании изменить направление текста
  • Как при озвучке изменить голос
  • Как при нажатии на один элемент изменить другой css