![]() |
|
Замена субконто в проводках без перепроведения для 8.2 | ☑ | ||
---|---|---|---|---|
0
Vzik2
20.12.10
✎
12:38
|
Подскажите,пожалуйста,есть ли такая обработка для 8.2?
|
|||
1
Dmitrii
гуру
20.12.10
✎
12:41
|
(0) Напиши руками. 15 минут займет.
|
|||
2
Vzik2
20.12.10
✎
12:43
|
Ну я пока не очень представляю,с чего начать)
|
|||
3
Живой Ископаемый
20.12.10
✎
12:44
|
эта обработка называется Поиск и замена значений.. есть на ИТС. о идее работает в режиме толстого клиента
|
|||
4
luckyluke
20.12.10
✎
12:44
|
(2) с набора записей регистра бухгалтерии думаю стоит...
|
|||
5
Vzik2
20.12.10
✎
12:51
|
Обработка с дска итс не подощла,к сожалению
|
|||
6
Живой Ископаемый
20.12.10
✎
12:53
|
2(5) хы... это прикольно! а почему не подошла? потому что дата запрета редактирования периода выставлена?
|
|||
7
Серый Пес
20.12.10
✎
12:59
|
А где же совет вызвать специалиста?
|
|||
8
Dmitrii
гуру
20.12.10
✎
13:03
|
Я так делал:
Задача стояла заменить любое значение субконто одного вида на НовоеЗначениеСубконто. Функция ЗаменитьСубконто(Проводка, СторонаПроводки, Организация) //ЗначениеСубконто = Неопределено; ЗначениеСубконто = Проводка["Субконто"+СторонаПроводки][Субконто]; Если НЕ ЗначениеЗаполнено(ЗначениеСубконто) Тогда Возврат Ложь; КонецЕсли; Если НовоеЗначениеСубконто <> ЗначениеСубконто Тогда Проводка["Субконто"+СторонаПроводки][Субконто] = НовоеЗначениеСубконто; Возврат Истина; КонецЕсли; Возврат Ложь; КонецФункции Процедура КнопкаВыполнитьНажатие(Кнопка) Состояние("Получение списка регистраторов"); Запрос=новый Запрос; Запрос.текст= "ВЫБРАТЬ РАЗЛИЧНЫЕ | ХозрасчетныйОбороты.Регистратор, | ХозрасчетныйОбороты.Период КАК Период, | ХозрасчетныйОбороты.Организация |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты( | &ДатаНачала, | &ДатаОкончания, | Регистратор, | Счет = &Счет, | &ВидСубконтоДокументыРеализации, | (НЕ Субконто1 ЕСТЬ NULL ) | И Субконто1 <> НЕОПРЕДЕЛЕНО, | , | ) КАК ХозрасчетныйОбороты | |УПОРЯДОЧИТЬ ПО | Период"; Запрос.УстановитьПараметр("Счет", Счет); Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДатаНачала)); Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДатаОкончания)); ВидСубконтоДокументыРеализации = новый Массив; ВидСубконтоДокументыРеализации.Добавить(Субконто); Запрос.УстановитьПараметр("ВидСубконтоДокументыРеализации", ВидСубконтоДокументыРеализации); ТаблицаРегистраторов = Запрос.Выполнить().Выгрузить(); Состояние("Обработка движений"); Для Каждого СтрокаТаблицы Из ТаблицаРегистраторов Цикл Организация = СтрокаТаблицы.Организация; ПроводкиБУ = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); ПроводкиБУ.Отбор.Регистратор.Установить(СтрокаТаблицы.Регистратор); ПроводкиБУ.Прочитать(); ИзмененыПроводки = Ложь; Для Каждого Проводка Из ПроводкиБУ Цикл Заменено = Ложь; Если Проводка.СчетДт = Счет Тогда СторонаПроводки = "Дт"; Заменено = ЗаменитьСубконто(Проводка, СторонаПроводки, Организация); КонецЕсли; ИзмененыПроводки = ИзмененыПроводки ИЛИ Заменено; Заменено = Ложь; Если Проводка.СчетКт = Счет Тогда СторонаПроводки = "Кт"; Заменено = ЗаменитьСубконто(Проводка, СторонаПроводки, Организация); КонецЕсли; ИзмененыПроводки = ИзмененыПроводки ИЛИ Заменено; КонецЦикла; Если ИзмененыПроводки Тогда ПроводкиБУ.Записать(); Сообщить("Перезаписаны проводки по документу: "+Строка(СтрокаТаблицы.Регистратор)); КонецЕсли; КонецЦикла; Сообщить("Перезапись проводок завершена."); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |