Вход | Регистрация

Форумы на Кубань.Ру


1С:Предприятие ::

Метки: 

обращение из одного подчиненного к другому

Ø
Я
  
13.02.01 - 14:12
есть обший документ основание
Не получается обратиться от одного подчиненого к другому
Процедура СписаниеМатериаловПоАкту()
    Если ДокОсн.Вид() = "Акт" Тогда// Если текущий документ сформировн из акта услуг
		Док = СоздатьОбъект("Документ.Акт");
			Док.НайтиДокумент(ДокОсн);//найти конкретный документ основание
				Док.ВыбратьПодчиненныеДокументы(,ДатаДок,ДокОсн);//выбрать все подчиненные ему документы			
					Пока Док.ПолучитьДокумент() = 1 Цикл
						Если Док.Вид() = "АктСписания" Тогда// если нашли подчиненный акт списания
							Сообщить("УРА !!!!!!!!!");
						КонецЕсли;
					КонецЦикла;
	КонецЕсли;
КонецПроцедуры
 
  Рекламное место пустует
   Журавлик
1 - 13.02.01 - 14:37
Ну? Это вопрос или утверждение?
   Журавлик
2 - 13.02.01 - 14:39
А "Акт" и "АктСписания" - это два разных типа документа?
   es
3 - 13.02.01 - 14:39
По-моему здесь не хватает:
ПодчДок=СоздатьОбъект("Документ");
и должно быть
ПодчДок.ВыбратьПодчиненныеДокументы(ДокОсн.ДатаДок,РабочаяДата(),ДокОсн);
и далее
Если ПодчДок.Вид()="АктСписания" тогда//УРА
   ВС
4 - 13.02.01 - 16:46
Есть документ АКТ
из него открываются в разное время два других документа:
-Акт списания
-Реализация
т.е. они подчиненные просто АКТу
надо чтобы в при открытии реализации можно было обратиться к некоторым данным в АКТЕ СПИСАНИЯ...
   Журавлик
5 - 13.02.01 - 16:56
Тогда читай (3).
   Пудель
6 - 13.02.01 - 17:02
Детский сад.
Док = СоздатьОбъект("Документ.Акт"); ...
Док.НайтиДокумент(ДокОсн);
Док.ВыбратьПодчиненныеДокументы(,ДатаДок,ДокОсн); ...
Если Док.Вид() = "АктСписания"
Вы вообще понимаете, чего пишете?
   ВС
7 - 13.02.01 - 22:44
к Пудель
а че ругаешься...
не хочешь помогать, то и не пиши и не читай...
если б я все знал и понимал то и не спрашивал бы,
но я не выпендриваюсь и честно прошу помощи...
   Homa
8 - 13.02.01 - 23:46
Процедура СписаниеМатериаловПоАкту()
	ДокОснова = СоздатьОбъект("Документ");	
	ДокПодчиненный = СоздатьОбъект("Документ");	
	Если ДокОсн.Вид() = "Акт" Тогда
		Если ДокОснова.НайтиДокумент(ДокОсн) = 1 Тогда
			Если ДокПодчиненный.ВыбратьПодчиненныеДокументы('01.01.01', ДатаДок, ДокОснова.ТекущийДокумент()) = 1 Тогда
				Пока ДокПодчиненный.ПолучитьДокумент() = 1 Цикл
					Если ДокПодчиненный.Вид() = "АктСписания" Тогда
						Сообщить("УРА !!!!!!!!!, так негормоко.");
					КонецЕсли;
				КонецЦикла;
			Иначе
				Предупреждение("Нет документов, странно!!!");
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры//СписаниеМатериаловПоАкту
   ВС
9 - 14.02.01 - 15:15
Сделал все по 8 - ОК!
Создал реквизит АктСпис
присвоил ему найденное значение.
и вот вторая часть:
-в модуле документа проводятся проводки
 на основании многострочной части ТЕКУЩЕГО документа..
		-тут проблем нет-
-кроме того надо сделать проводки на основании
 многострочной части вот ТОГО документа который мы НАШЛИ
 в форме документа....
Вопрос: как бы в память или еше куда загрузить многострочную
	часть найденного документа и по ней тоже сделать перебор
для формирования проводок?
   Пудель
10 - 14.02.01 - 15:24
ВС: Извините, сорвалось. У документов есть метод ВыгрузитьТабличнуюЧасть или что-то такое. А ещё никто не мешает выбрать и получать строки ТОГО документа, типа Док.ВыбратьСтроки(), Пока Док.ПолучитьСтроку()=1 ...
 
  Рекламное место пустует
   ВС
11 - 14.02.01 - 17:35
Для того чтобы выгрузить табличную часть вероятно нужно ТОТ документ открыть сначала... а потом наверно куда то загрузить надо?
а куда? у нашего документа и своя есть табличная часть...
а Док.ВыбратьСтроки........ он начинает перебирать свою табличную часть,
(это надо само-сабой) а надо чтоб еще и ту ....где то, как то...
   gosha
12 - 14.02.01 - 19:29
хм...
НашелБратуху=0;
ИщуБратуху=ТекущийДокумент();
ДокБратуха=СоздатьОбъект("Документ");
ДокПапа=СоздатьОбъект("Документ");
ДокПапа.НайтиДокумент(ИщуБратуху.ДокОсн)//Если конечно в нем есть такой реквизит с типом "Документ" ;))
Если ДокБратуха.ВыбратьПодчиненныеДокументы(,,ДокПапа.ТекущийДокумент())=1 Тогда
 Пока ДокБратуха.ПолучитьДокумент()=1 Цикл
   Если ДокБратуха.Вид()="АктСписания" Тогда
     НашелБратуху=1; Прервать;
   КонецЕсли;
  КонецЦикла;
КонецЕсли;
Если НашелБратуху=1 Тогда
  ЭтоМойБрат=Братуха.ТекущийДокумент;
  ЭтоМойБратуха.ВыбратьСтроки();
  Пока ЭтоМойБратуха.ПолучитьСтроку()=1 Цикл
     ПеределатьПоБратухинойСтроке(ЭтоМойБратуха, ИщуБратуху);
  КонецЦикла;
Иначе
  Вопрос("Ну нет братухи... буду помирать с голодухи... (((((","Да");
КонецЕсли;



Список тем форума

Форум Территория 1С

 
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует