Имя: Пароль:
1C
1С v8
Почему не работает? ☑
0 alex28511
 
02.11.12
✎
15:32
Здравствуйте. Пожалуста помогите новичку решить такую задачку:
Есть документ с 2-мя табличными частями, нужно запретить проводку если наименования в этих табличных частях не совпадают.
Я попробывал сделать таким способом:
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)  

   массивА=новый массив();
     массивБ=новый массив();
     
     КолСтраА=Объект.ТоварыА.Количество();    
   
       Для а=0 По КолСтраА-1 Цикл
   
   СтрокаА=Элементы.ТоварыА.ДанныеСтроки(а);
       массивА.Добавить(СтрокаА.наименование);
       
   КонецЦикла;
   
   
   КолСтраБ=Объект.ТоварыБ.Количество();
   
   Для Б=0 По КолСтраБ-1 Цикл
   
   СтрокаБ=Элементы.ТоварыБ.ДанныеСтроки(Б);
       массивБ.Добавить(СтрокаБ.наименование);
       
   КонецЦикла;    
   
   Т=Новый СписокЗначений;
Т.ЗагрузитьЗначения(массивА);
Т.СортироватьПоЗначению(НаправлениеСортировки.Возр);
массивА.Очистить();
массивА=Т.ВыгрузитьЗначения();




     М=Новый СписокЗначений;
М.ЗагрузитьЗначения(массивБ);
М.СортироватьПоЗначению(НаправлениеСортировки.Возр);
массивБ.Очистить();
массивБ=М.ВыгрузитьЗначения();


   
   
   
   ЭлементовМассива = массивА.Количество();
   МассивыСовпадают = (ЭлементовМассива = массивБ.Количество());
     
   Если МассивыСовпадают Тогда
       Для Сч = 1 По ЭлементовМассива Цикл
           Если массивА[Сч-1] <> массивБ[Сч-1] Тогда
               МассивыСовпадают= Ложь
           КонецЕсли;
       КонецЦикла;        
   КонецЕсли;
   
   если не МассивыСовпадают тогда
               Сообщить("строки не совпадают");
   Записать(РежимЗаписиДокумента.ОтменаПроведения)  иначе Записать(РежимЗаписиДокумента.Проведение)
   КонецЕсли;
   
       
           если    МассивыСовпадают=Ложь тогда Сообщить("Несовпадение таблиц")          
         
         КонецЕсли;
   
   
   
   КонецПроцедуры

Но система выдаёт ошибку: {Документ.ПТУ.Форма.ФормаДокумента.Форма(131)}: Ошибка при вызове метода контекста (Записать)
   Записать(РежимЗаписиДокумента.ОтменаПроведения)  иначе Записать(РежимЗаписиДокумента.Проведение)
по причине:
Несоответствие типов (параметр номер '1')

Сначала я подумал, что дело в самой процедуре"перед записью", я сделал кнопку и вставил код туда, но ошибка не изменилаь. Очень надеюсь на вашу помошь.
1 YF
 
02.11.12
✎
15:33
Отказ = Истина и нефиг
2 zak555
 
02.11.12
✎
15:34
документ самодельный ?
3 alex28511
 
02.11.12
✎
15:34
Да док. самодельный
4 Fish
 
гуру
02.11.12
✎
15:35
Пправильно пишет, ибо СП говорит:

ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Записать (Write)
Синтаксис:

Записать(<РежимЗаписи>, <РежимПроведения>)
Параметры:

<РежимЗаписи> (необязательный)

Тип: РежимЗаписиДокумента.
Позволяет выбрать один из возможных режимов записи.
Значение по умолчанию: Запись
<РежимПроведения> (необязательный)

Тип: РежимПроведенияДокумента.
Позволяет выбрать один из возможных режимов проведения.
Значение по умолчанию: Неоперативный
5 Живой Ископаемый
 
02.11.12
✎
15:35
по-моему в8 умнее чем про нее думают. каким-то образом она научилась не выполнять копрокод
6 vmv
 
02.11.12
✎
15:35
(0) не читал ваш г-код, но сходу вопрос, как синхронизируються поля наименований(привильнее ссылок) из двух Тч в методе например АлеСовпали(СтрТч1, СтрТч2)
7 zak555
 
02.11.12
✎
15:35
(3) в какой конфигурации создал самодельный код ?
8 Fish
 
гуру
02.11.12
✎
15:36
(4) Промазал. Невнимательно прочитал ошибку :))
9 Fish
 
гуру
02.11.12
✎
15:38
А вообще, имхо, в процедуре ПередЗаписью, вызывать метод "Записать" некошерно.
10 alex28511
 
02.11.12
✎
15:38
vmv нет, вопрос почему нельзя записать документ не провёв его
11 alex28511
 
02.11.12
✎
15:39
Fish я пытался и просто в кнопке это код разместить, та-же ошибка
12 YF
 
02.11.12
✎
15:40
Нахрена пытатьсы перезаписать, когда нужно всего-то поменять режим записи
13 vmv
 
02.11.12
✎
15:40
(10) потому что в описании документа в метаданных стоит галка движения чего-то там, ты тоже лентяй и неуч, а я-я-яй
14 alex28511
 
02.11.12
✎
16:24
Вообщем, если у кого-нибуть будет время, и ему будет нечем занятся разберитесь пожалуста на досуге, ссылка на конфигурацию :
http://yadi.sk/d/P9hSQ4ZP0Wo0e