Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Передача параметра в документ 2 страниц V   1 2 >          
Batchir Подменю пользователя
сообщение 31.07.09, 16:30
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

УТ 2.3.3.4
Вобщем стоит такая задача:

Создается прогаммно документ перемещения
ДокПеремещения = Документы.ПеремещениеТоваров.СоздатьДокумент();

Потом идет заполнение шапки и табличной части, ну и собственно проведение.

ДокПеремещения.Записать(РежимЗаписиДокумента.Проведение);


Проблема заключаеься в том что это предварительное проведение и самой партии ещё нет , она появляется чуть позже (т.е. товар заприходован, но не в разрезе серий, перемещение делается в разрезе серий и через некотрое время перепроводится документ поступления в разрезе серий). Так вот проведение перемещения выдает пугающие пользователя сообщения о нехватке партии.

Необходимо каким-то образом передать временный параметр в документ, что бы не выдавать это сообщение, при восстановленни партий должно ругаться идти стандартным образом.

logist Подменю пользователя
сообщение 31.07.09, 17:40
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Batchir @ 31.07.09, 18:30) *
Необходимо каким-то образом передать временный параметр в документ, что бы не выдавать это сообщение, при восстановленни партий должно ругаться идти стандартным образом.


Добавить реквизит с галкой в форме "ПроводитьПартии"
В модуле ОбработкаПроведения()
УправлениеЗапасами.ДобавитьСтрокуВДеревоПолейЗапросаПоШапке(ДеревоПолейЗапросаПоШапке, "УчетнаяПолитика",  "ВестиПартионныйУчетПоСкладам",               "ВестиПартионныйУчетПоСкладам");

заменить на

Если ПроводитьПартии Тогда
УправлениеЗапасами.ДобавитьСтрокуВДеревоПолейЗапросаПоШапке(ДеревоПолейЗапросаПоШапке, "УчетнаяПолитика",  "ВестиПартионныйУчетПоСкладам",               "ВестиПартионныйУчетПоСкладам");
Иначе
УправлениеЗапасами.ДобавитьСтрокуВДеревоПолейЗапросаПоШапке(ДеревоПолейЗапросаПоШапке, "УчетнаяПолитика",  "ВестиПартионныйУчетПоСкладам",               Ложь);
КонецЕсли;


Правда надо как-то удостоверится что когда надо провести по партиям - галка будет действительно включена. Человеческий фактор smile.gif


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Batchir,

Batchir Подменю пользователя
сообщение 31.07.09, 19:04
Сообщение #3

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Дело в том что по партиям нужно проводить, просто чтоб сообщение не выдавалось о не достатке партий (сама процедура выдачи сообщения описана в общем модуле).
Повторюсь документ создается, заполняется и проводится програмно из обработки и именно при таком проведении необходимо не выдавать сообщение.
Если добавить реквизит, то флаг останется стоять и восстановление последовательности не выдаст сообщения.
т.е. нужно каким-то образом передать параметр, который будет действовать только на одно проведение.
Я думаю нужно добавить какую-то глобальную переменную, по умолчанию принимающее значение ЛОЖЬ, в обработке присваивать ей ИСТИНА и в момент выдачи сообщения о не нехватке партии не выдавать сообщений и заново присваивать ей ЛОЖЬ, тогда как бы соблюдается универсальность: всегда когда мне понадобится такой маневр при проведении любого документа нужно присвоить этой переменной значение ИСТИНА.

logist Подменю пользователя
сообщение 31.07.09, 20:25
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Процедура выдачи сообщения которая описана в общем модуле и модуле партионного учета в итоге вызывает Сообщить(), отключить ее, я так понимаю, нельзя.

с глобальной переменной это хорошо, но только лучше что бы по умолчанию она была ИСТИНА, т.е. в процедурах Сообщений результатов проведения партий (их вроде две) в модуле партионного учета, добавить /Если Истина Тогда/ и далее оставить "Сообщить()"
И при необходимости присваивать значение Ложь.

Но все равно не понятно зачем проводить по партиям если результат проведения значения не имеет, и все равно в последствии будет окончательное проведение. Я хотел сказать что галку ставить руками в момент окончательного проведения.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Batchir,

zetovich Подменю пользователя
сообщение 31.07.09, 20:54
Сообщение #5

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

