Имя: Пароль:
1C
1C 7.7
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) За основу был взят документ ОприходованиеИзлишков из украинской ТиС. Эта ошибка в ней - с самого первого релиза.
Посмотрел российскую - в ней сделано через запрос.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан