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

Хранилище

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

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



> Определение партии приходной накладной 2 страниц V   1 2 >          
GoDammeD Подменю пользователя
сообщение 16.10.12, 16:03
Сообщение #1

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

Доброго всем времени суток=)
Появилась необходимость заполнения поля "Партия" Расходная накладной, созданной на основании Приходной накладной, но как установить нужную партию понятия не имею.
Буду благодарен за любую помощь в решении задачи.

P.S.
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)


Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

alex040269 Подменю пользователя
сообщение 16.10.12, 16:12
Сообщение #2

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Если в РН будет та же партия, что и в ПН, то все просто. В тех строках, где присваивается ТМЦ , присвоить и партию. Ну а если нет, то алгоритмы расчета у бухов. Какой вариант парионного учета?

ЗЫ.
Конфа доработана? В стандартной нельзя создать РН на основании ПН!


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Cthulhu Подменю пользователя
сообщение 16.10.12, 17:10
Сообщение #3

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

282-го под рукой нет, но в 538-м партий как таковых не наблюдается совсем.

alex040269 Подменю пользователя
сообщение 16.10.12, 18:45
Сообщение #4

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

538 - это не российский случайно?


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

mister-x Подменю пользователя
сообщение 16.10.12, 19:33
Сообщение #5

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

Цитата(Cthulhu @ 16.10.12, 18:10) *
но в 538-м партий как таковых не наблюдается совсем.

294 останній реліз
поправка вже 295 http://pro1c.org.ua/index.php?s=&showt...ost&p=58516

Сообщение отредактировал mister-x - 16.10.12, 19:36

igmig65 Подменю пользователя
сообщение 16.10.12, 20:36
Сообщение #6

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 613
Из: Донецкая обл
Спасибо сказали: 168 раз
Рейтинг: 140.9

Цитата(GoDammeD @ 16.10.12, 17:03) *
Появилась необходимость заполнения поля "Партия" Расходная накладной

Телепатирую: изменился вариант списания ТМЦ, возможно был ФИФО, теперь сделали по партиям. Соответственно партии приходится выбирать ручками. Так потому что такой метод сами выбрали.
А так как документ доработан, на основании ПН, то это недоработана процедура ВводНаОсновании() самой РН, где нужно дописать присваивание партии, созданной этой ПН(основанием).

Сообщение отредактировал igmig65 - 16.10.12, 20:39

GoDammeD Подменю пользователя
сообщение 16.10.12, 23:41
Сообщение #7

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

Цитата(igmig65 @ 16.10.12, 20:36) *
где нужно дописать присваивание партии, созданной этой ПН(основанием).

Вы правы, именно это и нужно, но что дописывать - без понятия.



Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

Ardi Подменю пользователя
сообщение 16.10.12, 23:44
Сообщение #8

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

ВыбратьЭлементыПоРеквизиту(<?>,,,)
Синтаксис:
ВыбратьЭлементыПоРеквизиту(<ИмяРеквизита>,<Значение>,<РежимИерархии>,<РежимГрупп>)
Назначение:
Открыть выборку элементов справочника по значению реквизита.
Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один элемент;
0 - если действие не выполнено или в выборке нет ни одного элемента.
Параметры:
<ИмяРеквизита> - строка с именем реквизита, по которому выполняется выборка;
<Значение> - значение реквизита для выборки;
<РежимИерархии> - как выбирать:
1 - выбирать элементы с учетом иерархии,
0 - выбирать элементы без учета иерархии (необязателен, по умолчанию - 1);
<РежимГрупп> - что выбирать:
1 - выбирать среди групп справочника,
0 - выбирать только среди элементов справочника.
Замечание:
Метод можно использовать только для реквизитов с установленным признаком ''Сортировка''.
Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

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

alex040269 Подменю пользователя
сообщение 17.10.12, 7:00
Сообщение #9

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(GoDammeD @ 17.10.12, 0:41) *
Вы правы, именно это и нужно, но что дописывать - без понятия.

В РН есть процеддура ВВодНаОсновании(???)

В ней есть строка Пока ???.ПолучитьСтроку() = 1 Цикл
ниже ТМЦ = ???.ТМЦ;
нужно добавить строку
Партия = ???.Партия;

ЗЫ.

обратитесь к специалисту.



Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

GoDammeD Подменю пользователя
сообщение 17.10.12, 14:52
Сообщение #10

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

Цитата(alex040269 @ 17.10.12, 8:00) *
В РН есть процеддура ВВодНаОсновании(???)

Да, есть, её и использую

Цитата(alex040269 @ 17.10.12, 8:00) *
Партия = ???.Партия;

Хотел так сделать, но к сожалению в приходной накладной нету реквизита "Партия", в РН этот реквизит ссылается на "Справочник.Партии", кстати, в котором есть реквизит "Докуент", где храниться номер Приходной накладной, возможно стоит это использовать? Но каким именно методом к сожалению не знаю...

Цитата(Ardi @ 17.10.12, 0:44) *
ВыбратьЭлементыПоРеквизиту(<?>,,,)


