|   |   | 
| 
 | Дополнительные данные ↓ (Волшебник 09.10.2023 09:29) | ☑ | ||
|---|---|---|---|---|
| 0
    
        A1nurich 06.10.23✎ 11:56 | Для Каждого Стр из СсылкаНаОбъект Цикл	
	
ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Директор"); 																					  
ОбластьШапкиДанных.Параметры.Пункт0_4 = Стр.Контрагент.ДополнительныеРеквизиты.Найти(ДопСвойство).значение; 
КонецЦикла;При помощи этого кода пытаюсь достать из доп данных "Директора", где СсылкаНаОбъект - это ссылка на партнеров, с него нужно ссылаться к контрагенту и от туда уже достаем директора, но выдает такую ошибку: Итератор для значения не определен
 {ВнешняяОбработка.ДоговорПоставкоДем.МодульОбъекта(81)}:Для Каждого Стр из СсылкаНаОбъект Цикл {ВнешняяОбработка.ДоговорПоставкоДем.МодульОбъекта(38)}:УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( {ВнешняяОбработка.ДоговорПоставкоДем.Форма.ФормаНастроек.Форма(61)}:ОбработкаОбъект.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода, ПараметрыПечати); {ВнешняяОбработка.ДоговорПоставкоДем.Форма.ФормаНастроек.Форма(42)}:МассивПечатныхФорм = ПечатьНаСервере(ОбъектыПечати, СтркутураДанных); | |||
| 1
    
        Волшебник 06.10.23✎ 11:57 | 
        Вам надо проверить тип переменной СсылкаНаОбъект 
 Цикл "Для Каждого" можно применять только к коллекциям. | |||
| 2
    
        Donkey_hot 06.10.23✎ 12:35 | 
        (0) Вам вчера написали метод из БСП, в котором есть всего два параметра. Первый - сама ссылка на контрагента, второй - доп.свойство, которое вы тут худо-бедно находите. В чем проблема?     | |||
| 3
    
        A1nurich 06.10.23✎ 12:36 | 
        (2) Вчера наткнулся на этот метод, так как он легче, с вчерашним методом пробовал, но так и не получилось получить нужные данные     | |||
| 4
    
        Donkey_hot 06.10.23✎ 12:44 | 
        (3) Похоже, вам отладчик запустить сложнее, чем создать 100500 тем на форуме.
 ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Директор");
Директор = УправлениеСвойствами.ЗначениеРеквизита(Стр.Контрагент, ДопСвойство);Что конкретно тут не работает? (вопрос правильности поиска по наименованию пока опустим) | |||
| 5
    
        A1nurich 06.10.23✎ 12:49 | 
        (4) Как раз таки отладчиком и работал, но там не было данных, которые мне нужны.
 Тут проблема в том, что я пока не могу додуматься, что использовать в цикле, как коллекцию, от куда будут вытягиваться нужные данные. Нужно как-то туда справочник контрагента закинуть | |||
| 6
    
        Волшебник 06.10.23✎ 12:52 | 
        (5) Старайтесь...     | |||
| 7
    
        A1nurich 06.10.23✎ 12:55 | 
        (6) Да я итак стараюсь... Пытаюсь каждый день что-то понимать, так как новичек в 1Ске, пока что не всё понятно...     | |||
| 8
    
        Волшебник 06.10.23✎ 12:59 | 
        (7) Нет, мало стараетесь. До сих пор не поняли понятие "тип". Не различаете тип реквизита и тип переменной. Пытаетесь работать с переменными, не обращая внимания на их тип.     | |||
| 9
    
        A1nurich 06.10.23✎ 13:00 | 
        (8) Я знаю, что такое тип, а как работать с ними в 1С, да, пока проблемы есть     | |||
| 10
    
        Donkey_hot 06.10.23✎ 13:07 | 
        (9) Вы даже не пытаетесь воспользоваться тем, что Вам советуют. К сожалению, создать рабочий код путем простого угадывания будет очень непросто.     | |||
| 11
    
        A1nurich 06.10.23✎ 13:09 | 
        (10) Всё, что мне советовали, я сидел, изучал, пытался, читал и смотрел видеоролики по этим темам. Везде разные методы и тд, в итоге я не смог этим правильно воспользоваться, поэтому принял решение найти другой метод решения проблемы     | |||
| 12
    
        Волшебник 06.10.23✎ 13:15 | 
        (11) Метод угадывания программного кода?     | |||
| 13
    
        A1nurich 06.10.23✎ 13:18 | 
        (12) Почему угадывания то ? Я же не ставлю наугад всё, что попала, а то, что по моему мнению может подойти     | |||
