Имя: Пароль:
1C
1С v8
Не передает параметры
0 aguilar
 
26.03.13
22:59
Была обработка строка в процедуре,при надобности пришлось делать кнопку,которая делает то что в этой процедуре,но только по нажатию по нее. Не работает обработка построчного выбора строк,это первый массив

Процедура КоманднаяПанель2Действие9(Кнопка,Элемент, ВыбранноеЗначение,СтандартнаяОбработка) Экспорт
   ОбъектыПроката.Очистить();
 
 Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
               
     СтандартнаяОбработка = Ложь;
     Элемент.Значение = ВыбранноеЗначение.Документ;
       Таблица = ВыбранноеЗначение.Таблица;
       
         Для Каждого СтрокаТаблицы Из Таблица Цикл              
           Для н=1 По СтрокаТаблицы.Количество Цикл
                 
               НоваяСтрока = ОбъектыПроката.Добавить();
               НоваяСтрока.Носитель = СтрокаТаблицы.Носитель;
               НоваяСтрока.ПереченьОбъектаПроката = СтрокаТаблицы.ПереченьОбъектовПроката;
               НоваяСтрока.ПредельноДопустимоеКоличествоПередач = СтрокаТаблицы.ПереченьОбъектовПроката.ПредельноДопустимоеКоличествоПередачОбъектаВПрокат;
               НоваяСтрока.НачальноеКачествоОбъектаПроката = Перечисления.Качество.ОтличноеКачество;
               НоваяСтрока.Жанр = СтрокаТаблицы.ПереченьОбъектовПроката.ЖанрФильма;
               НоваяСтрока.ВозрастныеОграничения = СтрокаТаблицы.ПереченьОбъектовПроката.ВозрастныеОграничения;
               НоваяСтрока.ГодИзготовления = СтрокаТаблицы.ПереченьОбъектовПроката.ГодИзготовления;
               НоваяСтрока.СтранаИзготовитель = СтрокаТаблицы.ПереченьОбъектовПроката.СтранаИзготовления;
               НоваяСтрока.Длительность = СтрокаТаблицы.ПереченьОбъектовПроката.Длительность;
               НоваяСтрока.ЦенаЗаОдниСуткиВПрокат = СтрокаТаблицы.ПереченьОбъектовПроката.ЦенаЗаОдниСуткиВПрокат;
           КонецЦикла;
       КонецЦикла;
       ЭлементыФормы.ПоступлениеПроката.ТекущиеДанные.ЧастичноОприходован = Истина;                
                   
       Элемент.Значение = ВыбранноеЗначение.Документ;
   
   Иначе
       
       Для Каждого Тек Из ПоступлениеПроката  Цикл
           АП =  Тек.ПоступлениеДокумента.ОбъектыПроката;
              Для Каждого СтрокаТаблицы Из АП Цикл
            Для н=1 По СтрокаТаблицы.Количество Цикл
               НоваяСтрока = ОбъектыПроката.Добавить();
               НоваяСтрока.Носитель = СтрокаТаблицы.Носитель;
               НоваяСтрока.ПереченьОбъектаПроката = СтрокаТаблицы.ПереченьОбъектовПроката;
               НоваяСтрока.ПредельноДопустимоеКоличествоПередач = СтрокаТаблицы.ПереченьОбъектовПроката.ПредельноДопустимоеКоличествоПередачОбъектаВПрокат;
               НоваяСтрока.НачальноеКачествоОбъектаПроката = Перечисления.Качество.ОтличноеКачество;
               НоваяСтрока.Жанр = СтрокаТаблицы.ПереченьОбъектовПроката.ЖанрФильма;
               НоваяСтрока.ВозрастныеОграничения = СтрокаТаблицы.ПереченьОбъектовПроката.ВозрастныеОграничения;
               НоваяСтрока.ГодИзготовления = СтрокаТаблицы.ПереченьОбъектовПроката.ГодИзготовления;
               НоваяСтрока.СтранаИзготовитель = СтрокаТаблицы.ПереченьОбъектовПроката.СтранаИзготовления;
               НоваяСтрока.Длительность = СтрокаТаблицы.ПереченьОбъектовПроката.Длительность;
               НоваяСтрока.ЦенаЗаОдниСуткиВПрокат = СтрокаТаблицы.ПереченьОбъектовПроката.ЦенаЗаОдниСуткиВПрокат;
               
           КонецЦикла;                
           КонецЦикла;
       КонецЦикла;
           Если ЭлементыФормы.ПоступлениеПроката.ТекущаяСтрока = NULL Тогда
               Возврат;
           Иначе
               ЭлементыФормы.ПоступлениеПроката.ТекущиеДанные.ДанныеВТаблице = Истина;
           КонецЕсли;
           
               
           
   КонецЕсли;  
   
   