Я так понимаю использовать её нужно следующим образом:
Партия.ВыбратьЭлементПоРеквизиту("Документ",ДокОсн.НомерПриходнойНакладной,1,0)



Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

Ardi Подменю пользователя
сообщение 17.10.12, 17:39
Сообщение #11

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Потом перебрать полученые записи и найти партию с текущим товаром.
Полученую партию вставить в реализацию.

И так по всем строкам.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

igmig65 Подменю пользователя
сообщение 17.10.12, 23:43
Сообщение #12

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 613
Из: Донецкая обл
Спасибо сказали: 168 раз
Рейтинг: 140.9

Цитата(GoDammeD @ 17.10.12, 15:52) *
Партия.ВыбратьЭлементПоРеквизиту("Документ",ДокОсн.НомерПриходнойНакладной,1,0)

Реквизит "Документ" это именно документ, соответственно фильтр должен быть по документу, в вашем случае ДокОсн, тогда
Партия.ВыбратьЭлементПоРеквизиту("Документ",ДокОсн,1,0);

предварительно создав Партия, и применив Партия.ИспользоватьВладельца(ДокОсн.ТМЦ)

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

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

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

Цитата(igmig65 @ 18.10.12, 0:43) *
Партия.ВыбратьЭлементПоРеквизиту("Документ",ДокОсн,1,0);


предварительно создав Партия, и применив Партия.ИспользоватьВладельца(ДокОсн.ТМЦ)


Выдает следующую ошибку:
ПартияВыбор.ВыбратьЭлементПоРеквизиту("Док",Док,1,0);

{Документ.РасходнаяНакладная.Форма.Модуль(430)}: Поле агрегатного объекта не обнаружено (ВыбратьЭлементПоРеквизиту)

Сообщение отредактировал MATEVI - 18.10.12, 15:13


Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

mister-x Подменю пользователя
сообщение 18.10.12, 15:25
Сообщение #14

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

такое есть
ПартияВыбор = СоздатьОбъект("Справочник.ИмяСправочника");
?

GoDammeD Подменю пользователя
сообщение 18.10.12, 15:58
Сообщение #15

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

Да, есть:
ПартияВыбор = СоздатьОбъект("Справочник.Партии");


Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

Cthulhu Подменю пользователя
сообщение 18.10.12, 16:51
Сообщение #16

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Цитата(GoDammeD @ 18.10.12, 15:09) *
Поле агрегатного объекта не обнаружено (ВыбратьЭлементПоРеквизиту)

не поверишь. такое в ответ на такой код - у всех бы выдало.
недорого продам синтакс-помощник. ну или научу нажимать клавиши Ctrl+F1, в том числе ключевых словах встроенного языка 1с.

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

GoDammeD Подменю пользователя
сообщение 19.10.12, 15:37
Сообщение #17

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

Спасибо за совет=)
В Синтаксис-помощнике нашел ВыбратьЭлементыПоРеквизиту(<?>,,,)
Исправил ошибку(?) в итоге получился следующий код:

Пока Док.ПолучитьСтроку() = 1 
   Цикл
     ...
     ПартияВыбор = СоздатьОбъект("Справочник.Партии");
     ПартияВыбор.ИспользоватьВладельца(Док.ТМЦ);
     Партия = ПартияВыбор.ВыбратьЭлементыПоРеквизиту("Док",Док,1,0);
    КонецЦикла;


Ну и как я понимаю это естественно, что у меня ничего не присваивается happy.gif


Signature
Платформа: 1С Предприятие 7.7
Конфигурация: "Бухгалтерский учёт" для Украины (7.70.282)

alex040269 Подменю пользователя
сообщение 19.10.12, 15:49
Сообщение #18

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

ПартияВыбор.ВыбратьЭлементыПоРеквизиту("Док",Док,1,0);
Пока ПартияВыбор.ПолучитьЭлемент() = 1 Цикл
.....
КонецЦикла;


ПартияВыбор.ВыбратьЭлементыПоРеквизиту("Док",Док,1,0) возвращает 0 или 1.

Сообщение отредактировал alex040269 - 19.10.12, 15:50


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

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

igmig65 Подменю пользователя
сообщение 20.10.12, 15:42
Сообщение #19

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 613
Из: Донецкая обл
Спасибо сказали: 168 раз
Рейтинг: 140.9

Непонимаю зачем вообще это ВыбратьЭлементыПоРеквизиту(...). ПН является партеобразующим документом, тоесть для 1 ТМЦ по 1 ПН обычно только 1 элемент должен быть. Вот и используйте цепочку:
1. Нужно ограничить по конкретному ТМЦ: ПартияВыбор.ИспользоватьВладельца(ДокОсн.ТМЦ)
2. Ищем и присваиваем, если находим:
Если ПартияВыбор.НайтиПоРеквизиту("Документ",ДокОсн,0)=1
     Партия = ПартияВыбор.ТекущийЭлемент();

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

Cthulhu Подменю пользователя
сообщение 20.10.12, 16:26
Сообщение #20

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0

Цитата(igmig65 @ 20.10.12, 15:42) *
ПН является партеобразующим документом, тоесть ...

Если ПН возвратная, то процитированное - неверно.

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


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

 

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