Как сослаться на строку документа из другого документа? #295147


#0 by es3000
Предполагается создать документ "Заявка", строки которого могут редактироваться другим докумнетом "Корректировка заявки". Например докунентом "Корректировка заявки" можно изменить количество в строке исходного докумнета. Как это сделать в 1С? В типовых есть документы "строка авансового отчета", "строка выписка банка". То есть там строка документа как отдельный документ. По другому никак?
#1 by Зарбазан
Сделать ссылку на строку - никак. Можно сделать ссылку на уникальный идентификатор строки (вручную задавать, ессно).. Или на номер строки, но надо продумать случаи вставки строки, сортировки, изменения порядка строк и т.д.
#2 by Михей
Ты одним документом хочешь менять строки другого документа? ИМХО изначально мертвая идея. Лучше другим документом менять состояние регистров.
#3 by Программист 484
Нууу например 2 реквизита 1 - документ 2- номер строки
#4 by es3000
Менять-то наверно действительно лучше регистры. Тогда придется старые движения отменять, а новые писать. Получается делать это надо как-то так, чтбы потом было понятно движения по какой строке отменились и какие записались новые.
#5 by es3000
Номер строки в исходном док-те может поменяться
#6 by Программист 484
Тогда смотри
#7 by es3000
А если каждую строку делать отдельным доком? Ну как я уже говорил типа "строка выписки банка"?
#8 by Программист 484
Тогда можно
#9 by es3000
Конечно так не очень удобно, но в 1С-ке видимо по-другому не получится
#10 by es3000
Появилась новая идея! А что если каждой строке документа ставить в соответсвие элемент справочника? типа как это сделано в типовой торговле для учета партий? Тогда этот элемент справочника и будет ссылкой на строку документа. Но работы много: надо отслеживать изменения исходного документа, пометку на удалние и т.д. Что скажете?
#11 by mih_io
Честно говоря совсем не понял, зачем именно жесткая привязка к номеру строки в исходном документе сам идеально предложил. у нас именно так и работает. на регистрах. один документ "заявка", другой "крректировка". который старые движения отменяет, новые, как нам надо, добавляет. все отлично работает.
#12 by DrZombi
А ситуации с не правильной корректировкой есть?
#13 by es3000
Привязка нужна не к номеру строки, а к самой строке. Например такая ситуация: 1) Ввели исходный документ с 2-мя строками 2) Ввели корректировку 2-й строки 3) Открываем исходный документ и удаляем 2-ю строку. 4) Добавляем в исходный новую строку, она становится 2-ой. 4) Перепроводим все документы. В вашем случае документ корректировки нормально перепроведется. А хотелось бы чтобы выдалось сообщение типа "строка заявки не найдена, невозможно провести"
#14 by mih_io
имеется ввиду если пользователь неправильную ввел циферку ? а потом истерично вопит почему здесь не та циферка ? или когда "заявке" задним числом меняют цифры ? да, такое может быть :)
#15 by DrZombi
По такой цепочке у тебя получается не два документа, а документ и обработка документа :)
#16 by DrZombi
Ага?
#17 by DrZombi
Тоже этого боюсь, хотя это уже будет их проблема :) Нефиг лесть в откорректируемый док. или корректировку делать неправильную :)
#18 by mih_io
почему проведется ? никто не мешает в корректировке сделать проверку остатка в регистре на начало проведения документа. а вообще эта ситуация классическая, больше организационный вопрос.
#19 by mih_io
да, абсолютно прав, первое время, по неопытности, будут парить. Потом поймут как и чего ) конечно программисту от этого в первое время не легче )
#20 by mih_io
ну если хочешь, можно извращнуться, сделать один реквизит в документе заявки, флажок так сказать. И если была сделанна коррекция на данную заявку, то флажок делаешь равный единичке. И при открытии данной заявки включаешь режим только на просмотр. Вполне легко и логично. у нас такого нет. Нет нужны. так все ок )
#21 by es3000
а если чисто случайно остатки совпадают? тогда корректировка проведется. Хотелось бы все-таки, чтобы корректировка понимала, что она корректирует именно конкретную строку. Для этого я думаю есть три выхода: 1) самому формировать уникальный идентификатор строки заявки 2) формировать в отдельном справочнике запись для каждой строки заявки (как в партиях в торговле) 3) делать заявку без табличной части, а просто заявка на один товар - это отдельный документ Возиться только неохота :( Какой вариант более приемлем?
#22 by Rovan
в такой ситации документ должент отменять проводки всех последующих по иерархии с некоторой блокировкой, а лучше вообще удалять их...зачем они теперь если корректируется САМА базовая заявка ? а ЛУЧШЕ можно вообще не давать корректировать предыдущие заявки и корректировки - либо последнюю изменяйте либо делайте новую
#23 by Rovan
корректировка должна изменять не строку а остатки ТМЦ на регистре "заявки" *** иначе будет что 1 сотрудник сделал заявку а 2й корретировку а 3й еще одну и потом концов не надешь
#24 by mih_io
как интересно они могут чисто случайно совпать если у тебя регистр заявки имеет измерения: Товар - по какому товару заявка Клиент - кто заказывал ДокументЗаказа - реквизит с типом значения "Заявка" Исключенно в принципе. Мне также непонятно, почему такое мнение что пользователи глупые и обязательно накосячат, если им рассказать, что и как надо делать. В какой последовательности. Что изначальную заявку менять уже нельзя в последствии, только корректировками. Проблем не будет. Пользователь же сам заинтересован, что бы все работало (В теории :) ). это вопрос из серии, вот оприходовали товар, через некоторое время продали, сделали расходник. А потом пользователь взял, ну и убрал приходник задним числом :) как быть ? :) Ну вообщем удачной реализации )
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С