КонецПроцедуры



Процедура КнопкаВыполнитьНажатие(Кнопка,ДокументОбъект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
   
   Параметры = Новый Структура;
         Параметры.Вставить("Документ", ДокументСсылка);
       Параметры.Вставить("Таблица", ТабЧастьДокумента.Скопировать(Новый Структура("Пометка", Истина)));
       
   ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
   ДокументОбъект.ОбъектыПроката.Загрузить(ТабЧастьДокумента);
   ДокументОбъект.Записать();
   
   ОповеститьОВыборе(Параметры);
   
   МассивСтрок = ТабЧастьДокумента.НайтиСтроки(Новый Структура("Пометка", Истина));
   Если МассивСтрок.Количество() = ТабЧастьДокумента.Количество() Тогда
       оДок = ДокументСсылка.ПолучитьОбъект();
       оДок.Оприходован = Истина;
       оДок.ЧастичноОприходован = Ложь;
       оДок.Записать();
   Иначе
       вДок = ДокументСсылка.ПолучитьОбъект();
       вДок.ЧастичноОприходован = Истина;
       вДок.Записать();
   КонецЕсли;
КонецПроцедуры



Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
       
   ТабЧастьДокумента = ДокументСсылка.ОбъектыПроката.Выгрузить();
       
   ЭлементыФормы.ТабЧастьДокумента.СоздатьКолонки();
   
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.Данные = "Пометка";
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.ДанныеФлажка = "Пометка";
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Носитель.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.ПереченьОбъектовПроката.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Количество.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Цена.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Сумма.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.НомерСтроки.ЭлементУправления.Доступность = Ложь;


КонецПроцедуры

   

Процедура ПриОткрытии()
       оДок = ДокументСсылка.ПолучитьОбъект();
       
       Если оДок.ЧастичноОприходован = Ложь И оДок.Оприходован = Ложь Тогда
           Для Каждого Стр Из ТабЧастьДокумента Цикл
               Стр.Пометка = Ложь;    
           КонецЦикла;
       КонецЕсли;
КонецПроцедуры



Второй код,это код обработки,построчно,который доджен передать в этот массив
1 Лефмихалыч
 
26.03.13
23:13
на вот тебе, расставь, где надо
,,,,,-:
2 aguilar
 
26.03.13
23:16
Процедура КоманднаяПанель2Действие9(Кнопка,Элемент, ВыбранноеЗначение,СтандартнаяОбработка) Экспорт
   ОбъектыПроката.Очистить();
 
 Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
                 
     СтандартнаяОбработка = Ложь;
     Элемент.Значение = ВыбранноеЗначение.Документ;
       Таблица = ВыбранноеЗначение.Таблица;
       
         Для Каждого СтрокаТаблицы Из Таблица Цикл              
           Для н=1 По СтрокаТаблицы.Количество Цикл
                 
               НоваяСтрока = ОбъектыПроката.Добавить();
               НоваяСтрока.Носитель = СтрокаТаблицы.Носитель;
               НоваяСтрока.ПереченьОбъектаПроката = СтрокаТаблицы.ПереченьОбъектовПроката;
               НоваяСтрока.ПредельноДопустимоеКоличествоПередач = СтрокаТаблицы.ПереченьОбъектовПроката.ПредельноДопустимоеКоличествоПередачОбъектаВПрокат;
               НоваяСтрока.НачальноеКачествоОбъектаПроката = Перечисления.Качество.ОтличноеКачество;
               НоваяСтрока.Жанр = СтрокаТаблицы.ПереченьОбъектовПроката.ЖанрФильма;
               НоваяСтрока.ВозрастныеОграничения = СтрокаТаблицы.ПереченьОбъектовПроката.ВозрастныеОграничения;
               НоваяСтрока.ГодИзготовления = СтрокаТаблицы.ПереченьОбъектовПроката.ГодИзготовления;
               НоваяСтрока.СтранаИзготовитель = СтрокаТаблицы.ПереченьОбъектовПроката.СтранаИзготовления;
               НоваяСтрока.Длительность = СтрокаТаблицы.ПереченьОбъектовПроката.Длительность;
               НоваяСтрока.ЦенаЗаОдниСуткиВПрокат = СтрокаТаблицы.ПереченьОбъектовПроката.ЦенаЗаОдниСуткиВПрокат;
           КонецЦикла;
       КонецЦикла;
       ЭлементыФормы.ПоступлениеПроката.ТекущиеДанные.ЧастичноОприходован = Истина;                
                   
       Элемент.Значение = ВыбранноеЗначение.Документ;
   
   Иначе
       
       Для Каждого Тек Из ПоступлениеПроката  Цикл
           АП =  Тек.ПоступлениеДокумента.ОбъектыПроката;
              Для Каждого СтрокаТаблицы Из АП Цикл
            Для н=1 По СтрокаТаблицы.Количество Цикл
               НоваяСтрока = ОбъектыПроката.Добавить();
               НоваяСтрока.Носитель = СтрокаТаблицы.Носитель;
               НоваяСтрока.ПереченьОбъектаПроката = СтрокаТаблицы.ПереченьОбъектовПроката;
               НоваяСтрока.ПредельноДопустимоеКоличествоПередач = СтрокаТаблицы.ПереченьОбъектовПроката.ПредельноДопустимоеКоличествоПередачОбъектаВПрокат;
               НоваяСтрока.НачальноеКачествоОбъектаПроката = Перечисления.Качество.ОтличноеКачество;
               НоваяСтрока.Жанр = СтрокаТаблицы.ПереченьОбъектовПроката.ЖанрФильма;
               НоваяСтрока.ВозрастныеОграничения = СтрокаТаблицы.ПереченьОбъектовПроката.ВозрастныеОграничения;
               НоваяСтрока.ГодИзготовления = СтрокаТаблицы.ПереченьОбъектовПроката.ГодИзготовления;
               НоваяСтрока.СтранаИзготовитель = СтрокаТаблицы.ПереченьОбъектовПроката.СтранаИзготовления;
               НоваяСтрока.Длительность = СтрокаТаблицы.ПереченьОбъектовПроката.Длительность;
               НоваяСтрока.ЦенаЗаОдниСуткиВПрокат = СтрокаТаблицы.ПереченьОбъектовПроката.ЦенаЗаОдниСуткиВПрокат;
               
           КонецЦикла;                
           КонецЦикла;
       КонецЦикла;
           Если ЭлементыФормы.ПоступлениеПроката.ТекущаяСтрока = NULL Тогда
               Возврат;
           Иначе
               ЭлементыФормы.ПоступлениеПроката.ТекущиеДанные.ДанныеВТаблице = Истина;
           КонецЕсли;
           
                 
           
   КонецЕсли;  
   
   
КонецПроцедуры

обработка строк(кнопка)
3 aguilar
 
26.03.13
23:17
Процедура КнопкаВыполнитьНажатие(Кнопка,ДокументОбъект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
   
   Параметры = Новый Структура;
         Параметры.Вставить("Документ", ДокументСсылка);
       Параметры.Вставить("Таблица", ТабЧастьДокумента.Скопировать(Новый Структура("Пометка", Истина)));
       
   ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
   ДокументОбъект.ОбъектыПроката.Загрузить(ТабЧастьДокумента);
   ДокументОбъект.Записать();
   
   ОповеститьОВыборе(Параметры);
   
   МассивСтрок = ТабЧастьДокумента.НайтиСтроки(Новый Структура("Пометка", Истина));
   Если МассивСтрок.Количество() = ТабЧастьДокумента.Количество() Тогда
        оДок = ДокументСсылка.ПолучитьОбъект();
       оДок.Оприходован = Истина;
       оДок.ЧастичноОприходован = Ложь;
       оДок.Записать();
   Иначе
       вДок = ДокументСсылка.ПолучитьОбъект();
       вДок.ЧастичноОприходован = Истина;
       вДок.Записать();
   КонецЕсли;
КонецПроцедуры



Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
       
   ТабЧастьДокумента = ДокументСсылка.ОбъектыПроката.Выгрузить();
       
   ЭлементыФормы.ТабЧастьДокумента.СоздатьКолонки();
   
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.Данные = "Пометка";
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.ДанныеФлажка = "Пометка";
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Пометка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Носитель.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.ПереченьОбъектовПроката.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Количество.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Цена.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.Сумма.ЭлементУправления.Доступность = Ложь;
   ЭлементыФормы.ТабЧастьДокумента.Колонки.НомерСтроки.ЭлементУправления.Доступность = Ложь;


КонецПроцедуры

   

Процедура ПриОткрытии()
        оДок = ДокументСсылка.ПолучитьОбъект();
       
       Если оДок.ЧастичноОприходован = Ложь И оДок.Оприходован = Ложь Тогда
           Для Каждого Стр Из ТабЧастьДокумента Цикл
               Стр.Пометка = Ложь;    
           КонецЦикла;
       КонецЕсли;
КонецПроцедуры

код обработки
4 Живой Ископаемый
 
26.03.13
23:18
отличные новости ящетаю
5 Лефмихалыч
 
26.03.13
23:19
автор, осьминог, говорят, от испугу чернильные пятна выпускает, а ты, я погляжу, непроглядные облака вессмысленного кода извергаешь, надеясь в получившихся дебрях не то скрыться, не то навести некую иллюзию осмысленности
6 aguilar
 
26.03.13
23:25
7 aguilar
 
26.03.13
23:26
(5) просто сюда скриншоты не выложить,а тут без скриншотов осмыслить мою проблему сложно
8 Лефмихалыч
 
26.03.13
23:27
на ИС не пойду и не уговаривай. Хочешь помощи, напряги извилины и сформулируй вопрос
9 aguilar
 
26.03.13
23:32
(8) Была процедура по обработке строк,при добавлении в таб.часть,авто записывались. Решил сделать по нажатию на кнопку и сейчас пишет ошибку на
Таблица = ВыбранноеЗначение.Таблица;
Значение не является значением объектного типа (Таблица)
10 Лефмихалыч
 
26.03.13
23:36
(9) захватывающий сюжет. Когда экранизация?
11 zladenuw
 
26.03.13
23:39
(9) а в отладчике глянуть ? небось выбранное значение  - это текущий элемент твоей таблицы.
12 aguilar
 
26.03.13
23:46
(10) (10) Я в 1с разбираюсь не больше месяца,острить любой может,а помочь начинающему никто.
Так что,бери берёзу и уходи)
13 aguilar
 
26.03.13
23:46
(11) Спасибо,сейчас посмотрю.
14 Живой Ископаемый
 
26.03.13
23:46
2(7) еще скажи что скриншоты не вставить в сотни разных размещалок от дропбокса до джинга, а сюда не вставить ссылку на них.. И мы поверим, ага
15 Живой Ископаемый
 
26.03.13
23:47
2(12) в чем помочь начинающему? денег переслать чтобы на них книжку купил?
16 aguilar
 
26.03.13
23:48
(14) Я скинул ссылку на скриншоты,в чем вопрос? Или у вас ночные кошмары к ИС?
17 aguilar
 
26.03.13
23:49
(15) Обычная помощь,просто подсказать куда смотреть,я еще и 10% не знаю о этой программе,изучаю практикуясь.
18 Живой Ископаемый
 
26.03.13
23:52
что такое обычная помощь? в чем нужно помочь?
19 aguilar
 
26.03.13
23:52
(15) Любые знания хороши ,но все закрепляется на практике,пока руками сам не сделаешь. Книжки?,можешь переслать деньги ,я не против.Читал и не одну,сразу все не запомнишь,пока руками не поделаешь,это должно быть знакомо каждому.
А просто указать новичку в какую сторону смотреть,это очень сложно,согласен :)
20 Живой Ископаемый
 
26.03.13
23:54
смотреть нужно сначала налево, потом направо. но это только в том случае, если живешь не в японии, англии, таиланде, австралии или новой зеландии и юар. Может еще где-то.
21 aguilar
 
26.03.13
23:54
(18) Посмотри 11 сообщения, вот это помощь.
22 Живой Ископаемый
 
26.03.13
23:55
то есть уже помогли, но ты все равно постить не перестанешь? так и думал
23 aguilar
 
26.03.13
23:56
(20) Все верно,смотрю на лево - вижу ваш ник,смотрю на право - вижу бессмысленно сообщения. Спасибо за помощь!
24 aguilar
 
26.03.13
23:56
(22) Я уже закончил,до свидания.
25 shlyahtich
 
26.03.13
23:58
скока буковок... я тащусь сам с собой поговорил и ушел...ъ
26 Лефмихалыч
 
26.03.13
23:58
http://www.mikanyyssola.fi/wp-content/uploads/2013/03/Noooo.jpg
подожди! не уходи! а как же мы?!?!!111
27 shlyahtich
 
26.03.13
23:59
(26) гы