helpf.pro
Регистрация

v8.2 УП: УТ 1С81 Как найти связанный документ

sergeyks
22.01.2012 19:19Прочитано: 4775
Добрый вечер!!!
УТ 1С8
Необходимо при проведении документа реализация товаров и услуг
найти связанный документ расходный ордер на товары и устанавить
дату равной дате проводимого документа и перепровести расходный
ордер на товары.

Как найти связанный документ Расходный ордер на товары.

Документ Расходный ордер на товары введен на основании
документа Реализация товаров и услуг.
Изменено 24.01.12 19:28:15
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
24.01.2012 11:10Ответ № 1
(0) sergeyks, а по какому признаку они связаны?
ad82117
25.01.2012 13:28Ответ № 2
Код 1C v 8.2 УП
 
&НаСервере
Процедура ПровестиДокументыНаСервере()
ВыборкаДокументов = Документы.РеализацияТоваровУслуг.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
Пока ВыборкаДокументов.Следующий() Цикл
ДокР = ВыборкаДокументов.Ссылка.ПолучитьОбъект();//получаем реализацию как объект
Если ПустаяСтрока(ДокР.ЗаказКлиента) = Ложь Тогда//если есть документ основание
ДокЗ = ДокР.ЗаказКлиента.Ссылка.ПолучитьОбъект();//получаем заказ как объект
//1. проверим даты
Если Формат(ДокР.Дата, "ДЛФ=Д") <> Формат(ДокЗ.Дата, "ДЛФ=Д") Тогда//если именно даты не равны
Сообщить("Дата до изменения"+Символ(10)+ДокЗ+Символ(10)+" ---> "+Символ(10)+ДокР);//сообщаем
ДокЗ.Дата = НачалоДня(ДокР.Дата);//устанавливаем дату ДокЗ как у ДокР
//добавляем в комментарий отчёт о выполенных действиях
ДокЗ.Комментарий = ""+СокрЛП(ДокЗ.Комментарий) + Символ(10)+
"//***"+Символ(10)+
"Обработкой изменена дата по реализации в начало дня"+Символ(10)+
"";
ДокЗ.Записать(РежимЗаписиДокумента.Запись);//Записываем ДокЗ
Сообщить("Дата после изменения"+Символ(10)+ДокЗ+Символ(10)+" ---> "+Символ(10)+ДокР);//сообщаем
//2. проверим время
Если Формат(ДокР.Дата, "ДЛФ=В") = Формат(ДокЗ.Дата, "ДЛФ=В") тогда //если они оба в начале дня, у докР меняем время на +1 секунду
Сообщить("Время до изменения"+Символ(10)+ДокЗ+Символ(10)+" ---> "+Символ(10)+ДокР);//сообщаем
ДокР.Дата = ДокР.Дата + 1;//добавили секунду к дате реализации
//добавляем в комментарий отчёт о выполенных действиях
ДокР.Комментарий = ""+СокрЛП(ДокР.Комментарий) + Символ(10)+
"//***"+Символ(10)+"Обработкой изменено время на 1 секунду"+Символ(10)+"";
ДокР.Записать(РежимЗаписиДокумента.Запись);//Записываем ДокЗ
Сообщить("Время после изменения"+Символ(10)+ДокЗ+Символ(10)+" ---> "+Символ(10)+ДокР);//сообщаем
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла
КонецПроцедуры

Изменено 26.01.12 11:10:23 по причине: Разукрасил код
sergeyks
26.01.2012 04:52Ответ № 3
Спасибо!!!
Жаль, что поздно ответили.
Уже сделал самостоятельно.
Очень грамотно написано, благодарю.
ad82117
27.01.2012 13:46Ответ № 4
Вопрос закрыт!
Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.