Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Переход с ПРОФ на КОРП
|
|||
|---|---|---|---|
|
#18+
Обновили ПРОФ на КОРП. Требуется раскидать остатки по счету 02.01 по подразделениям. Не переносится СуммаВРОстатокКт. Подскажите как перенести эти остатки ПР, ВР? Запрос1 = Новый Запрос; Запрос1.Текст = "ВЫБРАТЬ | ОперацияБух.Ссылка |ИЗ | Документ.ОперацияБух КАК ОперацияБух |ГДЕ | ОперацияБух.Комментарий ПОДОБНО &Комментарий | И ОперацияБух.Содержание ПОДОБНО &Содержание | И ОперацияБух.Организация = &Организация | И КОНЕЦПЕРИОДА(ОперацияБух.Дата, МЕСЯЦ) = &Дата | И ОперацияБух.ПометкаУдаления = ЛОЖЬ"; Запрос1.УстановитьПараметр("Комментарий", ТекстКомментария); Запрос1.УстановитьПараметр("Содержание", ТекстКомментария); Запрос1.УстановитьПараметр("Организация", Организация); Запрос1.УстановитьПараметр("Дата", КонецМесяца(Дата)); Результат1 = Запрос1.Выполнить(); Выборка1 = Результат1.Выбрать(); Если Выборка1.Следующий() Тогда Документ = Выборка1.Ссылка.ПолучитьОбъект(); Иначе //Создаем документ ОперацияБух Документ = Документы.ОперацияБух.СоздатьДокумент(); Документ.Дата = КонецМесяца(Дата); Документ.Организация = Организация; Документ.Содержание = ТекстКомментария; Документ.СпособЗаполнения = "Вручную"; Документ.Ответственный = ПараметрыСеанса.ТекущийПользователь; Документ.Комментарий = ТекстКомментария; Документ.Записать(); КонецЕсли; Запрос2 = Новый Запрос; Запрос2.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1.Ссылка КАК ОсновноеСредство, | ХозрасчетныйОстатки.Подразделение, | ХозрасчетныйОстатки.СуммаОстатокКт, | ХозрасчетныйОстатки.СуммаНУОстатокКт, | ХозрасчетныйОстатки.СуммаПРОстатокКт, | ХозрасчетныйОстатки.СуммаВРОстатокКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &Дата, | Счет = &Счет, | , | Организация = &Организация | И Подразделение = &Подразделение) КАК ХозрасчетныйОстатки"; Запрос2.УстановитьПараметр("Дата", Дата); Запрос2.УстановитьПараметр("Счет", Счет); Запрос2.УстановитьПараметр("Организация", Организация); Запрос2.УстановитьПараметр("Подразделение", Подразделение); Результат2 = Запрос2.Выполнить(); Выборка2 = Результат2.Выбрать(); Сумма = 0; Пока Выборка2.Следующий() Цикл Запрос3 = Новый Запрос; Запрос3.УстановитьПараметр("ОсновноеСредство", Выборка2.ОсновноеСредство); Запрос3.УстановитьПараметр("ДатаСведений", Дата); Запрос3.УстановитьПараметр("Организация", Организация); Запрос3.Текст = "ВЫБРАТЬ | МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение.Ссылка КАК ПодразделениеБУ |ИЗ | РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних( | &ДатаСведений, | Организация = &Организация | И ОсновноеСредство = &ОсновноеСредство) КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних"; Результат3 = Запрос3.Выполнить(); Выборка3 = Результат3.Выбрать(); Если Выборка3.Следующий() Тогда ПодразделениеБУ = Выборка3.ПодразделениеБУ; КонецЕсли; ПроводкаБУ1 = Документ.Движения.Хозрасчетный.Добавить(); ПроводкаБУ1.Период = КонецМесяца(Дата); ПроводкаБУ1.Активность = Истина; ПроводкаБУ1.СчетДт = Счет; ПроводкаБУ1.СчетКт = Счет000; БухгалтерскийУчет.УстановитьСубконто(ПроводкаБУ1.СчетДт, ПроводкаБУ1.СубконтоДт, "ОсновныеСредства", Выборка2.ОсновноеСредство); ПроводкаБУ1.Сумма = Выборка2.СуммаОстатокКт; ПроводкаБУ1.СуммаНУДт = Выборка2.СуммаНУОстатокКт; ПроводкаБУ1.СуммаПРДт = Выборка2.СуммаПРОстатокКт; ПроводкаБУ1.СуммаВРДт = Выборка2.СуммаВРОстатокКт; ПроводкаБУ1.Содержание = ТекстКомментария; Сумма = Сумма + ПроводкаБУ1.Сумма; ПроводкаБУ2 = Документ.Движения.Хозрасчетный.Добавить(); ПроводкаБУ2.Период = КонецМесяца(Дата); ПроводкаБУ2.Активность = Истина; ПроводкаБУ2.СчетДт = Счет000; ПроводкаБУ2.СчетКт = Счет; БухгалтерскийУчет.УстановитьСубконто(ПроводкаБУ2.СчетКт, ПроводкаБУ2.СубконтоКт, "ОсновныеСредства", Выборка2.ОсновноеСредство); ПроводкаБУ2.Сумма = Выборка2.СуммаОстатокКт; ПроводкаБУ2.СуммаНУКт = Выборка2.СуммаНУОстатокКт; ПроводкаБУ2.СуммаПРКт = Выборка2.СуммаПРОстатокКт; ПроводкаБУ2.СуммаВРКт = Выборка2.СуммаВРОстатокКт; ПроводкаБУ2.Содержание = ТекстКомментария; ПроводкаБУ2.ПодразделениеКт = ПодразделениеБУ; Сумма = Сумма + ПроводкаБУ2.Сумма; Документ.Записать(); ОбработкаПрерыванияПользователя(); КонецЦикла; Документ.СуммаОперации = Сумма; Документ.Записать(); ФормаДокумента = Документ.ПолучитьФорму(); ФормаДокумента.Открыть(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2013, 16:09 |
|
||
|
Переход с ПРОФ на КОРП
|
|||
|---|---|---|---|
|
#18+
ЕленаПрекрасная, а кто писал этот "прекрасный" код? 1. Код: sql 1. - это вообще откуда? 2. Запрос внутри цикла - бывают такие вещи (одноразовые или от безысходности). Здесь ни того ни другого я не вижу 3. А собственно во втором запросе какой результат выборки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2013, 17:14 |
|
||
|
Переход с ПРОФ на КОРП
|
|||
|---|---|---|---|
|
#18+
chatm, 2. Это одноразовая вещь. 3. Во втором запросе получают остатки по счету. Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2013, 15:07 |
|
||
|
Переход с ПРОФ на КОРП
|
|||
|---|---|---|---|
|
#18+
ЕленаПрекрасная, результат этой выборки содержит ненулевые значения агрегатной функции требуемого реквизита? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2013, 15:46 |
|
||
|
Переход с ПРОФ на КОРП
|
|||
|---|---|---|---|
|
#18+
chatm, Он содержит то, что нужно. В результате модернизации ОС возникли временные разницы. Как специалист оцените такой вариант запроса, пож-та: Запрос1 = Новый Запрос; Запрос1.Текст = "ВЫБРАТЬ | ОперацияБух.Ссылка |ИЗ | Документ.ОперацияБух КАК ОперацияБух |ГДЕ | ОперацияБух.Комментарий ПОДОБНО &Комментарий | И ОперацияБух.Содержание ПОДОБНО &Содержание | И ОперацияБух.Организация = &Организация | И КОНЕЦПЕРИОДА(ОперацияБух.Дата, МЕСЯЦ) = &Дата | И ОперацияБух.ПометкаУдаления = ЛОЖЬ"; Запрос1.УстановитьПараметр("Комментарий", ТекстКомментария); Запрос1.УстановитьПараметр("Содержание", ТекстКомментария); Запрос1.УстановитьПараметр("Организация", Организация); Запрос1.УстановитьПараметр("Дата", КонецМесяца(Дата)); Результат1 = Запрос1.Выполнить(); Выборка1 = Результат1.Выбрать(); Если Выборка1.Следующий() Тогда Документ = Выборка1.Ссылка.ПолучитьОбъект(); Иначе //Создаем документ ОперацияБух Документ = Документы.ОперацияБух.СоздатьДокумент(); Документ.Дата = КонецМесяца(Дата); Документ.Организация = Организация; Документ.Содержание = ТекстКомментария; Документ.СпособЗаполнения = "Вручную"; Документ.Ответственный = ПараметрыСеанса.ТекущийПользователь; Документ.Комментарий = ТекстКомментария; Документ.Записать(); КонецЕсли; Запрос2 = Новый Запрос; Запрос2.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1.Ссылка КАК ОсновноеСредство, | ХозрасчетныйОстатки.Подразделение, | ХозрасчетныйОстатки.СуммаОстатокКт, | ХозрасчетныйОстатки.СуммаНУОстатокКт, | ХозрасчетныйОстатки.СуммаПРОстатокКт, | ХозрасчетныйОстатки.СуммаВРОстатокКт, | МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение КАК ПодразделениеБУ |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &Дата, | Счет = &Счет, | , | Организация = &Организация | И Подразделение = &Подразделение) КАК ХозрасчетныйОстатки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&Дата, Организация = &Организация) КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних | ПО ХозрасчетныйОстатки.Субконто1 = МестонахождениеОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство"; Запрос2.УстановитьПараметр("Дата", Дата); Запрос2.УстановитьПараметр("Счет", Счет); Запрос2.УстановитьПараметр("Организация", Организация); Запрос2.УстановитьПараметр("Подразделение", Подразделение); Результат2 = Запрос2.Выполнить(); Выборка2 = Результат2.Выбрать(); Сумма = 0; Пока Выборка2.Следующий() Цикл ПроводкаБУ1 = Документ.Движения.Хозрасчетный.Добавить(); ПроводкаБУ1.Период = КонецМесяца(Дата); ПроводкаБУ1.Активность = Истина; ПроводкаБУ1.СчетДт = Счет; ПроводкаБУ1.СчетКт = Счет000; БухгалтерскийУчет.УстановитьСубконто(ПроводкаБУ1.СчетДт, ПроводкаБУ1.СубконтоДт, "ОсновныеСредства", Выборка2.ОсновноеСредство); ПроводкаБУ1.Сумма = Выборка2.СуммаОстатокКт; ПроводкаБУ1.СуммаНУДт = Выборка2.СуммаНУОстатокКт; ПроводкаБУ1.СуммаПРДт = Выборка2.СуммаПРОстатокКт; ПроводкаБУ1.СуммаВРДт = Выборка2.СуммаВРОстатокКт; ПроводкаБУ1.Содержание = ТекстКомментария; Сумма = Сумма + ПроводкаБУ1.Сумма; ПроводкаБУ2 = Документ.Движения.Хозрасчетный.Добавить(); ПроводкаБУ2.Период = КонецМесяца(Дата); ПроводкаБУ2.Активность = Истина; ПроводкаБУ2.СчетДт = Счет000; ПроводкаБУ2.СчетКт = Счет; БухгалтерскийУчет.УстановитьСубконто(ПроводкаБУ2.СчетКт, ПроводкаБУ2.СубконтоКт, "ОсновныеСредства", Выборка2.ОсновноеСредство); ПроводкаБУ2.Сумма = Выборка2.СуммаОстатокКт; ПроводкаБУ2.СуммаНУКт = Выборка2.СуммаНУОстатокКт; ПроводкаБУ2.СуммаПРКт = Выборка2.СуммаПРОстатокКт; ПроводкаБУ2.СуммаВРКт = Выборка2.СуммаВРОстатокКт; ПроводкаБУ2.Содержание = ТекстКомментария; ПроводкаБУ2.ПодразделениеКт = Выборка2.ПодразделениеБУ; Сумма = Сумма + ПроводкаБУ2.Сумма; Документ.Записать(); ОбработкаПрерыванияПользователя(); КонецЦикла; Документ.СуммаОперации = Сумма; Документ.Записать(); ФормаДокумента = Документ.ПолучитьФорму(); ФормаДокумента.Открыть(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2013, 16:28 |
|
||
|
Переход с ПРОФ на КОРП
|
|||
|---|---|---|---|
|
#18+
ЕленаПрекрасная, первые пришедшие в голову при виде данного кода 1. Насколько я понял, в первом запросе Вы ищите документ и если не находите, то создаете. Если это так, то оставляя за скобками всю эту обработку и логику в целом, то в Запрос1 можно добавить Первые 1, упорядочить по убыванию и т.д. 2. Запрос2 и Запрос3 вполне могут существовать в рамках одного запроса. Временные таблицы или пакетный запрос - на Ваше усмотрение 3. Для упрощения заполнения реквизитов лучше использовать функцию ЗаполнитьЗначенияСвойств, только названия должны совпадать 4. Если в РС "МестонахождениеОСБухгалтерскийУчет" не будет подходящих записей, то при левом соединении что будет в результате "ПодразделенияБУ"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2013, 16:39 |
|
||
|
Переход с ПРОФ на КОРП
|
|||
|---|---|---|---|
|
#18+
chatm, 1, 2, 3. спасибо. учусь. 4. Такого вроде быть не может. Все ОС делают движения по этому регистру. Если бухгалтер в соответствующем документе не указал местонахождение ОС, тогда там будет не заполнено поле подразделение. В ОСВ по счету 02.01 остатки по этим ОС останутся не перенесенными. Соответственно надо будет сделать корректировку записей регистра и потом еще раз запустить обработку или если таких не много руками в созданном ОперБух указать подразделение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2013, 21:19 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=49&tid=1520030]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 276ms |
| total: | 419ms |

| 0 / 0 |
