0. darkxxx 11 08.10.12 02:46 Сейчас в теме

Формирование декларации по алкогольной продукции 5,6,7,8 формы в 1С 7.7 (Комплексная)

Формирование декларации по алкогольной продукции 5,6,7,8 формы в 1С 7.7 (Комплексная)

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. ivanov_alex 27 09.10.12 09:45 Сейчас в теме
при формировании хотя бы 2 форм валит 1с с надписью has requested runtime блабла
видимо большой объем данных или что
6 сформировать не вышло также
очень странно как-то
2. darkxxx 11 09.10.12 10:31 Сейчас в теме
(1) ivanov_alex,
6 форма вылетает скорее всего с ошибкой на внутреннюю ошибку анализатора: это проблема XML после 16 - 17 мб данных 1С парсер начинает как то криворуко работать. совет включать флажок не использовать отчеты. и брать бубен в руки, я дома запускал 20 раз подряд после перезагрузки компа 50 / 50 формирует отчет, по статистике 20 раз запуска, 4 раза сформировалось успешно. у меня получался файл объемом 19 мб. Если у вас больше советую сделать разбиение на 2 файла а потом их слить в текстовом редакторе, ведь XML это обычный текст, только определенного формата.
А по поводу формирования сразу нескольких форм тут напряг в оперативке не секрет что 1С 7.7 32 битная и максимум оперативки которая может быть использована 2 гб и в зависимости от объема данных у нас доходило до 1.6 Гб все таблицы, а у вас скорее всего возможно даже больше. Вы скорее всего используете в SQL версию рекомендую попробовать DBF в этом случае. В SQL у нас не формировалась, а вот DBF без проблем.
3. ivanov_alex 27 09.10.12 13:26 Сейчас в теме
(2)
не анализатор, когда в проверку загоняется организация с пустым КПП выдает ошибку и если ставить попытка и исключение в этот кусок нужно перечислять все требуемые реквизиты, а я в исключение только КПП загонял, остальные реквизиты не определены ДО возврата были, потому и валились
кстати, хорошая годная обработка, хоть и долгая...
партии такие партии
4. ivanov_alex 27 16.10.12 09:22 Сейчас в теме
ТЗПродаж.Свернуть("Фирма,КодПродукции,Производитель,Получатель,Документ","Количество");
		ТЗПродаж.Сортировать("Фирма,КодПродукции,Производитель,Получатель,-Документ");
		ТЗПродажОбщий = СоздатьОбъект("ТаблицаЗначений");
		ТЗПродажОбщий.Загрузить(ТЗПродаж);
		ТЗПродажОбщий.Свернуть("КодПродукции,Производитель,Получатель,Документ","Количество");
		ТЗПродажОбщий.Сортировать("КодПродукции,Производитель,Получатель,-Документ");


ТЗПродажОбщий.Загрузить(ТЗПродаж);
при большом объеме строк вот тут падает 1с с runtime error
попытаться как то обойти эту загрузку в другую ТЗ можно?
5. darkxxx 11 17.10.12 15:42 Сейчас в теме
(4) ivanov_alex, обойти никак нельзя а вот количество колонок в таблице можно попробовать сократить. Брать все из документа на 2 - 3 колонки сократить можно, я не пробовал, но попробовать стоит. Либо второй вариант если 1 не поможет попробовать отдельно файлы сформировать для общей, а потом для подразделений если продаж очень много, а судя по всему у вас именно такой случай, раз у вас на методе загрузить вываливается с ошибкой видимо оперативка забивается под завязку, проверьте так ли это и попробуйте вышеописанные действия.
6. darkxxx 11 17.10.12 15:45 Сейчас в теме
(4) кстати возможно поможет я доработал файл обработки чтобы он поменьше оперативы жрал возможно есть смысл попробовать скачать...еще раз.
7. ivanov_alex 27 17.10.12 20:52 Сейчас в теме
(6) я видел и вносил изменения
память действительно очищается до примерно 250 мб с 2,5 гигабайт
но xml не пишется почему-то, решение так и не нашел
пока пользуюсь примером выгрузки, там ТЗ поменьше
8. ivanov_alex 27 18.10.12 09:45 Сейчас в теме
В ощем что сделал я:
первое
для 6 формы в ТЗ

	Если Форма6 = 1 Тогда
//переиначим колонку документ как номер документа и добавим ещё дату документа и добавим вид документа для сортировки по виду
		ТЗПродаж	=создатьОбъект("ТаблицаЗначений");
		ТЗПродаж.НоваяКолонка("Фирма");
		ТЗПродаж.НоваяКолонка("КодПродукции");	
		ТЗПродаж.НоваяКолонка("Производитель");	
		ТЗПродаж.НоваяКолонка("Получатель");	
		ТЗПродаж.НоваяКолонка("Документ");//СтавимДату изза памяти
				ТЗПродаж.НоваяКолонка("ДокументНомер");//СтавимДату изза памяти
				ТЗПродаж.НоваяКолонка("ВидДок");

		ТЗПродаж.НоваяКолонка("Количество");
	КонецЕсли;

//Для возвратов присвоим виддок=3 это важно для сортировки
						Если Форма6 = 1 Тогда
							
							
							ТЗПродаж.НоваяСтрока();				
							ТЗПродаж.Фирма=Запрос.Фирма;
							ТЗПродаж.КодПродукции	= КодПродукции;
							ТЗПродаж.Производитель	= Производитель;
							ТЗПродаж.Получатель		= Док.Контрагент;
							ТЗПродаж.Документ		= Док.ДатаДок;
							ТзПродаж.ДокументНомер =Док.НомерДок;
							ТЗПродаж.ВидДок=3;
							ТЗПродаж.Количество	= РасчитатьДалы((0-Запрос.КолПриход),НомЕмкость);
							//конецесли
						КонецЕсли;
//для реализаций виддок=2 опять сортировка

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

Этим добились чтоб в ТЗ не выгружались документы а значения из них, в результате пишется и хмл и формируется отчет и памяти уйма
Вдруг кому пригодится
9. darkxxx 11 18.10.12 13:55 Сейчас в теме
(8) все верно седня поправлю этот момент во всех формах и выложу снова.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Разработчик 1С
Санкт-Петербург
зарплата от 140 000 руб.
Полный день

Консультант-аналитик 1С
Санкт-Петербург
зарплата от 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

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

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