| 14
    
        Donkey_hot 06.10.23✎ 13:20 | 
        (11) Серьезно? Вам в (4) дали готовый код из 2 (двух, Карл!!!) строк. Скопируйте себе, запустите отладку, проанализируйте а) заполняется ли значение переменной ДопСвойство б) заполняется ли значение переменной Директор.     | |||
| 15
    
        Волшебник 06.10.23✎ 13:21 | 
        (13) Да-да, Вы ставите наугад то, что по Вашему мнению может подойти. Это и есть угадывание.     | |||
| 16
    
        Stepashkin 06.10.23✎ 13:21 | 
        (4) Пользоваться отладчиком - еще то искусство. Но я знаю одного человека, который вместо отладчика вставляет кучу сообщений и по ним ориентируется. Я когда узнал, молча ушел, а потом долго ржал).     | |||
| 17
    
        Волшебник 06.10.23✎ 13:24 | 
        (16) На самом деле вполне рабочий метод, если отладчика нет или идёт переброска между языками. Например, такое бывает при взаимодействии клиентского JavaScript и серверного PHP. Ну какой там может быть общий отладчик?
 Скажем так. Отладчик есть не всегда, а вывод сообщений (или другой способ подачи признака выполнения программного кода) есть всегда. | |||
| 18
    
        Волшебник 06.10.23✎ 13:24 | 
        на продакшене могут не поставить флаг -debug на сервере, значит отладки на проде не будет.     | |||
| 19
    
        Stepashkin 06.10.23✎ 13:25 | 
        (17) Во. Этого я еще не знал. Благодарю.     | |||
| 20
    
        Donkey_hot 06.10.23✎ 13:27 | 
        (17) Это да, даже термин слышал "отладочная печать". Но к кейсу ТС-а это, конечно, не относится.     | |||
| 21
    
        A1nurich 06.10.23✎ 13:27 | 
        (14) Там также используется цикл "Для каждого", я пытался, но я же говорю, что проблема в том, что я понимаю, что можно вставить туда...     | |||
| 22
    
        Donkey_hot 06.10.23✎ 13:28 | 
        (21) в (4) используется цикл Для Каждого?     | |||
| 23
    
        A1nurich 06.10.23✎ 13:29 | 
        (22) Стр.Контрагент, ну вот же, вы использовали Стр     | |||
| 24
    
        Stepashkin 06.10.23✎ 13:30 | 
        Стр - Строка     | |||
| 25
    
        Donkey_hot 06.10.23✎ 13:30 | 
        (23) Я уже просто в миллионе ваших тем потерял, откуда у вас что берется, где партнер, где контрагент. Можете внятно описать, в какой форме пытаетесь получить директора, какие у нее есть реквизиты, табличные части?     | |||
| 26
    
        A1nurich 06.10.23✎ 13:32 | 
        (25) В контрагенте есть дополнительные вкладки, в одной из них храниться директор     | |||
| 27
    
        Donkey_hot 06.10.23✎ 13:34 | 
        (26) Это понятно, дополнительный реквизит. А получить вы его где пытаетесь?     | |||
| 28
    
        A1nurich 06.10.23✎ 13:34 | 
        (26) Этих вкладов нету в самом справочнике, вот я ищу методы, как к ним ссылаться можно     | |||
| 29
    
        A1nurich 06.10.23✎ 13:35 | 
        (27) есть справочник, где есть доп данные, а также регистр сведений     | |||
| 30
    
        Donkey_hot 06.10.23✎ 13:35 | 
        (28) см. (4)     | |||
| 31
    
        Donkey_hot 06.10.23✎ 13:36 | 
        (29) Круто. Где пытаетесь получить директора?     | |||
| 32
    
        A1nurich 06.10.23✎ 13:36 | 
        (27) Я вот у себя в базе с внешней обработки нашел (0), где также достали доп данные     | |||
| 33
    
        A1nurich 06.10.23✎ 13:37 | 
        (30) Да я уже смотрел много раз, ЗначениеРеквизита - его нету нигде     | |||
| 34
    
        Donkey_hot 06.10.23✎ 13:38 | 
        (33) Ладно, я крайний раз задам вопрос: где пытаетесь получить директора? Не хотите, чтобы Вам помогли - дело Ваше. Можете продолжать выуживать рандомные фрагменты из рандомных внешних обработок.     | |||
| 35
    
        A1nurich 06.10.23✎ 13:40 | 
        (34) В контрагенте есть табличная часть, где написано доп данные, я думаю, что данные директора находятся там, вот я и пытаюсь при помощи кода (0) попробовать его от туда вытащить     | |||