бред....что значит пугающее? темноты боятся?
и ваще с такой постановкой...весь гемор Вам разгребать. Пока не раздуплились с сериями нехер перемещать ваще.
млин, вот кто придумал что пугает?

sergefox Подменю пользователя
сообщение 31.07.09, 22:24
Сообщение #6

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

А обязательно проводить документ, если он будет потом перепроводиться?
Может проще ограничиться РежимЗаписиДокумента.Запись?
Тогда исчезнут все траблы с сообщениями о нехватке.

Batchir Подменю пользователя
сообщение 31.07.09, 22:37
Сообщение #7

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

zetovich, поверь на слово там не бред, там достаточно сложная система приемки товара, чтобы её описать мне понадобятся недели, проект разрабатывался год, и вот на тестировании (скоро сдача) вылазиет такое неудобство(их на самом деле много, но поднялся вопрос конкретно за это). Вконце концов там всё красиво закрывается и разруливаются все партии, просто в однин момент выдаются сообщения об отсутствии партий, котрые нужно просто не показывать пользователям, чтобы не сбивать с толку.
Если в трех словах: автоматом формируются ночью заказы поставщикам, утром приходят в электронном виде поступления без серий от поставщиков, потом приходят уточняющие поступления с сериями - все автоматически загружается а 1С. В файлах может быть товар с одной серией, а реально приходит товар и в оригинальной накладной другая серия. Разработан сложный механизм контроля приемки и выявления ошибок поставки товара.
Приемщик не может тормозить приемку если по приходной одна серия, а в оригинальной другая. Он принимает так как есть и отправляет на штрихкодирование на другой склад (вот тут и возникает эта ситуация, когда по приходу одна серия а реально перемещается другая и документ ругается на партию), там проходит штрихкодирование и отправляется на основной склад. По завершению приемки ответственный за приемку запускает анализ и автоматическое "разруливание" всей цепочки документов, начиная с заказов аптек кончая поступлением отштрихкодированного товара на склад.

Batchir Подменю пользователя
сообщение 31.07.09, 22:38
Сообщение #8

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Цитата(sergefox @ 31.07.09, 23:24) *
А обязательно проводить документ, если он будет потом перепроводиться?
Может проще ограничиться РежимЗаписиДокумента.Запись?
Тогда исчезнут все траблы с сообщениями о нехватке.

Обязательно, ведь товар должен заприходоваться на склад. Если не проводить документ, то всегда будут ругаться перемещения на недостачу не только партий, но и товара вообще.

Batchir Подменю пользователя
сообщение 31.07.09, 23:07
Сообщение #9

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Цитата(logist @ 31.07.09, 21:25) *
Процедура выдачи сообщения которая описана в общем модуле и модуле партионного учета в итоге вызывает Сообщить(), отключить ее, я так понимаю, нельзя.

с глобальной переменной это хорошо, но только лучше что бы по умолчанию она была ИСТИНА, т.е. в процедурах Сообщений результатов проведения партий (их вроде две) в модуле партионного учета, добавить /Если Истина Тогда/ и далее оставить "Сообщить()"
И при необходимости присваивать значение Ложь.

Но все равно не понятно зачем проводить по партиям если результат проведения значения не имеет, и все равно в последствии будет окончательное проведение. Я хотел сказать что галку ставить руками в момент окончательного проведения.


Ну поповду ИСТИНА-ЛОЖЬ - мы об одном и том же говорим

А по поводу галки - руками ничего не делается. Ввод документов осуществляется программно из специальных АРМов, по этому глобальная переменная - я думаю это как раз моё решение проблемы.

agav Подменю пользователя
сообщение 31.07.09, 23:34
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 19
Из: Киев
Спасибо сказали: 2 раз
Рейтинг: 0

А нельзя ли отказаться от проведения по партиям при проведении документов, а запускать функционал обработки "проведение по партиям" каким-нить регламентным заданием раз в день?

logist Подменю пользователя
сообщение 01.08.09, 7:59
Сообщение #11

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Batchir @ 01.08.09, 0:37) *
В файлах может быть товар с одной серией, а реально приходит товар и в оригинальной накладной другая серия. Разработан сложный механизм контроля приемки и выявления ошибок поставки товара.

