|
v7: Документ с заполнением из документа-основания. |
☑ |
0
vadim777
15.09.16
✎
14:53
|
Акт оприходования излишков заполняется на основании Акта инвентаризации.
Акт оприходования открыт.
Меняем что-то в Акте инвентаризации, закрываем его.
В Акте оприходования жмем заполнить - и ничего.
Даже перевыбор документа-основания не помогает.
Нужно закрыть и снова открыть Акт оприходования, только тогда его можно перезаполнить.
Почему?
|
|
1
Ёпрст
гуру
15.09.16
✎
14:54
|
(0) добрый дядюшка пофигуратор расскажет
|
|
2
vadim777
15.09.16
✎
14:55
|
(0) Вру, при перевыборе основания - перезаполняет.
|
|
3
vadim777
15.09.16
✎
14:58
|
Текст процедуры Заполнить:
Процедура Заполнить()
Если ДокументОснование.Выбран() = 0 Тогда
Предупреждение("Не выбран документ-основание");
Возврат;
КонецЕсли;
УдалитьСтроки();
ДокОснование = ДокументОснование;
ДокОснование.ВыбратьСтроки();
Пока ДокОснование.ПолучитьСтроку()=1 Цикл
Если (ДокОснование.Количество > 0) И (ДокОснование.Количество < ДокОснование.ИнвКоличество) Тогда
НоваяСтрока();
Номенклатура=ДокОснование.Номенклатура;
Размер = ДокОснование.Размер;
Количество=ДокОснование.ИнвКоличество-ДокОснование.Количество;
ЦенаПродажи = ДокОснование.ЦенаПродажи;
Размер = ДокОснование.Размер;
Стоимость = ЦенаПродажи * Количество;
// Общие реквизиты
ОбщаяСумма = Стоимость;
ПродажнаяСумма = Стоимость;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
|
|
4
vadim777
15.09.16
✎
15:02
|
Хм, заменил строку
ДокОснование = ДокументОснование;
на
ДокОснование = ДокументОснование.ТекущийДокумент();
- заработало как надо.
Благодарю всех участников.
|
|
5
trdm
15.09.16
✎
15:40
|
(0) > Почему?
Кеширование переменных в памяти 1С на определенное время.
А в переменных сидят объекты.
В 8-ке та же самая херня, однако там рекомендация спасает: выбирать данные запросом, что-бы была актуальными.
|
|
6
vadim777
15.09.16
✎
18:54
|
(5) За основу был взят документ ОприходованиеИзлишков из украинской ТиС. Эта ошибка в ней - с самого первого релиза.
Посмотрел российскую - в ней сделано через запрос.
|
|