|
Почему не работает? | ☑ | ||
|---|---|---|---|---|
|
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 |
| Форум | Правила | Описание | Секции | Поиск |