К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Почему не записываются виды расчетов?

Гость
0 - 27.04.2013 - 14:42
Пишу обработку:
Выб = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.Вы брать();
Пока Выб.Следующий() Цикл
Если СокрЛП(Выб.Наименование) = "" или СокрЛП(Выб.НаименованиеДоп) = "" Тогда Продолжить; КонецЕсли;
Об = Выб.ПолучитьОбъект();
Наим1 = СокрЛП(Выб.Наименование);
Наим2 = СокрЛП(Выб.НаименованиеДоп);
Об.Наименование = Наим2;
Об.НаименованиеДоп = Наим1;
Об.Записать();
КонецЦикла;
Всё это надо для простого изменения расчетной ведомости и прочих отчётов на английские наименования.
Для этого просто добавил к типовому виду расчета реквизит "НаименованиеДоп" для английского наименования.
После выполнения этой обработки не происходит ничего...
Хотя в отладчике показывает изменённые виды расчетов.
Люди добрые, если кто уже победил сию проблему, поделитесь плиз...



Гость
1 - 29.04.2013 - 16:19
неужели никто программно не записывал виды расчетов???
Гость
2 - 29.04.2013 - 17:39
Раз знакомы с понятием отладчик, значит делайте трассировку, смотрите где сбоит. Желательно в попытку обернуть запись.
Гость
3 - 30.04.2013 - 06:21
В том то и дело, что в отладчике записывает объект, и показывает его с изменёнными реквизитами. А когда выхожу в 1С, смотрю - а он как был так и остался.
При этом ошибок никаких не выдаёт...
4 - 30.04.2013 - 07:28
я не знаю языка восьмёрки и поправьте меня, если я не прав...

Об = Выб.ПолучитьОбъект(); // здесь мы позиционируемся на элементе справочника

почему же тогда условие Если-КонецЕсли, работающее с конкретными реквизитами элемента справочника, стоит до позиционирования на данный элемент?
Гость
5 - 30.04.2013 - 09:56
3-Vinni_P > Транзакция
4-Гена > позиционирование у автора происходит нормально в выборке методом Следующий()
Гость
6 - 01.05.2013 - 06:13
5-roma n
Пробовал и с транзакцией, и без. Даже пробовал без начала зафиксить - естественно выдало ошибку. Думаю мож релиз такой(8.2.15.289)? На другом еще не пробовал.
Гость
7 - 01.05.2013 - 08:35
а запросом никак?
8 - 01.05.2013 - 09:30
Я, как и Гена, тоже не знаток восьмерки, но в 7.7 мне бы такая конструкция не понравилась.

По крайней мере, в той части кода, которую привел автор: он там меняет наименование, а по какому параметру у него идет выборка? Если по наименованию, то ясный пень, что она сбивается. Причем, по задумке у него НаименованиеДоп и НаименованиеДоп просто меняются местами, если в результате сбоя выборки происходит два прохода по каждому элементу - вуаля, впечатление, что "не происходит ничего".

Надо включить выборку по порядку кодов, или как там это в снеговике называется.
9 - 01.05.2013 - 10:58
(8) логично... если перебор по наименованию в цикле, то рус на лат изменится, а вот наоборот - нет, т.к. лат ложится выше по алфавиту...

можно проверить, вставив счётчик...
10 - 01.05.2013 - 11:04
например, дошло до элемента Gena, записали как Гена... который лёг ниже в справочнике по наименованияю... в конце концов перебором выйдем на Гена и сделаем Gena...

в результате, как был Gena, так и остался...
Гость
11 - 01.05.2013 - 15:18
8-Ткачик > Так и указываешь порядок выборки: "Код" или "Наименование".
10-Гена > Не выеживайся. Стандартный прием без манипуляции с индексами: пишешь отобранное в список (вариант: отбираешь запросом, если отбирать надо много и хитрО, далее пользуешься результатом запроса заместо списка). В список/запрс ссылки, естественно. Затем проходишь по списку, вызывая объект для изменения и записи.
_U2
12 - 01.05.2013 - 20:16
Ну вот взял почти Ваш кусок кода:-))
Закоментарил все что связано с "НаименованиеДоп",
у меня его нет..просто к наименованию прибавил "?"
Сработало...:-))

Выб = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.Вы брать();
Пока Выб.Следующий() Цикл
//Если СокрЛП(Выб.Наименование) = "" или СокрЛП(Выб.НаименованиеДоп) = "" Тогда Продолжить; КонецЕсли;
Об = Выб.ПолучитьОбъект();
Наим1 = СокрЛП(Выб.Наименование);
//Наим2 = СокрЛП(Выб.НаименованиеДоп);
Об.Наименование = "?"+Наим1;

//Об.НаименованиеДоп = Наим1;
Об.Записать();
//
КонецЦикла;
Сообщить("Конец");
13 - 01.05.2013 - 20:39
(12) "Сработало...:-))" - дык, добавление "?" не должно сбивать выборку. Разве что наименование состоит из одних только символов с ASCII-кодом меньше 63, т.е. цифр и знаков препинания.
_U2
14 - 01.05.2013 - 21:02
(13)..Дыыы вроде...в снеговике порядок выборки не зависит от наименования или кода, если Вы специально не укажете
Выбрать(,,,"Нименование") или Выбрать(,,,"Код")
15 - 01.05.2013 - 21:14
(14) А разве в снеговике нет возможности (как в клюшках у справочника, например) задать в конфигураторе основное представление - либо "В виде кода", либо "В виде наименования"? ИМХО, именно от этого и зависит порядок выборки по умолчанию.
_U2
16 - 01.05.2013 - 21:30
(15).....а як же, есть, в виде кода или наименования, "свичик" при описании объекта стоит...:-))
...Ну не наю, если дело в этом...ну пусть сделает Выбрать(,,,"Код"), тогда наименование точно не причем
Гость
17 - 01.05.2013 - 22:02
я бы выборку сделал запросом и выгрузил в тз... потом по строкам тз получал объект и менял его.
Гость
18 - 01.05.2013 - 22:03
16-_U2 > Дурной тон: строить свой код, исходя из приятного себе предположения...
_U2
19 - 01.05.2013 - 22:30
(то 18)...код не мой и я не говорил, что он мне нравится, вопрос в другом: почему он не работает...:-))
Гость
20 - 01.05.2013 - 22:49
19-_U2 > Вот чтоб не мучатся с этим вопросом (при преобразовании индексируемых полей), не вспоминать свой код, и не тревожить склероз, и не говорить "Ой!", когда выяснется истинный индекс, и рекомендуется (горячо) метод "сначала выбери, потом измени" (см.11) :)
Гость
21 - 05.05.2013 - 15:22
(0) не лез ты бы куда не надо, внешним отчетом ведомость сформируй как просили. завтра аудиторы придут, гб понятно в декретный отпуск - как потом назад возвращать станешь, опер. инфу за за пару дней слабо ввесети, кот операторы в три смены вводили круглосуточно
Гость
22 - 05.05.2013 - 15:29
+ сколько не ваял универсальных отчетов - никогда ни кому не пригодилось, хочу мол в третьей строчке 2600 - на = 2600, главное шоп отчет запускался


К списку вопросов






Copyright ©, Все права защищены