А почему Вы не хотите использовать документ "Корректировка серий товаров"? Если механизм предполагает контроль, то в таком случае будет фиксация ошибок и ненужно перепроводить документы партий


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Batchir,

Batchir Подменю пользователя
сообщение 01.08.09, 10:18
Сообщение #12

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Цитата(logist @ 01.08.09, 8:59) *
А почему Вы не хотите использовать документ "Корректировка серий товаров"? Если механизм предполагает контроль, то в таком случае будет фиксация ошибок и ненужно перепроводить документы партий

Обязательное условие, документ поступления в конечном виде должен соответствовать оригинальной бумажной накладной.

Цитата(agav @ 01.08.09, 0:34) *
А нельзя ли отказаться от проведения по партиям при проведении документов, а запускать функционал обработки "проведение по партиям" каким-нить регламентным заданием раз в день?

Всё это и так делается (в фоновом режиме идет восстановление последовательности партий), но нужны оперативные данные по партиям по всей цепочке приемки.

хакерок Подменю пользователя
сообщение 01.08.09, 12:10
Сообщение #13

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

помоему нужно разобраться от куда выдаёться сообщение а затем что сделать чтоб это условие не проверялось.

zetovich Подменю пользователя
сообщение 01.08.09, 12:18
Сообщение #14

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

все равно не пойму...ну ругается на парти, ну ладно.
главное что по ОстаткамТоваров все нормальною....провелось....и ладно....потом уже разрулят партии.

logist Подменю пользователя
сообщение 01.08.09, 13:01
Сообщение #15

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(хакерок @ 01.08.09, 14:10) *
помоему нужно разобраться от куда выдаёться сообщение а затем что сделать чтоб это условие не проверялось.

Уже разобрались и решили что делать (читайте выше).

Но я считаю, что отключение сообщения это не выход, точнее не совсем тот выход из ситуации.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Batchir Подменю пользователя
сообщение 01.08.09, 13:17
Сообщение #16

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Цитата(logist @ 01.08.09, 14:01) *
Уже разобрались и решили что делать (читайте выше).
Но я считаю, что отключение сообщения это не выход, точнее не совсем тот выход из ситуации.

Для меня это как раз выход, столкнулся со следующим: необходимо передать значение глабальной переменной на сервер, т.е. объявить её так, что бы она была доступной на сервере предприятия

Batchir Подменю пользователя
сообщение 01.08.09, 13:18
Сообщение #17

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Цитата(zetovich @ 01.08.09, 13:18) *
все равно не пойму...ну ругается на парти, ну ладно.
главное что по ОстаткамТоваров все нормальною....провелось....и ладно....потом уже разрулят партии.

Ну не нужно человеку принимающему товар на склад эти сообщения, ему и так "своих" хватает, все лишние нужно отсекать.

logist Подменю пользователя
сообщение 01.08.09, 14:22
Сообщение #18

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Batchir @ 01.08.09, 15:17) *
Для меня это как раз выход, столкнулся со следующим: необходимо передать значение глабальной переменной на сервер, т.е. объявить её так, что бы она была доступной на сервере предприятия


глЗначениеПеременнойУстановить(Имя, Значение)


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Batchir Подменю пользователя
сообщение 01.08.09, 14:25
Сообщение #19

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0

Цитата(logist @ 01.08.09, 15:22) *
глЗначениеПеременнойУстановить(Имя, Значение)

Пытался, но почему то с первого раза не пошло, сейчас ещё раз попробую, если не получится то наверно через константу буду пробывать

Batchir Подменю пользователя
сообщение 01.08.09, 14:30
Сообщение #20

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1427 раз
Рейтинг: 0



Попытка
Попытка
а1сВыводитьСообщенияОНедостачеПартий = глЗначениеПеременной("а1сВыводитьСообщенияОНедостачеПартий");
Исключение
глЗначениеПеременнойУстановить("а1сВыводитьСообщенияОНедостачеПартий",Истина);
а1сВыводитьСообщенияОНедостачеПартий = глЗначениеПеременной("а1сВыводитьСообщенияОНедостачеПартий");
КонецПопытки;
Исключение
Сообщить("Ошибка")
КонецПопытки;



Такой код на сервере предприятия выдает "Ошибка"

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 13.05.24, 5:09
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!