Проведение документов 7.7

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. Xershi 1475 26.11.14 16:39 Сейчас в теме
Прошу помочь в вопросе:
Какой механизм в КД2 проведения документов из 8.2 в 7.7?

Т.е. есть документ в 8.2 (проведен), а после конвертации в 7.7 (не проведен). Как его сделать в 7.7 проведенным?

Даже спустя столько лет никто не ответил: http://www.forum.mista.ru/topic.php?id=149540
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1475 27.11.14 08:53 Сейчас в теме
3. NatalyaVP 27.11.14 09:49 Сейчас в теме
В ПКО документа в обработчике "После загрузки" можно записать так:
Объект.Провести();
4. Xershi 1475 27.11.14 10:09 Сейчас в теме
(3) NatalyaVP, меня смущает запись:
Условия возникновения события
Только для платформы V8.
Событие выполняется после прочтения и установки атрабутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта.

5. Xershi 1475 27.11.14 10:24 Сейчас в теме
Протестировал разные варианты и в ПКО, и в самой конвертации везде выдало ошибку.
6. Xershi 1475 27.11.14 11:50 Сейчас в теме
Выручайте, нет инфы в нете! Везде глухо...
7. NatalyaVP 27.11.14 11:51 Сейчас в теме
Ну, переносите документы с движениями, и делайте у документа пометку, что он проведён.
8. Xershi 1475 27.11.14 11:58 Сейчас в теме
(7) NatalyaVP, документ счет в 8 движений не делает.
9. NatalyaVP 27.11.14 12:07 Сейчас в теме
(8), Если нет движений, зачем тогда проводить документ?
В ПКО у реквизита "Проведен" в обработчике "перед выгрузкой" попробуйте написать значение=1;
12. Xershi 1475 27.11.14 14:23 Сейчас в теме
(9) NatalyaVP, еще до того как пробовал, результат не дает.
10. tusv 210 27.11.14 12:11 Сейчас в теме
Лично в обработчике "Перед загрузкой данных"

Инициализирую Параметр "ТаблицаДокументов" Тип таблица значений с колонками Дата, Документ, Приоритет
В обработчике "После загрузки объекта"
Если ИмяТипаОбъекта = "Документ" И Не Отказ Тогда

Добавляю строку
КонецЕсли;
В обработчике "После загрузки данных"
Сортирую таблицу по Приоритету,Дате
Пробегаюсь по Параметру ТаблицаДокументов"
и провожу
11. Xershi 1475 27.11.14 14:01 Сейчас в теме
(10) tusv, взял за основу http://infostart.ru/public/21069/
Но чего-то не хватает.
Вот что сделал, но все равно с ошибкой грузит...
13. tusv 210 27.11.14 16:23 Сейчас в теме
(11) Xershi, Ты пишешь восьмерочным кодом, а надо семерочным
Параметры.ТаблицаДокументов=СоздатьОбъект("ТаблицаЗначений");

Параметры.ТаблицаДокументов.НоваяКолонка("ДатаВремя");

Параметры.ТаблицаДокументов.НоваяКолонка("Документ");
__________________________________________

Параметры.ТаблицаДокументов.НоваяСтрока();
Параметры.ТаблицаДокументов.ДатаВремя=Объект.Дата;
Параметры.ТаблицаДокументов.Документ=Объект;
______________________________________________
Параметры.ТаблицаДокументов.ВыбратьСтроки();
Пока Параметры.ТаблицаДокументов.ПолучитьСтроку() Цикл
Параметры.ТаблицаДокументов.Документ.Провести();
КонецЦикла;
14. Xershi 1475 27.11.14 16:44 Сейчас в теме
(13) tusv, я с семеркой на "вы", но правила нужны приходится разбираться.
Все равно ошибка:
Начало загрузки: 16:40:42
Конвертация_ПередЗагрузкойДанных<<?>>()
Функция не обнаружена (Конвертация_ПередЗагрузкойДанных)
Конвертация_ПослеЗагрузкиОбъекта<<?>>(ОбъектБД, ИмяПравила)
...
Функция не обнаружена (Конвертация_ПослеЗагрузкиОбъекта)
Конвертация_ПослеЗагрузкиОбъекта<<?>>(ОбъектБД, ИмяПравила)
Функция не обнаружена (Конвертация_ПослеЗагрузкиОбъекта)
Недопустимый способ указания значения - Нпп
Конвертация_ПослеЗагрузкиОбъекта<<?>>(ОбъектБД, ИмяПравила)
Функция не обнаружена (Конвертация_ПослеЗагрузкиОбъекта)
Конец загрузки: 16:40:43
Конвертация_ПослеЗагрузкиДанных<<?>>()
Функция не обнаружена (Конвертация_ПослеЗагрузкиДанных)
Показать
16. tusv 210 27.11.14 17:08 Сейчас в теме
(14) Xershi, Для Семерки надо Выполнить еще одну манипуляцию, Выгрузить текстмодуля из КД и вставить его в обработку загрузки 77
17. Xershi 1475 27.11.14 17:22 Сейчас в теме
(16) tusv, опять косяк:
Пока Параметры.ТаблицаДокументов.ПолучитьСтроку() <<?>>Цикл
{D:\V77IMP.ERT(128)}: Выражение должно иметь логический тип
Если ИмяТипаОбъекта <<?>>= "Документ" Тогда
{D:\V77IMP.ERT(162)}: Переменная не определена (ИмяТипаОбъекта)
18. tusv 210 27.11.14 17:40 Сейчас в теме
(17) Xershi, Блин с семеркой последний раз имел дело лет 5 назад
Параметры.ТаблицаДокументов.ПолучитьСтроку() =1
разумеется
20. Xershi 1475 28.11.14 09:56 Сейчас в теме
(18) tusv, чего семерка хочет?
Начало загрузки: 09:30:56
Ошибка исполнения обработчика: Конвертация_ПередЗагрузкойДанных
- Значение не представляет агрегатный объект (НоваяКолонка)
Недопустимый способ указания значения - Нпп
Конец загрузки: 09:30:56
Ошибка исполнения обработчика: Конвертация_ПослеЗагрузкиДанных
- Значение не представляет агрегатный объект (Сортировать)