| 36
    
        A1nurich 06.10.23✎ 13:42 | 
        Всё, я разобрался...
 В коде (0) просто убрал цикл и ссылался напрямую к контрагенту, всё получилось | |||
| 37
    
        Donkey_hot 06.10.23✎ 13:43 | 
        (35) Ок, давайте остановимся на том, что из нас двоих что-то не так именно со мной. Забудьте про (4).     | |||
| 38
    
        A1nurich 06.10.23✎ 13:58 | 
        (37) Скорее всего я просто неправильно объяснил, что мне нужно было получить     | |||
| 39
    
        Stepashkin 06.10.23✎ 13:59 | 
        (38) +++++++     | |||
| 40
    
        Donkey_hot 06.10.23✎ 14:41 | 
        (36) 
 На самом деле, не получилось ничего. Чисто ради пищи для размышлений Вам (не уверен, что она необходима, но все-таки): а) Что произойдет при выполнении кода из (0), если в системе существуют доп.реквизиты с наименованием "Директор" у нескольких сущностей (например, помимо контрагентов, еще у организаций, складов и т.п.)? б) Что произойдет при выполнении кода из (0), если у вашего контрагента доп.реквизит "директор" не указан? | |||
| 41
    
        Valdis2007 06.10.23✎ 15:12 | 
        (16) так это еще более менее удобно...а вот разбирать отладочный дамп памяти, менее занятно))     | |||
| 42
    
        A1nurich 07.10.23✎ 12:05 | 
        (40) а) я ищу из доп данных справочника контрагентов.
 б) просто будет пустая строка, а так мне сказали, что везде директор указан. | |||
| 43
    
        Волшебник 07.10.23✎ 12:08 | 
        (42) >> мне сказали, что везде директор указан.
 "Все врут." (с) Доктор Хаус | |||
| 44
    
        АгентБезопасной Нацио 07.10.23✎ 12:33 | 
        (4) "Миста-лучший отладчик!"©     | |||
| 45
    
        АгентБезопасной Нацио 07.10.23✎ 12:37 | 
        (16) это еще что! Вот когда-то давно (еще на клюшках работали) я ушел из одной конторы,  на мое место взяли "опытную программистку с 4-летним опытом", так она вообще не знала, что такое отладчик. Я понимаю, что тут тоже можно процитировать доктора Хауса, но "фак остается факом..."©     | |||
| 46
    
        Donkey_hot 07.10.23✎ 13:19 | 
        (42) Пока оба раза не туда.     | |||
| 47
    
        Valdis2007 07.10.23✎ 13:57 | 
        (45) так она вообще не знала, что такое отладчик...Возможно она настолько идеально писала код, что отладчик ей был просто не нужен)))     | |||
| 48
    
        Stepashkin 09.10.23✎ 09:15 | 
        (47) Таких людей не бывает.     | |||
| 49
    
        Stepashkin 09.10.23✎ 09:16 | 
        (45) Это была программистка, за которую за красивые глазки кодили другие программисты?     | |||
| 50
    
        АгентБезопасной Нацио 09.10.23✎ 10:18 | 
        (47) увы и ах, для отладки она писала логи в файл.
 (49) Я ее видел только издалека, не заметил особой красивости (впрочем, "на вкус и цвет..."©) в общем, ее уволили месяца через два-три... Сломать она ничего не успела. | |||
| 51
    
        Valdis2007 09.10.23✎ 11:04 | 
        (50) для отладки она писала логи в файл....Это был суровый  "олдскульный" подход)))     | |||
| 52
    
        Stepashkin 09.10.23✎ 12:43 | 
        (50) У меня такая пришла одна кваказябра, за 2 недели успеха натворить дел. Директор ее уволил слава Богу.     | |||
| 53
    
        maxab72 09.10.23✎ 15:31 | 
        Журнал регистрации иногда удобен для собирания отладочной информации. Как-то пытался разобраться, почему вручную запущенный обмен с сайтом идет без проблем, а по регламентному заданию нет. Навставлял строк в обработку обмена, и получил наутро, что 1с не может прочитать файл с ответом сервера сайта (что логин прошел, и что можно отправлять файлы). - сисадмины что-то запретили лишнее. Дальше уже было все элементарно - скинул сисадминам информацию, и они разбирались...     | |||
| 54
    
        maxab72 09.10.23✎ 15:43 | 
        (52) бывает хуже. меня как-то замещала девочка из холдинга, она за 2 недели моего отпуска разбила нам весь чайный сервиз... на 12 персон.     | |||
| 55
    
        Stepashkin 10.10.23✎ 15:32 | 
        (54) =-)     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |