|
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 38
|
|
1C 8.x Создание обработки пакетного ввода документов12.10.2013, 22:13. Показов 4920. Ответов 14
Метки нет (Все метки)
Платформа 8.2.
Конфигурация своя. Режим - неуправляемый. Необходимо создать обработку для перемещения товаров между складами и организациями, которая бы создавала одновременно расходную и приходную накладную. Пыталась разобраться в аналогичной обработке в УТ для Украины, но мне сложно. Извините за быть может глупые вопросы, с объектом "обработка" почти не работала пока. При нажатие на кнопку "Выполнить" необходимо проверять наличие строк в ТЧ Товары, наличие количества в каждой строке ТЧ Товары и при отсутствии таковых выдавать сообщения пользователю. В документе в таком случае можно использовать процедуру ПередЗаписью, где есть параметр Отказ. Как отменить выполнение Обработки в таком случае? Дальше по принципу типовой конфигурации, необходимо создать НаборЗаписей для РегистровНакопления, записать их, проверить на наличие отрицательных остатков, и в случае их нахождения отменить выполнение обработки, чтобы изменить количество перемещаемых товаров. Насколько я понимаю, необходимо использовать НачатьТранзакцию, ЗафиксироватьТранзакцию, ОтменитьТранзакцию. К моему сожалению, не смогла найти в инете примера, как прописать исключение, чтобы отменить транзакцию. В СП тоже только краткое описание. Заранее спасибо за помощь.
0
|
|
| 12.10.2013, 22:13 | |
|
Ответы с готовыми решениями:
14
Создание пакетного файла с использованием списка значений в качестве параметров. Модель обработки документов База данных для обработки одинаковых документов |
|
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
| 12.10.2013, 23:15 | |
|
Тут до транзакций, по-моему, туман с алгоритмом. Как можно проверить на наличие остатков только что созданный набор записей? Для РегН, во-первых, созданный набор записей это исключительно движения регистратора. Создавать их надо документом. Документ, возможно, обработкой.
1
|
|
|
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 38
|
|
| 13.10.2013, 00:00 [ТС] | |
|
По кнопке обработки "Выполнить" я создаю два документа (приход и расход), они создаются с заполнеными реквизитами и табличной частью, но те движения по регистрам, которые находятся в обработках проведения этих документов, не производятся. Я убедилась "методом пробы"
. (В обработках проведения этих документов я как раз проверяю на наличие отрицательных остатков.)Именно поэтому я думала Создавать НаборыЗаписей и вносить данные в регистры в процедуре нажатия кнопки "Выполнить". На наличие отрицательных остатков планировала проверять регистр после добавления НабораЗаписей. Возможно, я изначально не правильно поняла принцип работы Пакетного ввода. Исправьте меня, если можно. Спасибо.
0
|
|
|
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 38
|
|
| 13.10.2013, 18:03 [ТС] | |
|
Спасибо за подсказку. Это решило часть проблем. Но возник следующий вопрос. Если один из документов не может быть проведен в силу наличия отрицательных остатков на складе, как отменить проведение второго? Необходимо быть уверенным, что либо были проведены все документы, либо ни одного.
0
|
|
|
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
|
||
| 13.10.2013, 20:17 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 38
|
|
| 13.10.2013, 23:05 [ТС] | |
|
Мне кажется, я плохо объяснила ход действий.
Попробую объяснить поподробнее особенности конфигурации и национального бизнеса. ![]() Документ Приходная накладная приходует номенклатуру на определенный склад и по определенной организации. Движение записывается в два регистра ТоварыПоСкладам(Измерения: Склад, Номенклатура, ХарактеристикаНоменклатуры; Ресурс: Количество) и ТоварыПоОрганизациям (Измерения: Организация, Номенклатура, ХарактеристикаНоменклатуры; Ресурс: Количество). Документ ЗаказПокупателя расходует товар со склада без привязке к организации, так как склад для части Организаций общий. Движение записывается в регистр ТоварыПоСкладам(Измерения: Склад, Номенклатура, ХарактеристикаНоменклатуры; Ресурс: Количество). Именно из-за привязки товара к конкретной организации нам не подошла типовая конфигурация, так как ест потребность списывать товар оперативно без каких либо перемещений. Документ Расходная Накладная не расходует товар со склада но расходует товар по Организации (для документального учета, не каждый заказ у нас оформляется через расходную накладную). Движение записывается в регистр ТоварыПоОрганизациям (Измерения: Организация, Номенклатура, ХарактеристикаНоменклатуры; Ресурс: Количество). В Обработке Перемещение по складам и организациям необходимо создавать все три документа. При этом в Заказе и РасходнойНакл. Необходим контроль остатка по соответствующему регистру. Контроль остатка сделан по принципу предложенному в типовой конфигурации. До записи документа в регистре нет отрицательных остатков. Документ проводится, далее проверяется наличие в регистре отрицательных остатков по той номенклатуре, которую только-что провели, и если они есть, то проведение отменяется с просьбой к пользователю изменить количество расходуемого товара так, чтобы отрицательный остаток не появился. Необходимо сделать так, чтобы при отказе проведения заказа, например, расходная накладная тоже не проводилась и наоборот, чтобы при отказе проведения расходной накладной, заказ тоже не проводилась. Плюс при отказе проведения любого их первых двух документов, также не проводить приходную накладную. Насколько я поняла, после долгих поисков в интернете, мне необходимо использовать транзакции. Чтобы отменять ее при любом отказе проведения. Но мне, к сожалению, совершенно непонятен синтаксис в данном случае. В СП только краткий комментарий без примера. Вполне возможно, что есть и другие варианты решения проблемы, только мне при отсутствии опыта их трудно увидеть. Поэтому и обратилась за помощью. Буду очень благодарна за любую подсказку.
0
|
|
|
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
|
|
| 14.10.2013, 00:52 | |
|
Приход Склад +10, Организация +10.
Заказ Склад -5 Реализация Организация -5 Так? Что создаёт обработка? Не ясно. Что где должно остаться? Или обработка - это и есть сделка? Почему Приход тоже надо создавать?
0
|
|
|
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 38
|
||
| 14.10.2013, 01:08 [ТС] | ||
|
Добавлено через 2 минуты Обработка для внутреннего пользования должна перемещать товары между складами (их два) и собственными организациями (их несколько). Между складами - для работы, между организациями - для документов. Может быть одновременно и между складами и между организациями одними и теми же документами. Добавлено через 2 минуты Обработка должна создавать три документа: Заказ - расход по складу А; Расходная накл. - расход по организации1; Приходная накладная. - приход на организацию2 на склад Б Не знаю, понятно ли. Добавлено через 1 минуту Только в сравнении с Вашим примером, цифры расхода и заказа и прихода должны совпадать: 5 ушло и сразу 5 пришло Добавлено через 1 минуту Поскольку документов три, а не два, то простым Если "не проведено" не получается . Вот.
0
|
||
|
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
|
||
| 14.10.2013, 01:51 | ||
Объясни пошагово, что происходит в реальности: Приход в момент отгрузки или заказа? Или в момент прихода? ну, и т.д. Добавлено через 2 минуты по складам - это простое перемещение. А между организациями - это купля-продажа с перемещением прибыли. Все так работают, и под это заточена типовая УТ. Маху дали бухи, и сплошные ахи
0
|
||
|
Модератор
|
||||||
| 14.10.2013, 03:10 | ||||||
|
ну к примеру что то в этом духе...
1
|
||||||
|
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 38
|
||
| 14.10.2013, 11:02 [ТС] | ||
|
duk337,
Расходная накладная с контролем по организации нужна для отчетов в налоговую. Чтобы не получилось, что купил ручки наша организация "Вася", а продала их наша организация "Петя", на которую ручки вообще не приходовались. С этой же целью необходима и обработка Перемещение между складами и организациями. Есть еще второй склад, на котором свои менеджеры и товар туда перекидывается по мере надобности. Каждый раз при приходе сразу рассчитывать что куда и кому приходовать не удобно, теряется оперативность. Да и не угадаешь. Структура бызы долго обсуждалась с руководством. Хотят, чтобы было не как "правильно", а как удобно. ![]() Добавлено через 2 минуты Dethmontt, спасибо за подсказку, буду пробовать
0
|
||
|
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
|
||||
| 14.10.2013, 14:05 | ||||
. Необходимость в упр.учете есть. Это ПКО, не попадающий в бухню
1. К заказу, который двигает регистр "резерв", присобачить акцепт отгрузки. Можно просто галочкой в заказе. Акцептовнный заказ снимает (не делает) движения по резерву и списывает со склада по любой организации. Не списанный резерв списывает РН, одновременно списывая штатно со склада по любой организации. 2. При "красной" отгрузке со второго (пустого) склада автоматом генерится док.перемещение. Я бы так сделал. 3. Периодически обработкой утрясать остатки по организациям, создавая пары Расход-Приход в качестве купли-продажи. . Добавлено через 1 минуту купля-продажа, кстати, автоматически генерит перераспределение прибыли между организациями. Собственно, это цель всех российских холдингов. Добавлено через 2 минуты
1
|
||||
|
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 38
|
||
| 14.10.2013, 15:16 [ТС] | ||
|
Dethmontt,
Ваш код помог. Спасибо. Добавлено через 4 минуты duk337, Пока обработку я закончила, так как было задумано заранее. Но все же спасибо за совет и детальное объяснение. Так конечно намного логичнее и правильнее. Попробую предложит это шефам. Возможно согласятся. Тему можно считать закрытой.
0
|
||
|
Модератор
|
||
| 14.10.2013, 21:40 | ||
|
0
|
||
| 14.10.2013, 21:40 | |
|
Помогаю со студенческими работами здесь
15
Создание исполняемого файла на основе пакетного файла и копируемых им файлов Нужно написать программу для ввода ланных и печати документов
Фильтр ввода без обработки событий в code behind Написать программу для ввода, обработки и печати матрицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|