Код чутка под 7 поправил, но что не так в ПередЗагрузкойДанных?
15. Xershi 1475 27.11.14 16:47 Сейчас в теме
(13) tusv, вот что изменил в перед загрузкой данных:
//ТаблицаДокументов = Новый ТаблицаЗначений;
//ТаблицаДокументов.Колонки.Добавить("Документ");
//ТаблицаДокументов.Колонки.Добавить("ДатаВремя");
//Параметры.ТаблицаДокументов = ТаблицаДокументов;
Параметры.ТаблицаДокументов=СоздатьОбъект("ТаблицаЗначений");
Параметры.ТаблицаДокументов.НоваяКолонка("ДатаВремя"); 
Параметры.ТаблицаДокументов.НоваяКолонка("Документ"); 

После загрузки объекта:
Если ИмяТипаОбъекта = "Документ" Тогда 
    //Объект.Записать(); 
	//НоваяСтрока = Параметры.ТаблицаДокументов.Добавить();
	//НоваяСтрока.Документ = Объект.Ссылка;
	//НоваяСтрока.ДатаВремя = Объект.ДатаДок; 	
	Параметры.ТаблицаДокументов.НоваяСтрока(); 
	Параметры.ТаблицаДокументов.ДатаВремя = Объект.Дата; 
	Параметры.ТаблицаДокументов.Документ = Объект;    
КонецЕсли;
Показать

После загрузки данных:
Если Параметры.ТаблицаДокументов.Количество() > 0 Тогда
	Параметры.ТаблицаДокументов.Сортировать("ДатаВремя Возр");
//	Ин = 0;
//	Для каждого Строка из Параметры.ТаблицаДокументов Цикл
//		Объект = Строка.Документ.ПолучитьОбъект();
//		Попытка 
//			//Объект.Записать(РежимЗаписиДокумента.Проведение);
//			Объект.Записать();
//			Объект.Провести();
//			Сообщить("Документ проведен : "+ СокрЛП(Объект));
//			Ин = Ин + 1;
//		Исключение
//			Сообщить("ДОКУМЕНТ НЕ ПРОВЕДЕН : "+ ОписаниеОшибки(), СтатусСообщения.ОченьВажное);
//			Сообщить(" "+СокрЛП(Объект));
//		КонецПопытки;
//	КонецЦикла;
	Параметры.ТаблицаДокументов.ВыбратьСтроки(); 
	Пока Параметры.ТаблицаДокументов.ПолучитьСтроку() Цикл 
		Параметры.ТаблицаДокументов.Документ.Провести(); 
	КонецЦикла;
//	Сообщить("Из "+СокрЛП(Параметры.ТаблицаДокументов.Количество())+" документов проведено " + СокрЛП(Ин) +" объектов");
//	Иначе
//		Сообщить("Из "+СокрЛП(Параметры.ТаблицаДокументов.Количество())+" документов проведено 0 объектов");
КонецЕсли;
	
Показать

Параметры оставил без изменений.
19. tusv 210 27.11.14 17:42 Сейчас в теме
Можно так
Если ТипЗначенияСтр(Объект) = "Документ" Тогда
тра ляля
КонецЕсли;
21. Xershi 1475 28.11.14 11:59 Сейчас в теме
В итоге удалил из параметров "ТаблицаДокументов". Почему-то семерка конструкцию
Параметры.ТаблицаДокументов=СоздатьОбъект("ТаблицаЗначений");
не отрабатывает, пришлось снести упоминание про таблицы везде и код заработал.

На днях публикацию сделаю.
22. Xershi 1475 05.12.14 10:57 Сейчас в теме
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)