|
Не получаются значения из временного хранилища | ☑ | ||
---|---|---|---|---|
0
ks-815
24.05.16
✎
13:09
|
Добрый день всем!
Я не очень в УФ, подскажите, пожалуйста такую задачу как решить: Есть документ с ТЧ Товары. ОНИ хотят, чтобы при изменении количества какого-либо товара все изменения записывались и потом в отчёт выводились сколько раз и на какое количество менялся товар. Я подумала,что можно при открытии формы документа запоминать во временное хранилище ТЧ товары, а его адрес - в реквизит формы. А потом при перепроведении сравнивать старую и новую ТЧ. Процедура ПриОткрытии(Отказ) АдресСтарТЧ = ЗапомнитьТЧ(); КонецПроцедуры &НаСервере Функция ЗапомнитьТЧ() ПоместитьВоВременноеХранилище(Объект.СтроительнаяСпецификация.Выгрузить(,"СтроительнаяНоменклатура,Количество"), Новый УникальныйИдентификатор()); Возврат УникальныйИдентификатор; КонецФункции &НаКлиенте Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) Адрес = Строка(АдресСтарТЧ); ТЗ = ПолучитьИзВременногоХранилища(Адрес); КонецПроцедуры Вообщем выходит ошибка: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища) ТЗ = ПолучитьИзВременногоХранилища(Адрес); по причине:Ошибка получения значения из временного хранилища |
|||
1
ks-815
24.05.16
✎
13:14
|
Я уже думала от безысходности создать реквизит объекта и в него записывать старую ТЧ. Но как-то не хочется такое делать.
|
|||
2
LordCMEPTb
24.05.16
✎
13:14
|
Ну поместилось во временное хранилище значение на долгое хранение (минут 20), ну вернула функция уникальный идентификатор формы. По этому идентификатору значение не достать. Тут скорее надо возвращать полученный адрес:
|
|||
3
Cyberhawk
24.05.16
✎
13:15
|
Что-то "потом в отчёт" и "при перепроведении сравнивать" не вяжется...
|
|||
4
Лефмихалыч
24.05.16
✎
13:15
|
(0) так надо при изменении количества записывать или при записи документа?
|
|||
5
Serg_1960
24.05.16
✎
13:18
|
Эпитафия на могиле программиста: "Они хотели." :)
(0) Включите версионирование документа (если оно есть в Вашей конфигурации). |
|||
6
ks-815
24.05.16
✎
13:18
|
(4) при записи документа записывать, если количество менялось. ну это я в регистр буду записывать. мне сначала надо сравнить таблицы,чтоб понять, менялось или нет.
|
|||
7
Новиков
24.05.16
✎
13:20
|
Из справки:
ПоместитьВоВременноеХранилище - Возвращаемое значение: Тип: Строка. Адрес во временном хранилище. У мадмуазели: Возврат УникальныйИдентификатор; ??? |
|||
8
Serg_1960
24.05.16
✎
13:20
|
+(5) И свой отчет (или внешнюю печатную форму документа) по регистру ВерсииОбъектов.
|
|||
9
singlych
24.05.16
✎
13:22
|
ТЧ в состоянии на момент открытия формы можно получить по ссылке в модуле документа в ПередЗаписью и передать в обработку проведения через ДополнительныеСвойства.
|
|||
10
ks-815
24.05.16
✎
13:42
|
Попробую в модуль объекта написать:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) Если НЕ ЭтоНовый() Тогда // сравню Ссылку и ЭтотОбъект ... |
|||
11
FIXXXL
24.05.16
✎
13:42
|
(6) сравни передЗаписью в ДокОбъект и в ДокСсылка
|
|||
12
sitex
naïve
24.05.16
✎
13:48
|
(6) Через год будете писать как почистить самолично созданный регистр версионирования , а того что база распухнет.
|
|||
13
ks-815
24.05.16
✎
13:56
|
(12) дак версионирование будет больше съедать места, чем мой маленький регистрик. Еще вдруг и затормозит всё из-за него..
|
|||
14
sitex
naïve
24.05.16
✎
14:00
|
(13) Смотря как "ОНИ" вашу тему потом разовьют и попросят по натыкать это куда попало, и этот маленький регистрик разовьется в большой - проходили уже, и не раз. Хотелки начинаются с малого.
|
|||
15
Лефмихалыч
24.05.16
✎
14:37
|
(6) в передЗаписью прочитай запросом табличную часть из БД и сравни с той, что в ЭтотОбъект.ТвояТабличнаяЧасть. Это можно даже одним запросом.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |